![分布式数据库选型论证报告_第1页](http://file4.renrendoc.com/view/443ae37ea96e5ffd9fe87623d559c779/443ae37ea96e5ffd9fe87623d559c7791.gif)
![分布式数据库选型论证报告_第2页](http://file4.renrendoc.com/view/443ae37ea96e5ffd9fe87623d559c779/443ae37ea96e5ffd9fe87623d559c7792.gif)
![分布式数据库选型论证报告_第3页](http://file4.renrendoc.com/view/443ae37ea96e5ffd9fe87623d559c779/443ae37ea96e5ffd9fe87623d559c7793.gif)
![分布式数据库选型论证报告_第4页](http://file4.renrendoc.com/view/443ae37ea96e5ffd9fe87623d559c779/443ae37ea96e5ffd9fe87623d559c7794.gif)
![分布式数据库选型论证报告_第5页](http://file4.renrendoc.com/view/443ae37ea96e5ffd9fe87623d559c779/443ae37ea96e5ffd9fe87623d559c7795.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、分布式数据库选型论证第一章主流数据库技术介绍一、关系型数据库系统是一种基于关系模型的数据库管理系统。这种关系模型最初是由埃德加?科德在旧M的实验室提出的。目前很多主流的数据库都是遵循这种关系模型。这种关系型的数据库管理系统从上世纪 80年代开始被广泛应用于存储财务数据、制 造业数据、个人信息数据,互联网各类应用的数据。目前主流的RDBMS Oracle Database Microsoft SQL Server 、MySQL PostgreSQL 等。关系型数据库的特点主要有一个数据库由多张表构成、每张表都有用户定义的表结构信息(schema)来描述表格的结构。每张表由行构成,每行包含若干列,
2、 列的属性由表格的schema定义。关系型数据库可以解释为面向行的数据库,每 张表具有横向的扩展性,数据表是面向行增长的,而列的模式是相对固定的。其 功能主要包括以下几点。数据的检索功能:SQL语言的检索功能主要包括基于主键、二级字段的查询、 聚合查询、表连接查询等功能。事实上数据库的查询功能是SQL言里被使用最 多的功能。.数据的操作功能:包括数据的插入、删除、修改。数据的操作以行为单 位,可以修改某具体行的特定列的值,也可以批量的对一组符合条件的行数据进 行操作。.事务处理的功能:数据库事务是数据库管理系统中执行时一个独立的单 位,一般事务由一组数据库管理系统中的指令组成。事务之间相互独立
3、,事务具有ACID四个重要的特性:原子性(Atomicity)、一致性(Consistency)、隔离性 (isolation) 和持久性(durability)。事务也是区分很多NoSQUf SQL数据库的 重要特性之一。.表结构的定义功能:数据库定义语言(DDL)是用于创建表,修改以及删除表结构(schema)的。DDL中也包括了对某个字段建立索引的功能二、NoSQI#术1、Key. Value数据库(键值数据库)Key. Value数据库中对value(数据)基本上没有做什么限制,可以在 value 上存储任何格式的数据。Key. Value数据库的数据模型最为简单,因此其一般 具有很好
4、的性能、可扩展性、灵活性。典型的代表有亚马逊的DynamoEll数据库、RedisGoogle的LevalDB等。Key Value只支持对数据的一些简单的操作: Key-Value对的插入、删除、更新。根据实现的不同Key可以有序也可以无序, key有序意味着可以进行key的范围查找。Dynam必用的是最终一致性的模型、 亚马逊公司将它用在对数据一致性要求不高的购物车的应用中。2、面向列的数据库这类数据库不仅具有传统关系型数据库所具有横向(面向行)的可扩展性也支持面向列的动态可扩展性,它不需要像传统的关系型数据库需要使用DDU能修改表结构以及要遵循每行的列属性要一致的规范。这类数据库从GoG
5、gle的BigTablet开始,之后出现了几种开源的数据库如 HBase Cassandra。HBaseH BigTable的开源实现,两者有很多相同的设计理念,两者的表结构里面都有一 个列簇(Column family)的概念,每个列簇对列的个数和格式基本没有限制,同 时每列数据都附上了时间戳的概念,这使得数据列值可以拥有多个版本。BigTable和HBase从底层实现来看,本质上也是一个分布式的 Key Value系统, 只不过这里的Key的结构是一个包含了表名、主键名、列簇名、列名和时间戳的 多元组。3、Graph数据库(图形数据库)同Key Value数据库一样,Graph数据库对数据
6、的value也不做限制。Graph 数据库的存储单元有三个:节点、关系、属性。这类数据库是用来存储那些更适 合用图来描述的数据,例如社交网络的关系数据、交通道路节点的数据或者一些 网络拓扑数据等。Graph数据库设计的关键是如何描述数据点之间连接关系,相 对于关系型数据库的关系模型,这种图数据模型具有大量复杂、互连接、低结构 化的特点,而我们知道在关系模型中表的连接操作效率往往是比较低的。目前相对比较成熟的开源Graph数据是Ne04Jti。n, Ne04J是一个用Java实现的兼容 ACID的图形数据库,Ne04J实现了一个非常高效的图形引擎用来实现快速的面向图形数据的各类操作。由于这类图形
7、数据结构模型的复杂性, 使得图形数据库具 有较大的可扩展性问题,要想实现分布式的图形数据库是非常困难的, 这也是图 形数据库一直未真正流行开来的一个重要的原因。I4、文档数据库文档数据库是面向文档的数据库,是用来存储、检索、管理文档信息的数据 库,存储的文档结构大部分是半结构化,如 XML JSOW档等。这类数据库的所 存储的文档数据结构往往是由具体的应用决定的,文档数据库比较适用于那些不频繁对已经存在的文档做修改的应用。这一类型数据库的代表是109en团队开发 的MongoD序口 Apache Couch DR与传统的关系型数据库采用表格的形式存储数 据不同,MongoD改用的是类似JSOM
8、&式的文档结构来存储数据,这种数据结 构的一个好处是可以实现动态的表结构 (schema)。尽管MongoDB!于NoSQ嗷据 库,但是MongoD展现了很多传统关系型数据库的功能:(1)含关键字字段查询、 范围查询,正则表达式查询在内的丰富查询功能;(2)对二级索引的支持;(3)数据库服务端运行自定义Javascript脚本的功能;(4)集成MapReduce现数据 聚合分析的功能;(5)基于数据分片与数据备份机制的分布式存储功能。数据规模Kev Value数据库面向列的数据库文档数据库图模型数据库数据模型的整条性图1.1数据模型复杂性与数据规模的关系示意图展示了不同数据模型复杂性与数据规模
9、的关系图中根据数据存储模型的复杂性从低到高依次为Key. Value数据库、类BigTable数据库、描述复杂图模型 的图形数据库。这张图从一定程度上反映了数据的存储建模与数据规模的关系。第二章主要分布式数据库技术介绍一、Hadoop技术架构hadoop是一个免费开源的分布式系统基础架构,它最原始的版本是由Apache 基金会开发的。Hadoop核心框架主要包括:HDFSffi MapReduce HDFSS供了海 量数据存储,MapReduce提供了海量数据计算和分析过程目前市面上免费开源 的Hadoop版本主要有三个,分别是:Apache(最原始的版本,所有发行版均基于 这个版本进行改进
10、)、Cloudera 版本(Cloudera S Distribution Including Apache Hadoop 简称 CDH) Hortonworks 版本(Hortonworks DataPlatform ,简 称 HDPHadoop是一个分布式处理的软件框架,相对于单机运行,它更善于处理大 数据量的问题。实现了 Google的MapReduce编程模型和存储框架提出的将应 用程序分割成许多小的并行的程序单元的要求,并且这些单元在任何节点上都 可以执行。在MapReduce中,要分清“作业(job ) ”和“任务(task ) ”。 Job是还未执行的的应用程序,它处于准备阶段。
11、而task则是正在各个计算节点上执行的工作单元,是从一个作业划分出来已经实施的程序部分。此外,Hadoop 提供的分布式文件系统(HDFS, Hadoop Distributed File System )主 要负责各个节点上的数据存储,它是实现高吞吐率的数据读写功能的基础。图2.1 Hadoop结构图Hadoop在分布式存储和分布式计算方面为了可以提高速率和准确度,都是采 用了主/从(Master/Slave )的架构模式,一系列在集群中运行的后台(deamon) 程序就是这 些要求的根本保障。根据分工不同可分为以下几个部分组成: NameNode Secondary NameNoda Da
12、taNoda Task Tracker、JobTracker。如 上图 2.1 所示的,NameNodeSecondary NameNode Job Tracker 运行在 Master 节点上,TaskTracker 和DataNode运行在Slave 节点上,本机的数据都尽量 交给这些数据处理程序来直接处理,以节约时间成本。2、HDFSS述HDFS(Hadoop Distributed File System)是分布式计算 中数据存储管理的基础。HDFS的体系结构是主/从 (Master/Slave )模式,即一个NameNode和 多个DataNode,如图2.2所示。HDFS将数据文件
13、分割成大小各异的数据块 (Block ),分散存储于各个DataNode中,并按照“一次写入、多次读取”的 模式进行读写。用户如果要对数据进 行操作,都有要先访问NameNode它会处 理用户的请求,之后给 DataNode分配具体任务,也就是说NameNode负责调 度安排,DataNode实施具体工作。图2.2 HDFS结构示意图HA(High Availability) ,即高可用性。HA为系统对外正常提供服务时间 的百分比,也即是在出现故障的情况下还能保证数据存储的可靠性的程度。HDFS的可靠性能够利用平均无故障时间(MTTF)来衡量,即为HDFS正常服务的平均运 行时间;HDFS的可
14、维护性是利用平均维护时间(MTTR来衡量,即HDFS从不能 正常服务到再次正常服务之间所需的平均维护时间。HDFS的HA可精确定义为如下公式:MTTF/(MTTF + MTTR) *100% ( 2.1 )HDFS具备了较为完善的冗余备份和故障恢复机制,可以实现在集群中可靠 地存储数据文件。3、HBAS瑜述HBase 是 Google BigTable 的开源实现,是一个 NoSQt , HBase 不属 于Hadoop,但是依赖于Hadoop和ZooKeeper。其实,与其说它是一个数据库, 倒不如说它是一个Key-Value对的仓库更加合适,它和常用编程语言中 Map类 也有些相似之处。作
15、为NoSQLHBase并没有采用基于行的存储模式。在HBase中 的数据表每列单 独存放在相邻的物理单元,只需要访问涉及到的列,因此可以 在很大程度上降低整个集 群系统的I/O 开销;HBase还支持并发地进行查询和 处理,如果需要处理好几列,可以开启多个线程,每个线程处理一列或者几列, 以加快处理速度,因此它采用了这种基于列的存储方式。HBase的数据表具有排 列疏松,使用时间长,维度高的特点,它按照 Key值排序,其索引是行关键字 (key值)、列关键字(Column)以及时间戳(Timestamp)。行关键字是行在表中的 唯一标识,如果先后插入两个行关键字相同的行,则后面一行会覆盖掉前面
16、一行。 用户在HBase表格中存储数据,每一行都有一个可排序的主键,多个在创建表 时固定的列簇和任意多的列。HEUSHBase采用了主/从(Master-Slave )的架构模式,其中 HBase主节点节作为Master调控整个集群,同时定期检测Regionserver 发来的“心跳”以确 认其处于工作状态,同时为了确保元数据表中的所有数据都处于在线状态,HBaseMaster也会定期对元数据表进行扫描。Regionserver 运行在Slave节 点上,这些具体任务就是有它来完成的。为了实现HBaseHBase的分布式特性, 集群需要大量的Regionserver。4、Hive简述Hive是
17、一个基于Hadoop生态体系的数据仓库工具。它的最大优势是大大降 低了 MapReduce作业的开发时间。它没有提供更快地开发 Map和Reduce任务的 方法,而是定义了一种类似SQL勺查询语言(HiveQL ,简称HQL Hive使用HiveQL 语句进行数据操作,并将其自动转化成一个或者多个MapReucd乍业,最后执行这些MapReduce序并将数据结果提交给最终用户。Hadoop Streaming缩短了 “编码、编译、提交”的开发周期,而 Hive完全摒弃了这一过程,只需要构造 HiveQL语句即可。HiveQL语句转换成对应的 MapReduce层操作。它还提供了 一系列的工具进
18、行数据提取转化加载,也可以实现对ma环口 reduce函数的定制, 为数据操作提供了良好的可扩展性。止匕外,结合 Sqoop Mahout数据挖掘工具, 可以有效地实现对数据仓库中多维数据的挖掘处理。因此,非常适合数据仓库的构建。然而,Hadoop是一个批处理架构,因此,其任务的提高和高度会有较高的延 迟和资源消耗。这会导致 Hive即使针对非常小的数据量进行查询操作时,也会 造成十分严重的延迟现象。所以,在小数据集的分析和处理上,Hive远不如Oracle、DB2等关系数据库。Hive的设计目的是为可容忍延迟的交互式数据查询 与分析提供服务。止匕外,Hive不适用于OLTP嵌机事务处理)和实
19、时查询、更新, 它最适合用于对海量不可更改的数据集的批处理工作。Hive具有良好的容错机制、可伸缩性以及数据格式的松耦合。5、MongoDB述MongoDB是由C+邮言编写的,是一个基于分布式文件存储的开源数据库系 统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB旨在为WEEK用提供可扩展的高性能数据存储解决方案。MongoDBW数据存储为一个 文档,数据结构由键值(key=value)对组成。MongoDBi档类似于JSON对象。 字段值可以包含其他文档,数组及文档数组。(name: field:valueage: 26, field:valuestatus:A fi
20、eld:valuegroups:L,news, sports field:valueMongoDB的提供了一个面向文档存储,操作起来比较简单和容易。可以在MongoDB记录中设置任何属性的索引(如:FirstName=Sameer,Address=8Gandhi Road)来实现更快的排序。可以通过本地或者网络创建数据镜像,这使得 MongoD的更强的扩展性。如 果负载的增加(需要更多的存储空间和更强的处理能力),它可以分布在计算机 网络中的其他节点上这就是所谓的分片。 Mongo支持丰富的查询表达式。查询指 令使用JSONB式的标记,可轻易查询文档中内嵌的对象及数组。使用 update()
21、命令可以实现替换完成的文档(数据)或者一些指定的数据字段。Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操作。Map和Reduce Map函数调用emit(key,value) 遍历集合中所有的记录,将 key与 value传给Reduce函数进行处理。Map函数和 Reduce函数是使用Javascript 编写的,并可以通过db.runComman mapreduce命令来执行MapReduce8作。 GridFS是MongoDBH勺一个内置功能,可以用于存放大量小文件。6、Cassandra 简述Cassandra的数据模型是基于列族(Column Family
22、 )的四维或五维模型。它借鉴了 Amazon的完全分布式的 Dynamo基础,结合了 Google BigTable基于 列族(ColumnFamily )的数据模型,采用 Memtable和SSTable的方式进行存 储。在Cassandra写入数据之前,需要先记录日志 (CommitLog ),然后数据 开始写入到 Column Family 对应的Memtable中,Memtable是一种按照key 排序数据的内存结构,在满足一定条件时,再把Memtable的数据批量的刷新到 磁盘上,存储为SSTable 。 Cassandra是社交网络理想的数据库, 适合于实时事 务处理和提供交互型数
23、据。目前twitter和digg中都有使用。在CAP#性上, HBase选择了 CP, Cassandra更倾向于AP,而在一致性上有所减弱。Cassandra和HBase的一个重要区别是,Cassandra在每个节点是是一个单 Java进程,而完整的HBase解决方案却由不同部分组成:有数据库进程本身, 它可能会运行在多个模式;一个配置好的HadoopHDF劭布式文件系统,以及一个Zookeeper系统来协调不同的HBase进程。第三章各类分布式数据库技术对比、HBase与 MongodbX寸比对比项HBaseMongodb语言javaC+存储方式列式数据库,集群部署时每个familycol
24、umn 保存在单独的 hdfs文件中文档型数据库,整个数据都存在磁盘二级索引不支持支持主键存储是row key ,可以是任意字符串(最大长度是64KB,实际应用中长度一般为10-100bytes),在 hbase 内部,row key记录插入的顺序和存放的顺序一样保存为字节数组。存储时,数据按照Rowkey的字典序(byte order) 排序存储。查询只支持三种查找:通过单个row key访问,支持集合查找,正则查找,范围查找,支持skip通过 row key 的range , 全表扫描和limit 等等,读效率比适合写多读少效率高MapReduce支持支持 mapreduce,不过 mon
25、godb 的 mapreduce 支持不够强大,如果没有使用mongodb分片,mapreduce实际上不是并行执行的数据读写机制采用 LSM 思想(Log-Structured采用的是mapfile+Journal 思想,如果记录不在Merge-Tree),就是将对数据的更改 hold内存,先加载到内存,然后在内存中更改后记录在内存中,达到指定的threadhold 后将该批更改merge后批量写入到磁盘,这样日志,然后隔一段时间批量的写入 data文件,这 样对内存的要求较高,至少需要容纳下热点数据二|将单个写变成了批量写,大大提高了写入和索引。速度,读数据时需要 merge disk上的
26、数据和memory中的修改数据,这显然降低了读的性能。、 HBase与 Cassandra 对比对比项HBaseCassandra语言JavaJava出发点BigTableBigTable and DynamoLicenseApacheApacheProtocolHTTP/REST (also Thrift)Custom, binary (Thrift)数据分布表划分为多个region存在不同region server上改进的一致性哈希(虚拟节点)存储目标大文件小文件一致性强一致性最终一致性,Quorum NRW策略架构master/slavep2PNameNode是HDFS的单点故障局可用性
27、点P2P和去中心化设计,不会出现单点故障伸缩性Region Server 扩容,通过将 自身发布到 Master , Master 均匀分布Region扩容需在Hash Ring 上多个节点间调整数 据分布读写性能数据读写定位可能要通过最多6次的网络RPC,性能较低。数据读写定位非常快数据冲突处理乐观并发控制(optimistic concurrency control)向量时钟临时故障处理Region Server 石机,重做 1 1 1 c-数据回传机制:某节点宕机,hash到该节点的新数据自动路由到下点做hintedHLoghandoff ,源节点恢复后,推送回源节点。永久故障恢复Reg
28、ion Server 恢复,master 重新给其分配regionMerkle哈希树,通过 Gossip协议同步Merkle Tree ,维护集群节点间的数据一致 性成员通信及错误检测Zookeeper基于GossipCAP1,强一致性,0数据丢失。2, 可用性低。3,扩容方便。1,弱一致性,数据可能丢失。2,可用性局。3,扩容方便。、HBase Cassandra、MonogDb寸比以下数据基于亚马逊云平台上对三个主流的NoSQ散据库性能比较横坐标是吞吐量,纵坐标是延迟,这是一对矛盾,吞吐量越大,延迟越低,代表越好。.纯粹插入,Cassandra领先,_ _ _ 一 . O ,9 87654
29、32105UJUUS3 事若nA-=*=:一 35ts/Warkload F: Update (Read-Modify-Write 50% Read 50%)Calandra 2 3MonjoO 2 4.61000 Throughput,11.90%的插入insert和10%勺读取,插入性能:0 与:. Read 10%)r jndra J 0Hbd0.924000TTi ro ugh p Lit. d pscMonfoDb 2.4.S四、HiveSQL与 SQLM比数据库的事务、索引以及更新都是传统数据库的重要特性。但是 Hive到目前也不支持更新(这里说的是对行级别的数据进行更新),不支持
30、事务;虽然Hive 支持建立索引,但是它还不能提升数据的查询速度。下表列出了 RMD喇Hive的 比较:比较项SQLHiveQLANSI SQL支持不完全支持更新UPDATEINSERTDELETEinsert OVERWRITEINTO TABLE事务支持不支持模式写模式读模式数据保存块设备、本地文件系统HDFS延时低高多表插入不支持支持子查询完全支持只能用在From子句中视图UpdatableRead-only可扩展性低高数据规模小大本文采用Oracle与Hive进行性能对比测试,将测试数据分组,以 1000怵口 2000W条数据为一个级别,分为 5 个组:1000W 2000W 3000
31、W 4000W 6000W 8000W分别为一组测试数据。然后每一组数据分别在Hive数据仓库和Oracle数 据库中测试查询时间(分别每组取10次,然后求平均值),最后比较查询效率。测试时间表数据量级(万条)Oracle测试时间(ms)Hive测试时间(ms)10006608100482000116811592730001629216682400021207181936000273711985480003362820769由实验分析可得:当数据量较小时,Hive优势无法体现,甚至远不如Oracle数据库。但是,随着数据量级别的不断增大,当数据量超过 3000W条时,Hive 的特点开始发挥优
32、势,当测试数据为 4000W条时,Hive查询时间已经开始略优于Oracle数据库,可以预测随着数据量级的不断增大,Hive数据仓库的优势会 逐步体现出来。所以,在面对海量数据处理时,基于 Hive架构数据仓库具有明 显的优势。五、HDFS HBase与Hive的关系HDF为GFS的一种实现,他的完整名字是分布式文件系统,类似于FAT32,NTFS是一种文件格式,是底层的。Hive与Hbase的数据一般都存储在HDFS1。 Hadoop HDF劝他们提供了高可靠性的底层存储支持。容错率很高,即便是在系 统崩溃的情况下,也能够在节点之间快速传输数据。HBase是非关系数据库,是开源的Not-On
33、ly-SQL数据库,它的运行建立在 Hadoop上。HBase依赖于CAPS二 J!(Consistency, Availability, and Partition Tolerance)中的 CP项。HDFSft适于执行批次分析。然而,它最大的缺点是无法执行实时分析,而实 时分析是信息科技行业的标配。HBase能够处理大规模数据,它不适于批次分析, 但它可以向Hadoop实时地调用数据。HDF辱口 HBase都可以处理结构、半结构和非结构数据。因为HDFSt立在旧的MapReducei架上,所以它缺乏内存引擎,数据分析速度较慢。相反, HBase 使用了内存引擎,大大提高了数据的读写速度。H
34、Base乍为面向列的数据库运行在HDFS上,HDFSft乏随即读写操作,HBase正是为此而出现。HBase以Google BigTable为蓝本,以键值对的形式存储。项目的目标就是快速在主机内数十亿 行数据中定位所需的数据并访问它。HBas更一个数据库,一个NoSql的数据库, 像其他数据库一样提供随即读写功能,Hadoop不能满足实时需要,HBase正可以 满足。如果你需要实时访问一些数据,就把它存入HBasa可以用Hadoop作为静态数据仓库,HBase作为数据存储,放那些进行一些操作会改变的数据。Hbase 与hive都是架构在Hadoop之上的。都是用 Hadoop作为底层存储。而
35、Hbase是 作为分布式数据库,而hive是作为分布式数据仓库。当然hive还是借用Hadoop 的MapReduce完成一些hive中的命令的执行。第四章分布式数据库总结一、选型原则? 所提供的功能是否能够完整地解决问题,是否适应于现有业务场景。? 数据库的扩展性如何。是否允许用户添加自定义组成来满足特殊的需求。? 所选择分布式数据库是否有丰富完整的文档,并且能够以免费甚至付费 的形式得到专业的支持。? 所选择分布式数据库是否有很多人使用,尤其是一些大型企业在使用, 并存在着成功的案例。二、选型方案本文建议拟选用关系型数据库、分布式数据库与分布式存储技术相结合的模 式进行数据库选型。1、HB
36、ase作为开源的 BigTable 解决方案,依托 Hadoop生态圈,越来越多的 被企业用来作为数据的在线存储方案,以解决 PB级数据的实时存储与高并发访 问。技术社区资源丰富,在互联网、金融、通信领域具有成熟的应用案例。2、HBase的存储方式有2种,一种是使用操作系统的本地文件系统,另外一种则是在集群环境下使用 Hadoop的HDFS相对而言,使用 HDFS等会使数据更 加稳定。HBase不仅可以向下提供运算,它还能够结合 Hadoop的MapReduce 上提供运算,与Spark计算平台具有很好的结合,满足未来对于历史归档数据的 统计分析应用拓展需求。3、HBase是一个高可靠性、高性
37、能、可伸缩的分布式存储系统,很适合存储 电子票据数据。HBase可以保障业务高并发开票能力,支持海量票据存储和检索; 每份电子票据存储三份,互为冗余备份;采用分库分表技术解决了传统关系型数 据所不具备的写扩展能力。4、扩展读写能力,随着数据量和并发的增长,请求均匀分布在不同机器, 数据自动分片(Sharding),自动均衡。分片之后,数据以 Region为单位均匀分 布在服务器节点,跟Hadoop的无缝集成保障了其数据可靠性(HDFS和海量数 据分析的高性能(MapReduce。5、水平扩展(Scaling-Out )操作简单,扩容时通过增加机器节点完成,数 据自动平衡,数据总量取决于集群节点
38、数量,而且对错误的兼容性比较高。三、主流HBase产品目前国内市场上HBase产品主要分为两大流派,一是以阿里云为代表的云数据库HBas0通过云服务托管的模式为用户提供全面的运维服务。二是以硬件厂 商为代表的企业级大数据平台建设方案,通过提供整套大数据基础设施建设方案 满足用户对大数据存储管理的需求。 本文主要以第二种产品为论证对象,对主流大数据平台产品进行选型评估。1、华为Fusioninsight 企业级大数据平台Fusioninsight是华为面向众多行业客户推出的,基于Apache开源社区软件 进行功能增强的企业级大数据存储、查询和分析的统一平台。它以海量数据处理引擎和实时数据处理引擎
39、为核心,并针对金融、运营商等数据密集型行业的运行 维护、应用开发等需求,打造了敏捷、智慧、可信的平台软件、建模中间件及 OM系统,让企业可以更快、更准、更稳的从各类繁杂无序的海量数据中发现全 新价值点和企业商机。其主要技术指标如下图所示:分类1指标项规格说明并行计算引擎(MapReduce 性育匕WordCount:平均每节点处理能力(GB/分钟)8GB/分钟指标Terasort :平均每节点处理能力(GB/分钟)6GB/分钟并行计算引擎WordCount:平均每节点处理能力(GB/分钟)27GB/分钟 /Node(Spark)性能指标Terasort :平均每节点处理能力(GB/分钟)6GB
40、/分钟 /Node处理能力-HiveAggregation :平均每节点处理能力8GB/分钟12节点集群;节点典型配置:CPU:2*E5-2650Hive性能指标(GB/分钟)处理能力-HiveJoin :平均每节点处理能力(GB/分2GB/分钟钟)内存:128G硬盘:SATA盘100%!机读:平均每节点读取记录条数(每条记录1KB),响应时间小于 50M5SHBase性能指标100%追机写:平均每节点写入记录条数(每条记录1KB),响应时间小于 50M5S顺序扫描:平均每节点scan记录条数(每条记录1KB),响应时间小于 50MS产品规格如下:系统指标规格系统支持最大节点数4000可靠性指
41、标-MTTF17520小时可靠性指标-MTTR1小时可靠性指标-MTBF17521小时可服务性规格-可软件安装时间2小时可服务性规格-扩容完成时间2小时100节点内可服务性规格-软件升级时间4000单节点数据加载能力2GB/分钟SQL兼容性完善的ANSI SQL标准兼容,OLAP扩展支持的组件Flume、HDFS HBASE Storm、 Pig、 Mahout 等机器学习支持In-Database Analytics ,提供丰富的数据挖掘算法稳定单集群规模200单节点数据加载能力2TB/小时分布式并行数据库|SQL兼容性完善的ANSI SQL标准兼容,OLAP扩展MPP存储模式支持行级、列级
42、、混合存储;压缩皆可到14倍;支持 md5 SHA1 SHA224/256/384/512、AESPGP寸称加密、PGP公钥加密等存储加密方式稳定单集群规模200 节点;40TB单节点并发查询能力2万/秒内存数据库MemDB支持的查询接口SQL Key/Value高级特性数据智能分片、智能均衡、集群多活,支持二|MapReduce算法等3、IBM InfoSphere大数据分析平台IBM InfoSphere 大数据分析平台包括 BigInsights 和Streams,二者互补,Biglnsights 对大规模的静态数据进行分析,它提供多节点的分布式计算,可以 随时增加节点,提升数据处理能力
43、。Streams采用内存计算方式分析实时数据InfoSphere大数据分析平台还集成了数据仓库、数据库、数据集成、业务流程管理等组件。BigInsights 基础版和企业版均包含了 Apache Hadoop和大量的开源软件技术,具体包含的开源项目:ApacheHad00Pti括 HadoopDistributed File System (HDFSb MapReduce 框架和通用的实用工具,是一种适用于数据密集型应用的软件框架,可 用于开发分布式计算环境Pig是用于Hadoop的一种高级编程语言和运行时环境Jaql 是基于 JavaScript Object Notation (JSON)
44、的一种高级查询语言, 也支持SQLHive是一种数据仓库基础架构,设计用于支持批量查询和分析Hadoop管理的文件HBaseH一种以列为主的数据存储环境,设计用于支持Hadoop中的稀疏填充的大型表格Flume是一种用来数据收集并将其加载到Hadoop中的工具Lucene是一种文本搜索和索引技术Avro是一种数据序列化技术ZooKeeper是分布式应用程序的一种协作服务Oozie是工作流/作业编排技术IBM大数据平台提供全面的企业级 Hadoop平台、流计算、分析引擎企业级 数据仓库实现各种数据的存储、分析和挖掘,结构化数据可以使用数据仓库进行 存储和分析,结构化原始数据、半结构化和非结构化数据可以存储到企业级 Hadoop系统中并进行后续分析处理,动态的半结构化和非结构化信息流通过流 计算和分析引擎进行处理、过滤和分析后,生成的结构化分析结果可以存储到数 据仓库中以便和其他历史信息进行进一步的深入分析,而获取的半结构化和非结构化信息可以存储到企业级 Hadoop系统中(当然结构化的信息也可以存储到企 业级Hadoop中)。数据仓库技术和企业级 Had
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产权清楚的车位买卖正式合同
- 中小企业员工劳动合同模板
- 交通事故赔偿合同协议书模板
- 个人与企业投资合同范本
- 专利技术使用权许可合同
- 五保户家庭监护合同模板
- 中外进出口商品交易合同(三):新版
- 不固定期限的商业租赁合同
- 专利代理服务合同新准则
- 委托奔驰车租赁合同
- 配网设备缺陷分类及管理重点标准
- 反腐倡廉廉洁行医
- UI与交互设计人机交互设计(第二版)PPT完整全套教学课件
- GMS要素-持续改进(CI)-上汽通用五菱-课件
- 《插画设计》课程标准
- 高考作文答题卡(作文)
- 在乡村治理中深化推广运用清单制、积分制、一张图工作方案
- GB/T 3921-2008纺织品色牢度试验耐皂洗色牢度
- 梅毒的诊断与治疗课件
- 工程伦理第二讲工程中的风险、安全与责任课件
- 高中数学《椭圆》方程典型例题20例(含标准答案)
评论
0/150
提交评论