数据中台商业的解决方案有很多,开源框架种类繁多,每一个模块都有很多开源的套件。以查询引擎为例,可以使用的开源工具有MySQL、Redis、Impala、MongoDB、PgSQL等。可以根据实际业务需要,选择合适的开源套件。

可供选择的解决方案太多,重点推荐开源解决方案,框架图如下图所示。企业的数据应用主要有离线计算和实时计算。建议离线计算优先选择Hive和Spark。Spark是基于内存的。实时计算目前主流的选择是Flink框架。

1.数据存储

互联网行业大数据的主流存储框架是基于Hadoop的分布式文件系统HDFS。由于其具有高容错性和适合批处理数据的特点,适合部署在低廉的PC服务器上存储海量的数据,数据存储的性价比较高。

2.离线计算

在HDFS的基础上,Hadoop生态又开发了离线数据仓库计算引擎Hive。Hive 基于MapReduce技术支持分布式批处理计算,同时支持以SQL操作的方式对存储在HDFS上的数据进行「类数据库」的操作、计算和统计分析。Hive 适合海量数据的批处理操作场景,操作简单,容错性和扩展性好,缺点是高延迟、查询和计算都比较慢,因此Hive被广泛应用在离线计算场景中,尤其是对海量数据的批处理操作和分析场景中。

因为基于MapReduce技术涉及磁盘间高频的I/O操作,所以Hive的计算效率较低,时效很长。为了提高计算的效率,Hive社区增加了新的计算引擎,即Spark。与MapReduce相比,Spark的RDD计算引擎基于内存进行计算,计算和查询效率显著提升。

目前,主流的离线计算框架采用Hive和Spark结合的方式。在100 个节点以下时,可以选用Hive作为数据仓库、Spark作为计算引擎。另外,对于海量数据场景(如节点数需要几百个甚至上千个时),Hive的优势是稳定性和容错性好,可以用于处理海量数据的复杂计算。Spark的优势是计算速度快,缺点是容易出现内存泄漏和不足,从而导致计算缓慢或者任务失败。在海量数据场景中,出于稳定的要求,Spark一般用于处理数据仓库上层的查询、计算和分析操作,而底层的操作由Hive完成。重点推荐使用Hive和Spark工具。

3.实时计算

开源的实时计算框架比较多,如Spark、Storm和Flink等。与Storm 相比,Spark的优势是用一个统一的框架和引擎支持批处理、流计算、查询、机器学习等功能。由于Spark的微批处理的设计机制,在处理流数据的时候,效率比Storm要低。整体而言, Spark 体系更加成熟, 易用性较好、社区文档和案例更加丰富,如果对于数据延迟要求是秒级,那么 Spark 更容易上手且能满足性能要求。

4.查询引擎

为了提高数据交互性查询的效率,在大数据时代根据不同的业务要求诞生了很多新的查询引擎,常见的查询引擎有HBase、Redis、MongoDB 等。按照大类划分,查询引擎可以分为SQL交互式查询引擎和NoSQL交互式查询引擎。HBase、Redis、MongoDB都属于NoSQL交互式查询引擎。

1)SQL交互式查询引擎

常用的SQL交互式查询引擎有Impala、Presto、ClickHouse、Kylin 等。Impala和Presto基于MPP架构,通过分布式查询引擎提高查询效率。ClickHouse、Kylin是目前主流的联机分析处理OLAP计算和查询引擎。Kylin 通过预计算机制,提前将客户经常查询的维度和指标设计好并进行预处理操作,以数据立方体模型(Cube)形式缓存,以便加快聚合操作和查询的速度,特别适合对海量数据的OLAP场景。由于需要提前将数据预处理好,Kylin需要消耗额外的空间,且无法高效支持随机的计算和查询。

ClickHouse 适合海量数据的大宽表(维度和指标较多的表)的灵活和随机的查询、过滤和聚合计算,写入和查询性能很好,而多表关联操作性能一般,尤其是多个数据量较大的表(即大表)关联的情况。其劣势是不擅长高频的修改和删除操作,在多用户高并发场景中性能一般。

