Vertica技术的煤炭企业数据仓库设计与应用
1引言
煤炭企业在改革开放30多年发展过程中,从上世纪80年代前后经历了渗透。膨胀。调整。网络化与集成。信息化五个主要阶段。许多大。中型煤炭企业早已相继建成了企业内部网,并在此基础上建立了电力监测系统。通风安全监测系统。核论文网子秤计量系统。井下设备运行监控系统。选煤厂集控系统以及综合管理等业务系统。然而由于发展阶段不同,需求不同煤炭企业的信息系统大都于不同时期构建,也采用了不同的信息技术,致使存在已建设系统的兼容性相对差。同时由于认识不足,缺乏统一规划和管理等原因,业务数据往往存放并分散在不同的业务环境中,不易统一查询和分析,且由于历史原因,大量的历史数据处于脱机状态,存在丢失的风险。也存在着同一时期的系统由不同的集成厂商开发,风格不一,开发规范不一,对工作人员的专业技能要求较高,业务数据的模式针对事物处理系统而设计,数据的格式和描述方式并不适合非计算机专业人员进行业务上的分析和查询。随着外部环境的快速变化,目前的系统已经不能完全适用需要,数据存储的孤岛及数据分析的滞后性不利于充分发挥数据在煤炭企业的生产。经营。管理中的作用。
因此,建立煤炭企业数据仓库系统既是提高国内煤炭企业的业务支撑能力,丰富企业的业务应用内容,为煤炭企业的科学化管理。数据分析。风险分析和预测提供高科技手段和市场竞争力,准确地把握企业的生产经营状态,实现对整个企业活动有效地管理和决策的需要,也是缩短与国际煤炭企业在生产。运营。管理等方面的差距,确保煤炭企业在国际能源市场占有一席之地,科学健康稳健发展的需要。随着科学技术的进步,现代化的生产和管理在煤矿行业中得到应用,为了更好地满足现代煤矿安全生产和信息管理的要求,本文将利用先进的vertica技术设计煤炭企业的数据仓库。实际上,vertica技术采用低成本。开放的硬件平台,大规模。分布式的部署自服务的数据处理和优化,提供实时敏捷的响应能力,对煤炭企业的数据存储。挖掘及分析等提出了整体解决方案,对推动和促进国内煤炭企业的信息化进程有着重要意义。
2相关技术的简要介绍
Vertica创建于2005年,Vertica成立于2005年,总部位于美国麻萨诸塞州的Billerica,在亚太和欧洲都设有Office。2011年3月被HP公司收购。Vertica是致力于解决当前数据分析平台日益增长的大数据“和实时分析要求所带来的挑战,可以以传统解决方案30百分号的成本,实现50倍-1000倍的性能提高。
(1)Vertica整体架构如图1。
从架构中可以看到,其底层为支持实时分析的高性能列式数据仓库,带有业界最先进的数据仓库优化器引擎,并附带强大的数据压缩,高级分析,弹性扩展以及自定义外部扩展等先进特性,从而为满足未来bigdata带来的业务分析挑战提供了最好的工具。
(2)广泛使用高压缩算法存储数据。根据数据类型,奇偶性和排列顺序,Vertica分析数据仓库采用多种压缩算法以便缩小单列数据所占据的空间。这些压缩算法超过12种。根据样本数据,Vertica会自动选取数据压缩编码来压缩每列的数据。因为同列的数据有相同的数据类型和取值范围,所以采用数据列的数据压缩通常能够提升数据压缩率。以行程长度算法(runlengthencoding)为例,如果数据例中的值已经排好序或数据列中的数据中特殊值比较少(通常与行数相比),那么行程长度算法针对这两种的情形的效率最高。Vertica大量自动化使用压缩技术,即使对比其他使用压缩方式的数据仓库而言,也存在明显的优势。一般情况下数据压缩率可达到8到13倍。而其他数据仓库一般只能压缩在3-5倍左右。
(3)多数据投影存储模式。Vertica数据仓库并没有采用将数据储存在逻辑模式下的基表中,而是物理的将其存储于多个视图中。这种方式被称为数据投影式存储(理念上与物化视图类似)。每一个数据投影包含特定排序方式下表的数据列的一个子集。数据投影中数据行中数据的位置与构成数据投影的表的数据列中的位置是一致的。数据投影也可以包含不同表的数据列,也就是所谓的物理化的连接。为了支持特殊查询,每个数据元素至少被一个数据投影所包含。Vetica能够自动优化不同工作负荷的性能表现。得益于高效压缩率下大量存储空间的节省,Vertica能够保持多个数据投影。这些数据投影由不同的,并且常常是重叠的按照不同排序方式形成的数据列的子集组成这样的机制提高了一大批数据查询的效率,其中包括需要研究性分析的特殊查询。
(4)相互不共享的并行机制Nothing-sharedMPP。Vertica分析数据仓库是一种采用互不共享,大规模的并行处理的数据仓库系统。该系统运行在linux服务器网格上,相互之间通过TCP/IP网络进行通信。每个结点由商用多核处理器组成。每个核心配备的内存在2G到4G之间。储存硬盘能够直接与每个结点相连,或者采用存储域网络(SAN)方式连接。Vertica所有节点完全平等,数据加载可以并发在所有节点同时执行,数据的查询也可以在任意节点发起,并通过任务自动分布发送到其他节点进行执行。Vertica群集具有非常强大和方便的可扩展性,可一键加入和删除节点,新增节点数据同步可通过Local-Segment技术高速进行数据重分布,数据节点变化不影响操作的执行效率。
(5)K级系数安全可用性。Vertica数据仓库维护着多个数据存储投影。它同时可以用于数据冗余备份。这样保证了数据的高可用性。通过采用额外的约束条件,也就是系统保证数据投影被分割存储在不同的结点上,Vertica数据仓库本身实现了智能数据镜像。Vertica将其称之为K级系数安全性(K-safety),K指的是vertica能够容忍的可能发生故障数据结点的个数。Vertcia针对所有的数据投影建立K+1个数据备份,保证这一机制。尽管数据排序可能不同,每个镜像的数据块在不同结点的分布也可能不同,每个镜像包含同样的数据列和分割键值。K级系数安全性保证了对发生数据故障结点上的数据查询能够在其他存活结点上获得。对于多个数据查询,查询计划器可以将额外的工作分配给其他存活结点,使得工作量在所有的存活结点中分配。一旦故障结点恢复正常,Vertca利用其他结点上的数据投影恢复该结点的数据。(6)自动物理数据仓库设计。使用Vertica分析数据仓库,用户只需要指定逻辑模式。一旦逻辑模式指定,Vertica数据仓库设计器DBDesigner自动根据逻辑数据模式。具有代表性的数据和查询样本,产生适当的数据仓库设计,以及数据仓库的空间预算。Vertica不仅可在创建逻辑数据结构的时候进行物理优化设计,而且可在数据仓库运行一段时间后,通过WorkCollecgtor收集数据仓库运行负载数据,提供给WorkloadAnalyzer对数据仓库优化提供自动化建议。从而大大降低DBA管理的成本。
(7)部署的灵活性。Vertica分析数据仓库能够下载并安装在一个linux服务器集上。它也可以通过授权,运行在AmazonElastic云计算平台上(AmazonEC2)。Vertica同样支持虚拟化,能够作为云计算服务的提供者。这使得用户能够快速实现数据仓库,同时不需要用于取得关系数据仓库的硬件和软件的专门预算。这就扩展了数据仓库的应用领域,使得数据仓库技术能够支持理论验证项目,短期分析和需要向用户提供大量数据用于在线分析的季节性软件运营项目或者初创软件运营公司。
(8)强大的库内分析。与传统数据仓库着眼数据处理操作不同,Vertica分析数据仓库更强调在库内实现以往不可能执行的分析任务。Vertica对SQL进行扩展,提供大量时间序列的分析功能,同时还提供模式分析,自动插值计算,统计分析,关系图分析,甚至地理分析处理功能。这些功能将极大减少用户自己开发复杂数据分析的工作,并能很好地完成在大数据量环境下的分析任务。
整体来看,Vertica结合了突出的高性价比,强大的可扩展能力,高性能,内置的数据可靠性以及数据易用性特点,这些特点使Vertica在短短6年时间在各个行业获得大量客户的青睐,包括如Twitter,GroupOn,Comcast,BankofAmerican等大型客户广泛的使用,目前已有超过600个客户在其应用环境中利用Vertica来处理大规模数据和实时数据分析的需要,随着Vertica在新技术环境领域被广泛认可,Vertica与Hadoop,整合及各种云服务上为更多的客户提供了即插即用的数据分析服务。
3Vertica技术的煤炭企业数据仓库设计与应用
3。1系统总体设计要求
总体要求:系统建设符合国家信息化工程相关规定,紧密结合煤炭企业各项业务管理应用实际,贯彻总体规划。顶层设计;功能结构模块布局,符合煤炭企业经营管理需要。先进性要求:采用符合国家电子政务建设标准的体系结构Vertica,应用技术符合国际有关技术标准与技术发展方向,确保系统具有良好的稳定。安全和可扩展性。实用性。易用性要求:满足服务的实用需求为首要目标,选择实用。成熟的Vertica数据仓库技术。安全性要求:采用多级权限管理访问控制,根据不同的权限访问相应内容;对敏感数据信息进行加密保护;提供防病毒。防黑客策略,确保数据不被窃取和篡改;可靠性要求:采取多种技术手段,保证系统运行的稳定可靠。包括数据可靠性。系统稳定性,其中数据可靠性主要体现在网上提交的数据的真实性。数据的一致性。数据处理的事务性等;而系统稳定性体现在软件系统能持续无故障运行。可扩展性要求适应煤炭企业经营管理业务调整要求:采用开放的标准的体系架构,能实现业务。功能。性能方面的简单。方便扩展。性能要求:在Vertica平台。应用系统设计等方面保证系统具备较强的数据处理能力,较快的响应速度,可以满足经营管理者和多业务用户并发访问。标准性。规范性要求:遵循有关的国际标准和国家标准;遵循煤炭企业经营需要的指标体系及代码标准;遵循电子政务建设的有关标准;项目建设和开发遵循软件工程的原理,严格执行软件项目的开发管理要求,符合ISO规范。
3。2系统设计实现路线
3。2。1系统技术方案实现路线
采用集中管理的数据处理架构和数据仓库的数据分析架构进行分层。模块化设计,搭建业务运行支撑框架。即操作型系统和分析型系统同时并存的综合应用框架。
3。2。2煤炭企业系统总体架构设计
数据整合以现有六大系统数据以及原有统计报表系统为主,经过整合后形成数据的大集中“从而便于管理,保障数据进一步加工利用。将集中管理后的煤炭企业经营管理数据进行分析利用,进一步清洗后形成Vertica数据仓库,再进行深化的数据分析与利用。
系统层次结构采用多层结构模型,分为数据层。框架层。业务逻辑层和表示层。表1是各层次的具体描述:
4结论和政策建议
煤炭企业面临的外部环境不断发生迅速的变化,复杂性日益增加,对于经营管理者而言决策质量的要求越来越高,决策时要考虑的方方面面的问题更复杂,决策失误的代价更高。因此作为决策支持的数据分析显得尤为重要,实际上煤炭企业尤其是跨国煤炭企业的数据分析一直是国内外研究的热点方向,但是目前煤炭企业信息化程度总体普遍偏低,不利于煤炭产业的大规模发展。煤炭行业传统的分析技术平台往往使用昂贵。专用的硬件产品,采用集中式的部署模式,数据流程处理复杂,大量使用批模式进行处理,影响缓慢且维护成本高昂。则采用低成本。开放的硬件平台,大规模。分布式的部署自服务的数据处理和优化,提供实时敏捷的响应能力,这为开发新一代的分布式跨国煤炭企业数据仓库设计提供了全新的思路。在分析了Vertica技术等关键技术基本原理基础上,设计了一种Vertica技术的跨国煤炭企业数据仓库,对煤炭企业的数据存储。挖掘及分析等提出了整体解决方案,对推动和促进国内煤炭企业的信息化进程有着重要意义。
Vertica技术的数据仓库一是可以适应数据量和数据复杂程度的增长。对于非结构化数据,设备采样数据,图形数据等被纳入数据源泉有着较好的应对,数据量也随之成倍甚至数十倍的增长。二是Vertica技术可以让处理数据的时间窗口尽量简短。以往存在往往一整个晚上进行批处理而无需考虑提供查询服务,通过Vertica技术逐可以缩短到需要分钟级延迟的分析,即越来越多的准实时分析带来煤炭企业经营管理者更强大的竞争能力。三是可以整整意义克服混合负载和大并发的问题。以往数据分析只需要满足很少的几个高端用户,而随着数据分析的价值被广泛接受,越来越多用户,从煤炭企业的高级分析者,到日常业务经理,甚至是一般操作人员都会需要数据分析提供的业务价值。使用Vertica技术将不用担心这个影响。
Vertica技术的煤炭企业数据仓库设计与应用