大数据平台框架选型分析
一、需求
城市大数据平台,首先是作为一个数据管理平台,核心需求是数据的存和取,然后因为海量数据、多数据类型的信息需要有丰富的数据接入能力和数据标准化处理能力,有了技术能力就需要纵深挖掘附加价值更好的服务,如信息统计、分析挖掘、全文检索等,考虑到面向的客户对象有的是上层的应用集成商,所以要考虑灵活的数据接口服务来支撑。
二、平台产品业务流程
三、选型思路
必要技术组件服务:
ETL > 非/关系数据仓储 > 大数据处理引擎 > 服务协调 > 分析BI > 平台监管
四、选型要求
1.需要满足我们平台的几大核心功能需求,子功能不设局限性。如不满足全部,需要对未满足的其它核心功能的开放使用服务支持
2.国内外资料及社区尽量丰富,包括组件服务的成熟度流行度较高
3.需要对选型平台自身所包含的核心功能有较为深入的理解,易用其API或基于源码开发
4.商业服务性价比高,并有空间脱离第三方商业技术服务
5.一些非功能性需求的条件标准清晰,如承载的集节点、处理数据量及安全机制等
五、选型需要考虑
简单性:亲自试用大数据套件。这也就意味着:安装它,将它连接到你的Hadoop安装,集成你的不同接口(文件、数据库、B2B等等),并最终建模、部署、执行一些大数据作业。自己来了解使用大数据套件的容易程度——仅让某个提供商的顾问来为你展示它是如何工作是远远不够的。亲自做一个概念验证。
广泛性:是否该大数据套件支持广泛使用的开源标准——不只是Hadoop和它的生态系统,还有通过SOAP和REST web服务的数据集成等等。它是否开源,并能根据你的特定问题易于改变或扩展?是否存在一个含有文档、论坛、博客和交流会的大社区?
特性:是否支持所有需要的特性?Hadoop的发行版本(如果你已经使用了某一个)?你想要使用的Hadoop生态系统的所有部分?你想要集成的所有接口、技术、产品?请注意过多的特性可能会大大增加复杂性和费用。所以请查证你是否真正需要一个非常重量级的解决方案。是否你真的需要它的所有特性?
陷阱:请注意某些陷阱。某些大数据套件采用数据驱动的付费方式(“数据税”),也就是说,你得为自己处理的每个数据行付费。因为我们是在谈论大数据,所以这会变得非常昂贵。并不是所有的大数据套件都会生成本地Apache Hadoop代码,通常要在每个Hadoop集的服务器上安装一个私有引擎,而这样就会解除对于软件提供商的独立性。还要考虑你使用大数据套件真正想做的事情。某些解决方案仅支持将Hadoop用于ETL来填充数据至数据仓库,而其他一些解决方案还提供了诸如后处理、转换或Hadoop集上的大数据分析。ETL仅是Apache Hadoop和其生态系统的一种使用情形。
六、方案分析
自建套件 | hortonworks | 国内类exadoop | TDW+fineBI | |
成本 | 100%开源 培训服务3k/人 授权支持100K | |||
性能 | 单集最大规模达到5600台,处理数据量可达百P级 | |||
功能 | 按需整合 | HDFS和YARN数据管理 从各种引擎访问数据 根据策略加载和管理数据 身份验证、授权和数据保护 大规模配置、管理、监控和运营 Hadoop 集 与您的数据分析工具集成 跨平台配置部署 | ||
易操作性 | 安装复杂,操作需要专业培训。 | 图形设计界面,参数配置,易上手。 | ||
应用成熟度 | 国外大客户较多 | |||
文档/社区支持 | 文档较多,社区一般,相关专业培训较多。 | 官方社区比较活跃(英文)中文社区有1个文档较少,多为英文文档 | 文档较少,无商用服务,无任何技术支持 | |
扩展性 | 开源开放 | 开源开放 | 开源开放 | |
移植性 | 支持多操作系统 | 支持多操作系统 | 支持多操作系统 | 支持多操作系统 |
监控 | 监控功能强大Armbri | 元 | 无 | |
优势 | 1、跟随产品阶段逐步完善整合自定义套件 2、自选流行组件,资料丰富 | 1、开源强大支持的开源套件 2、配套商业服务支持 | 1、国产套件 2、交流支持方便 3、商业服务较灵活 | 1、开源中文支持 2、基于大数据处理核心,灵活组合其它组件来适应不同产品阶段及项目 |
劣势 | 整合周期不可控 | 商业成本较高 | 依赖于打包服务公司的支持 | 半定制套件,预学现用 |
七、相关资料
prestodb.io/
HDP (hortonworks)
A Complete Enterprise Hadoop Data Platform
开源工具汇总整理
类别 | 名称 | 备注 |
查询引擎 | Phoenix | Salesforce公司出品,Apache HBase之上的一个SQL中间层,完全使用Java编写 |
Stinger | 原叫Tez,下一代Hive,Hortonworks主导开发,运行在YARN上的DAG计算框架 | |
Presto | Facebook开源 | |
Shark | Spark上的SQL执行引擎 | |
Pig | 基于Hadoop MapReduce的脚本语言 | |
Cloudera Impala | 参照Google Dremel实现,能运行在HDFS或HBase上,使用C++开发 | |
Apache Drill | 参照Google Dremel实现 | |
Apache Tajo | 一个运行在YARN上支持SQL的分布式数据仓库 | |
Hive | 基于Hadoop MapReduce的SQL查询引擎 | |
流式计算 | Facebook Puma | 实时数据流分析 |
Twitter Rainbird | 分布式实时统计系统,如网站的点击统计 | |
Yahoo S4 | Java开发的一个通用的、分布式的、可扩展的、分区容错的、可插拔的无主架构的流式系统 | |
Twitter Storm | 使用Java和Clojure实现 | |
迭代计算 | Apache Hama | 建立在Hadoop上基于BSP(Bulk Synchronous Parallel)的计算框架,模仿了Google的Pregel。 | redis支持的五种数据类型
Apache Giraph | 建立在Hadoop上的可伸缩的分布式迭代图处理系统,灵感来自BSP(bulk synchronous parallel)和Google的Pregel | |
HaLoop | 迭代的MapReduce | |
Twister | 迭代的MapReduce | |
离线计算 | Hadoop MapReduce | 经典的大数据批处理系统 |
Berkeley Spark | 使用Scala语言实现,和MapReduce有较大的竞争关系,性能强于MapReduce | |
DataTorrent | 基于Hadoop2.X构建的实时流式处理和分析平台,每秒可以处理超过10亿个实时事件 | |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论