admin 管理员组

文章数量: 1184232


2024年4月12日发(作者:错误代码scripterror啥意思)

大数据平台框架选型分析

一、需求

城市大数据平台,首先是作为一个数据管理平台,核心需求是数据的存和取,

然后因为海量数据、多数据类型的信息需要有丰富的数据接入能力和数据标准化

处理能力,有了技术能力就需要纵深挖掘附加价值更好的服务,如信息统计、分

析挖掘、全文检索等,考虑到面向的客户对象有的是上层的应用集成商,所以要

考虑灵活的数据接口服务来支撑。

二、平台产品业务流程

三、选型思路

必要技术组件服务:

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

100%开源

培训服务3k/人

授权支持100K

国内类exadoop

TDW+fineBI

性能 单集群最大规

模达到5600

台,处理数据

量可达百P级

功能 按需整合 HDFS和YARN数据管理

从各种引擎访问数据

根据策略加载和管理数据

身份验证、授权和数据保护

大规模配置、管理、监控和

运营 Hadoop 群集

与您的数据分析工具集成

跨平台配置部署

图形设计界面,参数配置,

易上手。

国外大客户较多

易操安装复杂,操作需要

作性 专业培训。

应用

成熟

文档

/社

区支

扩展

移植

文档较多,社区一

般,相关专业培训较

多。

开源开放

支持多操作系统

官方社区比较活跃(英文)

中文社区有1个文档较少,

多为英文文档

开源开放

支持多操作系统

监控功能强大Armbri

1、开源强大支持的开源套

2、配套商业服务支持

支持多操作系

1、国产套件

2、交流支持方

便

3、商业服务较

灵活

文档较少,无

商用服务,无

任何技术支持

开源开放

支持多操作系

1、开源中文支

2、基于大数据

处理核心,灵

活组合其它组

件来适应不同

产品阶段及项

半定制套件,

预学现用

监控

优势 1、跟随产品阶段逐

步完善整合自定义

套件

2、自选流行组件,

资料丰富

劣势 整合周期不可控 商业成本较高

依赖于打包服

务公司的支持

七、相关资料

/

/group/topic/233669/

HDP (hortonworks)

A Complete Enterprise Hadoop Data Platform

开源工具汇总整理

类别 名称

Phoenix

Stinger

Presto

查询引擎

Shark

Pig

Cloudera Impala

Apache Drill

Apache Tajo

备注

Salesforce公司出品,Apache HBase之上的一个SQL中间层,完全使

用Java编写

原叫Tez,下一代Hive,Hortonworks主导开发,运行在YARN上的DAG

计算框架

Facebook开源

Spark上的SQL执行引擎

基于Hadoop MapReduce的脚本语言

参照Google Dremel实现,能运行在HDFS或HBase上,使用C++开发

参照Google Dremel实现

一个运行在YARN上支持SQL的分布式数据仓库

Hive

Facebook Puma

Twitter Rainbird

流式计算

Yahoo S4

Twitter Storm

Apache Hama

基于Hadoop MapReduce的SQL查询引擎

实时数据流分析

分布式实时统计系统,如网站的点击统计

Java开发的一个通用的、分布式的、可扩展的、分区容错的、可插拔的

无主架构的流式系统

使用Java和Clojure实现

建立在Hadoop上基于BSP(Bulk Synchronous Parallel)的计算框架,

模仿了Google的Pregel。

建立在Hadoop上的可伸缩的分布式迭代图处理系统,灵感来自BSP(bulk

synchronous parallel)和Google的Pregel

迭代的MapReduce

迭代的MapReduce

经典的大数据批处理系统

使用Scala语言实现,和MapReduce有较大的竞争关系,性能强于

MapReduce

基于Hadoop2.X构建的实时流式处理和分析平台,每秒可以处理超过10

亿个实时事件

Google开源的高效KV编程库,注意它只是个库

Facebook开源的,基于Google的LevelDB,但提高了扩展性可以运行

在多核处理器上

下一代KV存储系统,支持strings、integers、floats、lists、maps

和sets等丰富的数据类型

日本人Mikio Hirabayashi(平林干雄)开发的一款DBM数据库,注意

它只是个库(大名鼎鼎的DBM数据库qdbm就是Mikio Hirabayashi开

发的),读写非常快

一个分布式键值存储系统,是Amazon Dynamo的一个开源克隆,LinkedIn

开源

亚马逊的KV模式的存储平台,无主架构

淘宝出品的高性能、分布式、可扩展、高可靠的KV结构存储系统,专

为小文件优化,并提供简单易用的接口(类似Map),Tair支持Java

和C版本的客户端

一个可靠的、可伸缩的、高性能的排序分布式的KV存储系统,参照Google

Bigtable而设计,建立在Hadoop、Thrift和Zookeeper之上。

使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、

单机版KV数据库。从2010年3月15日起,Redis的开发工作由VMware

主持

支持海量数据的高性能分布式数据库系统,实现了数千亿条记录、数百

TB数据上的跨行跨表事务

一个可大规模伸缩、用 Erlang 编写的高可用数据存储

迭代计算

Apache Giraph

HaLoop

Twister

Hadoop MapReduce

离线计算

Berkeley Spark

DataTorrent

LevelDB

RocksDB

HyperDex

TokyoCabinet

键值存储

Voldemort

Amazon Dynamo

Tair

Apache Accumulo

Redis

OceanBase

Amazon SimpleDB

惠普2011收购Vertica,Vertica是传统的关系型数据库,基于列存储,

Vertica 同时支持MPP,使用标准的SQL查询,可以和Hadoop/MapReduce进行集

Cassandra

HyperTable