Presto由Facebook开源,支持基于内存的并行计算,支持多个外部数据源和跨数据源的级联查询,在对单表的简单查询和多表关联方面性能较好,擅长进行实时的数据分析。在处理海量数据时,Presto对内存容量要求高,多个大表关联容易出现内存溢出。

Impala由Cloudera推出,是一个SQLon Hadoop的查询工具,也基于内存进行并行计算,目标是提供HDFS、HBase数据源复杂的高性能交互式查询。

2)NoSQL交互式查询引擎

HBase是基于key-value原理的列式查询引擎,适用于频繁进行插入操作且查询字段较多的场景,如统计每分钟每个商品的点击次数、收藏次数、购买次数等。HBase的列式扩展能力较强,理论上硬盘有多大,HBase 的存储能力就有多大。HBase不适用于大量更改(update)操作的场景。HBase的主要缺点是update操作性能较低。

Redis是内存数据库。Redis的原理是基于内存进行计算和查询。Redis 的存储容量与内存容量有关,支持的数据类型比较丰富,有一定的持久化能力,适用于高频 update 操作的场景,读写的速度都非常快。其缺点是内存容量有限,价格较高,一般用于存储非常有价值且需要高频读写的数据。比如,实时统计全站客户累计点击次数、收藏次数、购买次数等用于数据看板(dashboard)的展示。

MongoDB主要以JSON(JavaScript Object Notation)数据串格式存储数据,适用于表结构变化大的海量数据查询和聚合计算的场景,这是其区别于其他数据库的重要特色。比如,构建客户大宽表,客户的有关字段经常发生改变或增删,在这种场景中很适合用MongoDB存储并高效读取客户的单一维度信息或聚合信息。但是其写入操作和多表关联复杂操作性能一般,很少用于复杂的多表关联的计算场景。在实际应用中,一般会综合部署上述NoSQL引擎,满足不同的应用场景。

5.数据采集工具

开源的数据采集工具很多,如Sqoop、DataX、Scrapy、Flume、Logstash和StreamSets等。Sqoop和DataX主要用于采集结构化数据,Flume和Logstash主要用于采集非结构化数据。StreamSets同时支持结构化和非结构化数据的采集。

在结构化数据采集方面,与DataX相比,Sqoop的综合性能更好,社区更活跃,插件更丰富,使用更广泛。Logstash 更轻量,使用更简单,插件丰富,对技术要求不高,运维比较简单。Flume框架更复杂,偏重于数据传输过程中的安全,不会出现丢包的情况, 整体配置更复杂, 入门难度较高, 运维难度更高。StreamSets 通过可视化界面的拖、拽等操作实现数据的采集和传输,支持多种数据源,组件丰富,功能强大,简单易用,且内置监控组件,可以实时监控数据传输情况。

