大数据平台核心技术框架选型资料.docx
《大数据平台核心技术框架选型资料.docx》由会员分享,可在线阅读,更多相关《大数据平台核心技术框架选型资料.docx(15页珍藏版)》请在冰豆网上搜索。
大数据平台核心技术框架选型资料
大数据平台框架选型分析
一、需求
都市大数据平台,一方面是作为一种数据管理平台,核心需求是数据存和取,然后由于海量数据、多数据类型信息需要有丰富数据接入能力和数据原则化解决能力,有了技术能力就需要纵深挖掘附加价值更好服务,如信息记录、分析挖掘、全文检索等,考虑到面向客户对象有是上层应用集成商,因此要考虑灵活数据接口服务来支撑。
二、平台产品业务流程
三、选型思路
必要技术组件服务:
ETL>非/关系数据仓储>大数据解决引擎>服务协调>分析BI>平台监管
四、选型规定
1.需要满足咱们平台几大核心功能需求,子功能不设局限性。
如不满足所有,需要对未满足其他核心功能开放使用服务支持
2.国内外资料及社区尽量丰富,涉及组件服务成熟度流行度较高
3.需要对选型平台自身所包括核心功能有较为进一步理解,易用其API或基于源码开发
4.商业服务性价比高,并有空间脱离第三方商业技术服务
5.某些非功能性需求条件原则清晰,如承载集群节点、解决数据量及安全机制等
五、选型需要考虑
简朴性:
亲自试用大数据套件。
这也就意味着:
安装它,将它连接到你Hadoop安装,集成你不同接口(文献、数据库、B2B等等),并最后建模、布置、执行某些大数据作业。
自己来理解使用大数据套件容易限度——仅让某个提供商顾问来为你展示它是如何工作是远远不够。
亲自做一种概念验证。
广泛性:
与否该大数据套件支持广泛使用开源原则——不只是Hadoop和它生态系统,尚有通过SOAP和RESTweb服务数据集成等等。
它与否开源,并能依照你特定问题易于变化或扩展?
与否存在一种具有文档、论坛、博客和交流会大社区?
特性:
与否支持所有需要特性?
Hadoop发行版本(如果你已经使用了某一种)?
你想要使用Hadoop生态系统所有某些?
你想要集成所有接口、技术、产品?
请注意过多特性也许会大大增长复杂性和费用。
因此请查证你与否真正需要一种非常重量级解决方案。
与否你真需要它所有特性?
陷阱:
请注意某些陷阱。
某些大数据套件采用数据驱动付费方式(“数据税”),也就是说,你得为自己解决每个数据行付费。
由于咱们是在谈论大数据,因此这会变得非常昂贵。
并不是所有大数据套件都会生成本地ApacheHadoop代码,普通要在每个Hadoop集群服务器上安装一种私有引擎,而这样就会解除对于软件提供商独立性。
还要考虑你使用大数据套件真正想做事情。
某些解决方案仅支持将Hadoop用于ETL来填充数据至数据仓库,而其她某些解决方案还提供了诸如后解决、转换或Hadoop集群上大数据分析。
ETL仅是ApacheHadoop和其生态系统一种使用情形。
六、方案分析
自建套件
hortonworks
国内类exadoop
TDW+fineBI
成本
100%开源
培训服务3k/人
授权支持100K
性能
单集群最大规模达到5600台,解决数据量可达百P级
功能
按需整合
HDFS和YARN数据管理
从各种引擎访问数据
依照方略加载和管理数据
身份验证、授权和数据保护
大规模配备、管理、监控和运营Hadoop群集
与您数据分析工具集成
跨平台配备布置
易操作性
安装复杂,操作需要专业培训。
图形设计界面,参数配备,易上手。
应用成熟度
国外大客户较多
文档/社区支持
文档较多,社区普通,有关专业培训较多。
官方社区比较活跃(英文)中文社区有1个文档较少,多为英文文档
文档较少,无商用服务,无任何技术支持
扩展性
开源开放
开源开放
开源开放
移植性
支持多操作系统
支持多操作系统
支持多操作系统
支持多操作系统
监控
监控功能强大Armbri
元
无
优势
1、跟随产品阶段逐渐完善整合自定义套件
2、自选流行组件,资料丰富
1、开源强大支持开源套件
2、配套商业服务支持
1、国产套件
2、交流支持以便
3、商业服务较灵活
1、开源中文支持
2、基于大数据解决核心,灵活组合其他组件来适应不同产品阶段及项目
劣势
整合周期不可控
商业成本较高
依赖于打包服务公司支持
半定制套件,预学现用
七、有关资料
HDP(hortonworks)
ACompleteEnterpriseHadoopDataPlatform
开源工具汇总整顿
类别
名称
备注
查询引擎
Phoenix
Salesforce公司出品,ApacheHBase之上一种SQL中间层,完全使用Java编写
Stinger
原叫Tez,下一代Hive,Hortonworks主导开发,运营在YARN上DAG计算框架
Presto
Facebook开源
Shark
Spark上SQL执行引擎
Pig
基于HadoopMapReduce脚本语言
ClouderaImpala
参照GoogleDremel实现,能运营在HDFS或HBase上,使用C++开发
ApacheDrill
参照GoogleDremel实现
ApacheTajo
一种运营在YARN上支持SQL分布式数据仓库
Hive
基于HadoopMapReduceSQL查询引擎
流式计算
FacebookPuma
实时数据流分析
TwitterRainbird
分布式实时记录系统,如网站点击记录
YahooS4
Java开发一种通用、分布式、可扩展、分区容错、可插拔无主架构流式系统
TwitterStorm
使用Java和Clojure实现
迭代计算
ApacheHama
建立在Hadoop上基于BSP(BulkSynchronousParallel)计算框架,模仿了GooglePregel。
ApacheGiraph
建立在Hadoop上可伸缩分布式迭代图解决系统,灵感来自BSP(bulksynchronousparallel)和GooglePregel
HaLoop
迭代MapReduce
Twister
迭代MapReduce
离线计算
HadoopMapReduce
典型大数据批解决系统
BerkeleySpark
使用Scala语言实现,和MapReduce有较大竞争关系,性能强于MapReduce
DataTorrent
基于Hadoop2.X构建实时流式解决和分析平台,每秒可以解决超过10亿个实时事件
键值存储
LevelDB
Google开源高效KV编程库,注意它只是个库
RocksDB
Facebook开源,基于GoogleLevelDB,但提高了扩展性可以运营在多核解决器上
HyperDex
下一代KV存储系统,支持strings、integers、floats、lists、maps和sets等丰富数据类型
TokyoCabinet
日本人MikioHirabayashi(平林干雄)开发一款DBM数据库,注意它只是个库(大名鼎鼎DBM数据库qdbm就是MikioHirabayashi开发),读写非常快
Voldemort
一种分布式键值存储系统,是AmazonDynamo一种开源克隆,LinkedIn开源
AmazonDynamo
亚马逊KV模式存储平台,无主架构
Tair
淘宝出品高性能、分布式、可扩展、高可靠KV构造存储系统,专为小文献优化,并提供简朴易用接口(类似Map),Tair支持Java和C版本客户端
ApacheAccumulo
一种可靠、可伸缩、高性能排序分布式KV存储系统,参照GoogleBigtable而设计,建立在Hadoop、Thrift和Zookeeper之上。
Redis
使用ANSIC语言编写、支持网络、可基于内存亦可持久化日记型、单机版KV数据库。
从3月15日起,Redis开发工作由VMware主持
OceanBase
支持海量数据高性能分布式数据库系统,实现了数千亿条记录、数百TB数据上跨行跨表事务
AmazonSimpleDB
一种可大规模伸缩、用Erlang编写高可用数据存储
Vertica
惠普收购Vertica,Vertica是老式关系型数据库,基于列存储,同步支持MPP,使用原则SQL查询,可以和Hadoop/MapReduce进行集成
Cassandra
Hadoop成员,Facebook于将Cassandra开源,基于O
(1)DHT完全P2P架构
HyperTable
搜索引擎公司Zvents针对BigtableC++开源实现
FoundationDB
支持ACID事务解决NoSQL数据库,提供非常好性能、数据一致性和操作弹性
HBase
Bigtable在Hadoop中实现,最初是Powerset公司为了解决自然语言搜索产生海量数据而开展项目
文献存储
CouchDB
面向文档数据存储
MongoDB
文档数据库
Tachyon
加州大学伯克利分校AMPLab基于Hadoop核心组件开发出一种更快版本Tachyon,它从底层重构了Hadoop平台。
KFS
GFSC++开源版本
HDFS
GFS在Hadoop中实现
资源管理
TwitterMesos
GoogleBorg翻版
HadoopYarn
类似于Mesos
日记收集系统
FacebookScribe
Facebook开源日记收集系统,可以从各种日记源上收集日记,存储到一种中央存储系统(可以是NFS,分布式文献系统等)上,以便于进行集中记录分析解决,常与Hadoop结合使用,Scribe用于向HDFS中Push日记
ClouderaFlume
Cloudera提供日记收集系统,支持对日记实时性收集
logstash
日记管理、分析和传播工具,可配合kibana、ElasticSearch组建成日记查询系统
kibana
为日记提供和谐Web查询页面
消息系统
StormMQ
ZeroMQ
很底层高性能网络库
RabbitMQ
在AMQP基本上完整,可复用公司消息系统
ApacheActiveMQ
能力强劲开源消息总线
Jafka
开源、高性能、跨语言分布式消息系统,最早是由Apache孵化Kafka(由LinkedIn捐助给Apache)克隆而来
ApacheKafka
Linkedin于12月份开源分布式消息系统,它重要用于解决活跃流式数据,由Scala写成
分布式服务
ZooKeeper
分布式锁服务,PoxOS算法实现,相应GoogleChubby
RPC
ApacheAvro
Hadoop中RPC
FacebookThrift
RPC,支持C++/Java/PHP等众多语言
集群管理
Nagios
监视系统运营状态和网络信息监视系统
Ganglia
UCBerkeley发起一种开源集群监视项目,设计用于测量数以千计节点。
ApacheAmbari
Hadoop成员,管理和监视ApacheHadoop集群开源框架
基本设施
LevelDB
Google顶级大牛开发单机版键值数据库,具备非常高写性能
SSTable
源于Google,ortedStringTable
RecordIO
源于Google
FlatBuffers
针对游戏开发,高效跨平台序列化库,相比ProtoBuffers开销更小,由于FlatBuffers没有解析过程
ProtocolBuffers
Google公司开发一种数据描述语言,类似于XML可以将构造化数据序列化,可用于数据存储、通信合同等方面。
它不依赖于语言和平台并且可扩展性极强。
ConsistentHashing
1997年由麻省理工学院提出,目的是为理解决因特网中热点(Hotspot)问题,初衷和CARP十分类似,基本解决了在P2P环境中最为核心问题——如何在动态网络拓扑中分布存储和路由。
Netty
JBOSS提供一种java开源框架,提供异步、事件驱动网络应用程序框架,用以迅速开发高性能、高可靠性网络服务器和客户端程序。
BloomFilter
布隆过滤器,1970年由布隆提出,是一种很长二进制矢量和一系列随机映射函数,可以用于检索一种元素与否在一种集合中,长处是空间效率和查询时间都远远超过普通算法,缺陷是有一定误辨认率和删除困难。
搜索引擎
Nutch
开源Java实现搜索引擎,诞生Hadoop地方。
Lucene
一套信息检索工具包,但并不包括搜索引擎系统,它包括了索引构造、读写索引工具、有关性工具、排序等功能。
SolrCloud
基于Solr和Zookeeper分布式搜索,Solr4.0核心组件之一,重要思想是使用Zookeeper作为集群配备信息中心
Solr
Solr是基于Lucene搜索。
ElasticSearch
开源(Apache2合同),分布式,RESTful,构建在ApacheLucene之上搜索引擎。
Sphinx
一种基于SQL全文检索引擎,可结合MySQL、PostgreSQL做全文检索,可提供比数据库自身更专业搜索功能,单一索引可达1亿条记录,1000万条记录状况下查询速度为0.x秒(毫秒级)。
SenseiDB
Linkin公司开发一种开源分布式实时半构造化数据库,在全文索引基本封装了BrowseQueryLanguage(BQL,类似SQL)查询语法。
数据挖掘
Mahout
Hadoop成员,目的是建立一种可扩展机器学习库
Iaas
OpenStack
美国国家航空航天局和Rackspace合伙研发,以Apache允许证授权云平台管理项目,它不是一种软件。
这个项目由几种重要组件组合起来完毕某些详细工作,旨在为公共及私有云建设与管理提供软件开源项目。
6个核心项目:
Nova(计算,Compute),Swift(对象存储,Object),Glance(镜像,Image),Keystone(身份,Identity),Horizon(自助门户,Dashboard),Quantum&Melange(网络&地址管理),此外尚有若干社区项目,如Rackspace(负载均衡)、Rackspace(关系型数据库)。
Docker
应用容器引擎,让开发者可打包应用及依赖包到一种可移植容器中,然后发布到Linux机器上,也可实现虚拟化。
Kubernetes
Google开源容器集群管理系统
Imctfy
Google开源Linux容器
监控管理
Dapper
Google生产环境下大规模分布式系统跟踪系统
Zipkin
Twitter开源参照GoogleDapper而开发,使用ApacheCassandra做为数据存储系统