用F#从0开始打造一个大数据处理平台(1.整体规划)

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,182元/月
云原生网关 MSE Higress,422元/月
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
简介: MapReduce框架是必须的 Bigtable实现是必须, Bigtable的底层分布式文件系统是必须的, 监控管理的组件是必须的,为了在分布式文件系统以外, 存储各种元数据, 还需要一个轻量级的nosql数据库

这一大系列博客将介绍一个伟大的大数据处理平台是如何诞生的.

预计会有很多很多篇,持续很长很长时间. 为什么说 "伟大" 呢? 因为这将打造一整个新的体系. 不同于现有的大数据生态圈里各种产品的新的函数式体系结构.  数据处理本是函数式语言的专长, (比如Map 和 Reduce 是所有函数式语言的最重要的两个基础函数---哪怕在某些语言中不叫这两个名字), 无奈Hadoop 根植于jvm, 来源于Java,带动整个社区生态从hdfs, hbase, zookeeper, spark 以及其上的各种组合的平台, 都走java系.  现在说大数据处理, 不管用的哪一套体系, 最终都会走到hadoop的hdfs上去. 全世界都这么走.


但是, 万一全世界都错了呢?  hdfs 并不完美, 而且是跟完美完全不沾, 他有各种问题, 甚至从一开始, 他就做错了一些事, 并且越错越远.   


我们在大数据处理上, 需要的核心是一个Bigtable实现, 和一个MapReduce框架. hadoop 的实现上先有hdfs, 后来才有hbase这个bigtable实现, 因此是hbase去适应和迁就hdfs了.  这就导致了一些不必要的复杂性.


在我们实现里, 我们在设计我们的分布式文件系统时, 我们是假设我们已经有一个bigtable实现, 我们的这个实现, 需要什么样的分布式文件系统来支撑它,  我们就打造一个那样的文件系统. 而对我们的bigtable实现没有帮助的功能,我们则尽量不添加. 


整个过程设计遵从 "正交性" 原则, 并且尽力让一切回归本源的简单性, 因为: "如果把简单的事情做复杂, 那以后事情变复杂以后就会太复杂了!".  hadoop就是把简单事情做复杂的一个典范, 当然包括大多数 "成熟" 的 java 系的apache开源项目都有这个问题, 就是早期为了以后莫须有的扩展性而过度设计了, 这里面的罪魁祸首其实是 "开闭原则", 为了不修改现有代码而增加或修改功能, 增加了大量的抽象层. 而实际上, 最终还是在大版本里通过重构大量修改了代码. 


作为有极大量开发者的开源项目, 这可能是没办法的事情. 带来的问题, 也基本是无解的.


我们这个新轮出来的体系, 必须尽力回避这种附加的复杂性.


整体上的规划:

  1. 为什么用F#?  因为我们需要一个函数式的基因来引导我们走出一条函数式主导之路,  Haskell和其他大多数函数式语言缺乏一个足够强劲的工业化强度的运行时环境作为支撑.  Clojure 生成的bytecode质量使得它可能并不是合适的性能热点位置的选择.  另外一方面, 作为现在最广泛的2个高强度的运行时.Net 和 Jvm , 其实各有优缺点, 选择一个与hadoop不同的基础平台, 有助于在未来的演化中引入.Net的特色而产生更多差异化.  当然, 出于跨平台考虑, 我们的 F# 将只使用Mono 和 .Net Core 的交集部分的特性.
  2. 我们将会轮哪些部分?  首先MapReduce框架是必须的(相当于hadoop mapreduce或spark的地位), Bigtable实现是必须(相当于hbase的地位), Bigtable的底层分布式文件系统(相当于hdfs)是必须的, 作为分布式体系, 一个监控管理的组件是必须的(相当于zookeeper)同时为了在分布式文件系统以外, 存储这个框架的各种元数据, 包括文件系统自己的元数据, 我们还需要一个 轻量级的 key-value 的nosql数据库(至少可以当我们的分布式文件系统的分区表.....) 
  3. 上面需要的那些组件, 现在 .Net 世界里都没有合适的么? 最后那个nosql数据库显然我们已经有类似RavenDB这样的东西了, 不过它太重了, 而且性能特点跟我们需求不太符合, 我们需要的是一个支持超快速写入和读取的, 支持非常大数据量的, 越简单越好的数据库.  其他几个, 至少现在我是没有找到. 
  4. 这个项目会开源么?  当然, 一定会. 我将放在github上.
  5. 项目名称是 Longlad 
    1. Longlad.MetaStore 是我们的KV数据库
    2. Longlad.FileSystem 是我们的hdfs替代品
    3. Longlad.Bigtable 是我们的hbase替代品
    4. Longlad.MapFold 是我们的spark替代品
    5. Longlad.Guard 是我们的zookeeper替代品
    6. Longlad._______ 未来如果时间够, 再加吧, 因为上面5个已经是超大工程了(这项目申请国家核高基的资金怕都不过分....)~~~
  6. 组件之间的大体关系, 与 hdfs/hbase/spark/zookeeper 的关系类似, 我就不多解释了. 至于那个Longlad.MetaStore 是作为其他几个的一个子部件存在的.
  7. 开发的顺序预计将会是: 1,2,5,3,4 下一篇开始从Longlad.MetaStore实现