FoundationDB

HBase

CouchDB

MongoDB

文件存储 Tachyon

KFS

HDFS

资源管理

Twitter Mesos

Hadoop Yarn

Hadoop成员,Facebook于2008将Cassandra开源,基于O(1)DHT的完

全P2P架构

搜索引擎公司Zvents针对Bigtable的C++开源实现

支持ACID事务处理的NoSQL数据库,提供非常好的性能、数据一致性

和操作弹性

Bigtable在Hadoop中的实现,最初是Powerset公司为了处理自然语言

搜索产生的海量数据而开展的项目

面向文档的数据存储

文档数据库

加州大学伯克利分校的AMPLab基于Hadoop的核心组件开发出一个更快

的版本Tachyon,它从底层重构了Hadoop平台。

GFS的C++开源版本

GFS在Hadoop中的实现

Google Borg的翻版

类似于Mesos

Facebook开源的日志收集系统,能够从各种日志源上收集日志,存储到

Facebook Scribe

日志收集系

一个中央存储系统(可以是NFS,分布式文件系统等)上,以便于进行

集中统计分析处理,常与Hadoop结合使用,Scribe用于向HDFS中Push

日志

Cloudera Flume

logstash

kibana

StormMQ

ZeroMQ

RabbitMQ

消息系统

Apache ActiveMQ

Jafka

Apache Kafka

分布式服务 ZooKeeper

RPC

Apache Avro

Facebook Thrift

Nagios

集群管理

Ganglia

Cloudera提供的日志收集系统,支持对日志的实时性收集

日志管理、分析和传输工具,可配合kibana、ElasticSearch组建成日

志查询系统

为日志提供友好的Web查询页面

很底层的高性能网络库

在AMQP基础上完整的,可复用的企业消息系统

能力强劲的开源消息总线

开源的、高性能的、跨语言分布式消息系统,最早是由Apache孵化的

Kafka(由LinkedIn捐助给Apache)克隆而来

Linkedin于2010年12月份开源的分布式消息系统,它主要用于处理活

跃的流式数据,由Scala写成

分布式锁服务,PoxOS算法的实现,对应Google的Chubby

Hadoop中的RPC

RPC,支持C++/Java/PHP等众多语言

监视系统运行状态和网络信息的监视系统

UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的

节点。

Apache Ambari

LevelDB

SSTable

RecordIO

Flat Buffers

Hadoop成员,管理和监视Apache Hadoop集群的开源框架

Google顶级大牛开发的单机版键值数据库,具有非常高的写性能

源于Google,orted String Table

源于Google

针对游戏开发的,高效的跨平台序列化库,相比Proto Buffers开销更

小,因为Flat Buffers没有解析过程

Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序

列化,可用于数据存储、通信协议等方面。它不依赖于语言和平台并且

可扩展性极强。

1997年由麻省理工学院提出,目标是为了解决因特网中的热点(Hot

Protocol Buffers

基础设施

Consistent Hashing spot)问题,初衷和CARP十分类似,基本解决了在P2P环境中最为关

键的问题——如何在动态的网络拓扑中分布存储和路由。

Netty

JBOSS提供的一个java开源框架,提供异步的、事件驱动的网络应用程

序框架,用以快速开发高性能、高可靠性的网络服务器和客户端程序。

布隆过滤器,1970年由布隆提出,是一个很长的二进制矢量和一系列随

BloomFilter

机映射函数,可以用于检索一个元素是否在一个集合中,优点是空间效

率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除

困难。

Nutch

Lucene

SolrCloud

Solr

搜索引擎

ElasticSearch

开源Java 实现的搜索引擎,诞生Hadoop的地方。

一套信息检索工具包,但并不包含搜索引擎系统,它包含了索引结构、

读写索引工具、相关性工具、排序等功能。

基于Solr和Zookeeper的分布式搜索, Solr4.0 的核心组件之一,主

要思想是使用 Zookeeper 作为集群的配置信息中心

Solr是基于Lucene的搜索。

开源的(Apache2协议),分布式的,RESTful的,构建在Apache Lucene

之上的的搜索引擎。

一个基于SQL的全文检索引擎,可结合MySQL、PostgreSQL做全文检索,

Sphinx 可提供比数据库本身更专业的搜索功能,单一索引可达1亿条记录,1000

万条记录情况下的查询速度为0.x秒(毫秒级)。

SenseiDB

数据挖掘 Mahout

Linkin公司开发的一个开源分布式实时半结构化数据库,在全文索引的

基础封装了Browse Query Language (BQL,类似SQL)的查询语法。

Hadoop成员,目标是建立一个可扩展的机器学习库

美国国家航空航天局和Rackspace合作研发的,以Apache许可证授权

云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合

起来完成一些具体的工作,旨在为公共及私有云的建设与管理提供软件

OpenStack

Iaas

的开源项目。6个核心项目:Nova(计算,Compute),Swift(对象存

储,Object),Glance(镜像,Image),Keystone(身份,Identity),

Horizon(自助门户,Dashboard),Quantum & Melange(网络&地址管

理),另外还有若干社区项目,如Rackspace(负载均衡)、Rackspace

(关系型数据库)。

Docker

应用容器引擎,让开发者可打包应用及依赖包到一个可移植的容器中,

然后发布到Linux机器上,也可实现虚拟化。

Kubernetes

Imctfy

Dapper

监控管理

Zipkin

Google开源的容器集群管理系统

Google开源的Linux容器

Google生产环境下的大规模分布式系统的跟踪系统

Twitter开源的参考Google Dapper而开发,使用Apache Cassandra做

为数据存储系统


本文标签: 数据 开源 支持 分布式