一、技术栈分层架构
大数据技术栈通常分为四个核心层级:
-
数据采集层
负责多源异构数据的实时/批量采集- 日志采集:FlumeFlumeFlume、LogstashLogstashLogstash
- 消息队列:KafkaKafkaKafka、RabbitMQRabbitMQRabbitMQ
- 数据库同步:SqoopSqoopSqoop、CanalCanalCanal
-
数据存储层
解决海量数据的分布式存储问题
HDFS(分布式文件系统) HDFS \text{(分布式文件系统)} HDFS(分布式文件系统)
NoSQL数据库:Cassandra, HBase NoSQL \text{数据库:} Cassandra, \ HBase NoSQL数据库:Cassandra, HBase
云存储: S3, Azure Blob 云存储:\ S3, \ Azure \ Blob 云存储: S3, Azure Blob -
数据处理层
实现批流融合计算- 批处理:Spark (RDD/DataFrame)Spark \ (RDD/DataFrame)Spark (RDD/DataFrame), MapReduceMapReduceMapReduce
- 流处理:FlinkFlinkFlink, StormStormStorm, Spark StreamingSpark \ StreamingSpark Streaming
- SQL引擎:HiveHiveHive, ImpalaImpalaImpala
-
数据应用层
支撑上层业务场景
机器学习: Spark MLlib, TensorFlow 机器学习:\ Spark \ MLlib, \ TensorFlow 机器学习: Spark MLlib, TensorFlow
可视化: Tableau, Kibana 可视化:\ Tableau, \ Kibana 可视化: Tableau, Kibana
调度系统: Airflow, Azkaban 调度系统:\ Airflow, \ Azkaban 调度系统: Airflow, Azkaban
二、能级演进背景
技术发展遵循"存储→计算→智能"的三阶跃迁:
-
基础存储能级(2003-2010)
Google发布GFSGFSGFS(2003)和BigtableBigtableBigtable(2006)论文,奠定分布式存储理论基础。Hadoop实现开源化,解决PBPBPB级数据存储瓶颈。 -
实时计算能级(2010-2016)
数据时效性需求催生Lambda架构:
批处理层+速度层→服务层 \text{批处理层} + \text{速度层} \rightarrow \text{服务层} 批处理层+速度层→服务层
Spark内存计算将批处理性能提升100×100\times100×,Storm实现毫秒级延迟。 -
智能分析能级(2016至今)
云原生架构推动技术融合:- 计算存储分离:SnowflakeSnowflakeSnowflake架构
- 批流一体:Flink Stateful ComputingFlink \ Stateful \ ComputingFlink Stateful Computing
- AI融合:TensorFlow on SparkTensorFlow \ on \ SparkTensorFlow on Spark
三、典型技术组合
场景 | 技术栈组合 | 吞吐量 |
---|---|---|
实时风控 | Kafka+Flink+RedisKafka + Flink + RedisKafka+Flink+Redis | >100K events/s>100K \ events/s>100K events/s |
数仓建设 | Hive+Spark+HDFSHive + Spark + HDFSHive+Spark+HDFS | EBEBEB级存储 |
用户画像 | Flink+ClickHouse+TensorFlowFlink + ClickHouse + TensorFlowFlink+ClickHouse+TensorFlow | 千维特征实时计算 |
四、发展趋势
- Serverless化:AWS GlueAWS \ GlueAWS Glue等无服务架构降低运维成本
- AI融合深化:PyTorch BigGraphPyTorch \ BigGraphPyTorch BigGraph支持万亿级图计算
- 隐私计算:联邦学习与差分隐私技术保障数据安全
当前技术栈已从单一工具演进为生态体系,需根据数据规模×时效性×业务复杂度数据规模 \times 时效性 \times 业务复杂度数据规模×时效性×业务复杂度三维度选择适配方案。