数据中台开源解决方案(一)相关推荐

  1. 浩鲸科技与帆软达成战略合作,重磅推出数据中台联合解决方案

    随着数字经济的蓬勃发展,加强外部合作和交流,互相借鉴先进的技术和理念,实现资源共享.优势产品互补等,是软件服务商推动创新的重要路径之一.在这一背景下,帆软软件与浩鲸科技的战略合作水到渠成. 10月12 ...

  2. apache atlas 案例_大数据元数据开源解决方案apache atlas

    [实例简介] 大数据元数据开源解决方案apache atlas,提供数据治理,元数据管理等功能 [实例截图] [核心代码] apache-atlas-1.1.0-sources.tar └── apa ...

  3. 让数据中台飞起来—— Quick BI性能优化解决方案及实践

    Quick BI"数据门户"在企业数据中台建设中的重要性 企业在数据中台初步建设完成以后,怎样让客户直观感受到数据中台的价值?企业决策者.各部门管理人员.业务运营人员如何通过统一的 ...

  4. 让数据中台“飞“起来— Quick BI性能优化解决方案及实践

    1 引言 Quick BI"数据门户"在企业数据中台建设中的重要性 企业在数据中台初步建设完成以后,怎样让客户直观感受到数据中台的价值?企业决策者.各部门管理人员.业务运营人员如何 ...

  5. 【iuap5.0特性解读】用友云数据中台 直抵企业数字化的核心

    一年一度的双十一在不久前结束,每年的双十一都是商家狂欢的日志,订单和销售额屡创新高.消费端的业务快速增长,对企业的运营带来了全新的变化.一大批互联网公司的实践下已经证明,在大数据支撑下,以数据为核心价 ...

  6. 分类VS标签,一文带你看懂数据中台为什么要建标签体系?

    前言 在众多的数据中台的解决方案中,一个叫做"标签中心"或"标签体系"的应用,几乎成了数据中台的"标配". 乍一看,标签体系就像一个树状的分 ...

  7. 阿里云数据中台 Quick Audience 智能用户增长正式发布

    简介:Quick Audience智能用户增长作为一站式消费者资产管理和运营平台,通过快速消费者数据接入,丰富的消费者洞察模型和策略配置,完成消费者多渠道触达,助力企业实现用户增长. -更多关于数智化 ...

  8. 阿里云峰会|阿里云数据中台重磅升级后拟扶持100万家企业数智化

    6月9日,在2020阿里云线上峰会上,阿里巴巴集团副总裁.数据技术及产品部负责人朋新宇推出Quick Audience.Quick A+两款全新产品,并升级Dataphin和Quick BI两款现有产 ...

  9. 建议收藏!数据中台行业发展概况及展望

    导读:社会经济高速发展.不断变革的时期,各行业的企业都面临着来自客户.友商以及整体市场环境的考验,传统的商业模式和增长逻辑正面临持续发展的瓶颈.随着企业业务创新不断加快,对数据开发的响应速度提出更高的 ...

最新文章

  1. 判断两个图片的特征向量_响应式布局提高篇 图片正确的打开方式
  2. 最长公共子序列LCS[C++题解]
  3. k8s系列--- dashboard认证及分级授权
  4. 图像模糊--快速均值滤波
  5. Goroutine Local Storage的一些实现方案和必要性讨论
  6. Apache 2 移植到Arm开发板
  7. AI机器视觉技术在生活中的应用
  8. DB2数据库基本操作
  9. C++ UPD广播异步发包工具
  10. 浅析R语言单因素方差分析中的多重比较
  11. 工欲善其事必先利其器-SpringBoot源码研究之源码编译
  12. 如何读书阅读--每天一本书计划
  13. Ubuntu下vsftpd - 虚拟账户配置
  14. Docker源码分析(三)之Docker Daemon
  15. 【微信公众号开发】自我学习第二章:关注事件触发的自动回复
  16. 网页(全屏)背景图实现方式(纯CSS向)
  17. lingo与matlab用哪个?matlab能代替lingo吗?非线性规划求解器Lingo,Matlab使用心得
  18. 简单而强大的logo制作工具-AAA Logo
  19. 11月11日在线研讨会预热 | ODX诊断数据库转换工具 — VDC(ODX)
  20. 用R计算Z得分(Anthor包)

热门文章

  1. 2022登高架设操作证考试题库及模拟考试
  2. composer 报错解决:[InvalidArgumentException] Could not find package
  3. 设计模式的原则和常用的模式
  4. 苹果公司战略管理分析
  5. 数据结构 实验14(1-2班):(深入理解索引存储结构)三元组存储的稀疏矩阵建立行列索引并求鞍点
  6. STM32 快速入门(内核架构,启动方式,开发参考资料,芯片选型)
  7. Vue Class Component详解
  8. 基于AutoHotkey的智能翻译器
  9. nn.CrossEntropyLoss总结
  10. 【隐私大战】疫情下的“奢侈品”