以谷歌2003年发表大数据三驾马车论文为大数据元年,已经过去了20年,2024是大数据发展一个新的20年开始。
市场上对于各种应用场景的大数据技术正在蓬勃发展,有些已经成熟,有些还在优化,如果站在2024年去解决大数据应用场景技术选型,我们该如何做?
大数据技术能做什么?
首先,明白大数据对比的是传统数据处理方式;
从技术角度对比传统与大数据:存储、迁移、处理/计算方式:
传统数据存储:
传统单机中间件只能存储MB到GB的数据量;
文件存储依靠单机磁盘(TB);
大数据存储:
大数据中间件系统可以扩展存储到GB,PB或EB级数据量,例如HBAS/MONGODB/ES;
文件系统依靠分布式存储系统,可以将多个机器统一存储,例如GFS、HDFS,S3等;
传统的数据管道:
FTP(文件传输协议)、connect(http连接通道);依靠机器的七层协议和中间件的自定义读写方式,通常是串行方式,通过多线程多进程方式加快读写速率;
大数据管道:
通过插件kettle/flume/canal/sqoop/datax/fileBeat/logStash/FlinkCdc等、Flink引擎自定义、spark引擎自定义等方式,实时或离线,全量或增量迁移系统、网络、中间件组件之间的数据;
传统计算方式:
机器语言的逻辑(java/python/C++等)与中间件(mysql/PG)自带的计算引擎两种灵活的方式;
大数据引擎:
大数据的机器语言包装成高并发的方式,采用分布式多层计算得到大数据场景下的灵活计算,例如,MapReduce/tez/spark/flink等;
与大数据组件(对比中间件)自带的计算引擎,通过组件对数据的先加工,再通过组件自身的引擎得到指标结果,例如,Hbase/ES/Doris/starRocks/Kylin/ClickHouse等;
从大数据的应用场景反向对比传统技术的能力:
大数据的应用场景有:离线存储、实时存储、离线计算分析、实时计算分析、实时业务
传统方式:
中间件(mysql)或文件;对于需要长久离线存储的数据,通常使用OLTP数据库,将跨越月,年的数据留存,通过分表分库的方式留存;
大数据方式:
通过分布式文件系统,或者HDFS、Hbase、ES、MongoDb、Doris等分布式存储系统,将数据存入集群磁盘;
传统方式:
通过中间件存储写入;
大数据方式:
通过消息队列,kafka/RocketMQ/Pulsar存储集群集成实时产生的数据;
传统方式:
利用机器语言配合中间自己的引擎,计算分析报表指标;
大数据方式:
离线数仓分析能力;
传统方式:
利用实时写数据到中间件,将实时计算逻辑配合中间件自己的引擎,然后暴露机器语言的API,实现传统实时分析;(OLTP数据库)
大数据方式:
1.监控消息队列,使用实时计算引擎,内置状态,实时计算分析结果,将结果同步到高QPS的中间件,然后配合机器语言API提供分析结果;例如:(kafka队列+Flink(计算)+Mysql/ES(应用));
2.或利用高QPS的大数据组件,将数据实时写入组件,利用组件自身提供的数据API,通过组件自己的数据API,执行DSL返回实时结果,可在计算机语言内部分析,也可通过引擎直接返回结果数据应用(具体看分析场景);例如:Hbase、ES、kylin、ClickHosus、Doris/StarRocks等
传统方式:
高QPS的的中间件引擎;
大数据方式:
使用实时的大数据引擎,配合高TPS的中间件或可提供高QPS数据API的大数据组件,将客户端嵌入机器语言的代码逻辑中;
例如:
1.Flink实时计算+Redis客户端嵌入代码分享结果;
2.Flink实时计算+Kafka队列,机器语言监控队列,数据驱动服务;
3.Flink实时处理+Hbase记录+数据API实时随机读写分析,驱动服务;
4.Flink实时处理+ES+Hbase存储,配合数据API配合做数据业务驱动;
......
大数据技术百花齐放,为了解决特定场景,开发了不同应用组件;
组件之间基础能力,存储+计算+数据提供API是共同的,只是面对特定场景的性能不同;
比如:
1.同样是数据存储HDFS存储大文件、FastDFS存储小文件;
2.Hbase随机读写,value能存的数据量大,Redis随机读写,大小限制,但是TPS/QPS高;
3.ES、Sorl、Lucene都是有倒排索引,全文搜索的特性,ES存储大小和可用性更高,Lucene更轻量级可嵌入机器语言;
4.ES、ClickHouse对大宽表的OLAP分析,对关联分析支撑不足,Doris/StarRocks拥有联机分析,三者都有即席查询能力;
5.HIve和Doris都能用于数仓构建,hive基于HDFS的稳定性优于Doris,Doris的Mpp分析能力,实时性,联邦查询等优于Hive;
6.ClickHouse和Doris对标,OLAP分析,即席查询性能,ClickHouse对单表的分析能力和并发上优于Doris,Doris在关联分析和应用场景的适配上优于ClickHouse;
7.平台类服务也是基于这些存储、计算、资源管理、任务调度等做的配置化管理操作。