[大数据]高通量低延迟的云环境大数据流水线架构( 三 )
本文插图
图 5 使用开源技术构建的数据处理流水线
架构中的主要组件和技术选择如下:
- 使用 HTTP/MQTT 终端节点获取数据 , 并提供结果 。 这里存在多种架构和技术可选 。
- 使用发布 / 订阅消息队列获取海量流数据 。Kafka 目前是事实上的标准 , 其经实践考验 , 可扩展性满足高流量数据获取需求 。
- 使用低成本高容量的数据仓储实现数据湖和数据仓库 。 可选技术包括 Hadoop HDFS 和 AWS S3 等 BLOB 存储云服务 。
- 使用查询和目录基础设施 , 实现将数据湖转换为数据仓库 。 这里广泛选取的是 Apache Hive。
- 使用 MapReduce 批处理引擎实现高通量处理 , 例如 ,Hadoop Map-Reduce 、 Apache Spark 等 。
- 使用流计算实现对低延迟性有要求的处理 。 例如 ,Apache Storm 、 Apache Flink。 对于编写数据流计算 ,Apache Beam 不失为一种新选项 。 它可以部署在 Spark 批处理和 Flink 流处理上 。
- 使用机器学习框架实现数据科学和机器学习 。 例如 , 普遍使用的 Scikit-Learn 、 TensorFlow 和 PyTorch 等实现机器学习 。
- 使用低延迟数据仓储实现结果的存储 。 数据仓储上存在有很多经实践考验的选项 , 可根据数据类型、性能需求、数据规模和实现代价等做出选取 。
- 可使用部署编排工具 。 例如 Hadoop YARN 、 Kubernetes / Kubeflow 等 。
- 吞吐量取决于数据获取(即 REST / MQTT 终端节点和消息队列)的弹性、数据湖的存储容量 , 以及 MapReduce 批处理 。
- 延迟取决于消息队列、流计算和存储计算结果数据库的效率 。
本文插图
图 6 Amazon Web Services(AWS)的无服务器数据流水线架构
本文插图
图 7 Microsoft Azure 的无服务器数据流水线架构
本文插图
图 8 Google Cloud 的无服务器数据流水线架构
生产环境
本文插图
图 9 对于生产环境 , 简单性往往优于完美
请读者注意 , 图中选择的三角形帐篷形状 , 并非需要最少粘合剂的方式 。 对于降低潜在的错误 , 至关重要的是如何给出所需的部分 , 以及整体操作的简单性 。
对于不具操作性的分析和机器学习 , 生产环境将成为它们的埋葬之地 。 如果用户未对 7x24 全天候监测流水线处理做出投资 , 使得在某些趋势阈值被突破时就发出警报 , 那么数据处理流水线可能会在没有引起任何人注意的情况下失效 。
请注意 , 工程和运营支出并非唯一的成本 。 在决定架构时 , 还应考虑时间、机会和压力成本 。
数据流水线的实操是一件非常棘手的事情 。 下面给出我历经波折获得的一些小经验:
- 在扩展数据科学团队之前 , 先扩展数据工程团队 。 数据科学这列货运列车必须先铺设铁轨 , 然后才能运行 。
推荐阅读
- []重庆移动-亚德高等级数据中心落户西永微电园
- 平台■在线视频平台大数据杀熟成惯例 买VIP就活该被宰?
- 「数据线」手机充电慢?那你需要看看是不是这些地方出了问题
- 大数据:这套绝对是2020年大数据最全面的线路图+实战项目+源码限时赠你
- 【Ace】原创 用实际数据发声,OPPO Ace2的这些亮点你要知道
- #颜七公子#TunesKit iPhone Data Recovery for Mac(iPhone数据恢复工具)
- 华为荣耀■华为突然宣布新5G处理器,高通直叹气,很无奈,差距又拉大了
- 「台湾积体电路制造公司」台积电正式宣布!苹果华为或成最大赢家,高通还是晚了一步!
- 邓锄头挖科技■关于IDC数据中心的“容量管理”的目标和3种子业务场景
- 技术@为楼宇安上“智慧大脑”,翠苑街道开创“一平台”数据互通模式