万里长征, 一步还没走, 只是穿了鞋子了,  以后坚持每周更新1-2篇.
相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
1月前
|
数据可视化 关系型数据库 MySQL
基于python大数据的的海洋气象数据可视化平台
针对海洋气象数据量大、维度多的挑战,设计基于ECharts的可视化平台,结合Python、Django与MySQL,实现数据高效展示与交互分析,提升科研与决策效率。
|
4月前
|
数据采集 人工智能 大数据
10倍处理效率提升!阿里云大数据AI平台发布智能驾驶数据预处理解决方案
阿里云大数据AI平台推出智能驾驶数据预处理解决方案,助力车企构建高效稳定的数据处理流程。相比自建方案,数据包处理效率提升10倍以上,推理任务提速超1倍,产能翻番,显著提高自动驾驶模型产出效率。该方案已服务80%以上中国车企,支持多模态数据处理与百万级任务调度,全面赋能智驾技术落地。
494 0
|
1月前
|
传感器 人工智能 监控
拔俗多模态跨尺度大数据AI分析平台:让复杂数据“开口说话”的智能引擎
在数字化时代,多模态跨尺度大数据AI分析平台应运而生,打破数据孤岛,融合图像、文本、视频等多源信息,贯通微观与宏观尺度,实现智能诊断、预测与决策,广泛应用于医疗、制造、金融等领域,推动AI从“看懂”到“会思考”的跃迁。
|
4月前
|
分布式计算 算法 大数据
大数据时代的智能研发平台需求与阿里云DIDE的定位
阿里云DIDE是一站式智能大数据开发与治理平台,致力于解决传统大数据开发中的效率低、协同难等问题。通过全面整合资源、高度抽象化设计及流程自动化,DIDE显著提升数据处理效率,降低使用门槛,适用于多行业、多场景的数据开发需求,助力企业实现数字化转型与智能化升级。
133 1
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
1617 1
|
9月前
|
存储 SQL 大数据
【重磅发布】AllData数据中台核心功能:湖仓一体化平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
【重磅发布】AllData数据中台核心功能:湖仓一体化平台
|
9月前
|
SQL 存储 HIVE
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
本文整理自鹰角网络大数据开发工程师朱正军在Flink Forward Asia 2024上的分享,主要涵盖四个方面:鹰角数据平台架构、数据湖选型、湖仓一体建设及未来展望。文章详细介绍了鹰角如何构建基于Paimon的数据湖,解决了Hudi入湖的痛点,并通过Trino引擎和Ranger权限管理实现高效的数据查询与管控。此外,还探讨了湖仓一体平台的落地效果及未来技术发展方向,包括Trino与Paimon的集成增强、StarRocks的应用以及Paimon全面替换Hive的计划。
1080 1
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
|
8月前
|
SQL 存储 HIVE
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
589 2
|
9月前
|
数据采集 监控 大数据
大数据项目管理:从规划到执行的全景指南
大数据项目管理:从规划到执行的全景指南
152 4
|
9月前
|
SQL 人工智能 大数据
【4月重点功能发布】阿里云大数据+ AI 一体化平台
【4月重点功能发布】阿里云大数据+ AI 一体化平台
234 0