今天的文章,我们聊一下:企业如果准备自研大数据平台,有哪些开源工具可以使用。
“唐晨,我们是一家乳制品制造企业,准备自己搞一套大数据平台,合适不?”
“我不建议自建,你们现在有用哪家企业的产品没?”
“现在买的某云的 SaaS 产品,太贵了,刚开始每年100 多万,现在每年订阅费都 200 多万了,还是持续涨,这还不算单独的计算和存储服务器成本,老板让我们招人自己搞一套。”
“主要是成本考虑,还是对服务不满意?”
“都有,主要是成本,现在不都再搞降本增效嘛,而且我们对他们的服务也不太满意,响应不及时,承诺的 24 小时服务,其实半夜出了告警,根本联系不到人,第二天都要等他们上班后才能处理。”
“我还是不建议自建,坑比你们想象的要多得多,很多企业都是自研玩不转,后面才找的供应商。不过可以推荐给你一些知名的组件,可以先找内部人定向研究研究,也有利于和供应商沟通,毕竟很多商家的产品也用了大量的开源组件,即使自研的,技术架构设计和开源组件也是看齐的。”
“行,我们先研究研究”
声明一下:当前针对大数据平台/数据中台并没有完整的可用的开源产品。这里说的开源软件,更多的是数据中台依赖的一些开源组件。
| 01 自建,首选开源
重复造轮子可能是每个企业管理者最痛恨的事情,作为打工人其实并不是每个人都排斥重复造轮子的,毕竟自己造的轮子更有“成就感”。
在系统建设中,选择开源软件主要基于以下考虑:
重新造一个轮子,投入大、耗时长、见效慢;
后续维护成本高,人员多轮离职后,系统难以维护;
和开源软件比迭代速度慢,跟不上业务发展;
所以,初创团队规模小,业务需求非常紧急的情况下,使用开源软件可以大大提高团队的产出效率,并且能够快速完成团队目标。
| 02 大数据平台开源组件推荐
前面的文章,我们介绍过完整的数据中台的技术架构,数据中台技术架构。
涉及到基础应用软件、存储引擎、计算引擎、中间件、采集、调度等软件。
接下列举一下,业内比较知名的一些开源组件,这些组件很多大公司也都在用。
# 01 应用基础能力平台

# 02 常用大数据基础开源组件

# 03 用分布式存储及计算开源组件

# 04 常用数据开发开源组件

| 小结
开源的组件并不是“灵丹妙药”,很多时候甚至无法拿来直接使用,特别是很多大数据领域相关的组件都是由国外公司/组织主导,开源组件的迭代发展很多没有考虑大陆企业的特殊场景和需求。
另一方面,开源组件本身在持续迭代中,也有很多问题和缺陷,这也是为什么我们经常可以在网上,看到各种开源软件的避坑指南。
很多开源软件背后都有一家商业公司在运作,开源本身不是公益,很多时候就是一种商业运营模式。
让免费用户使用,并且通过用户的使用反馈不断地来完善软件,而面向付费用户,则基于开源软件提供高质量、高保障的企业级服务。
我是不建议中小企业自建大数据平台基座的,如果企业硬要直接使用开源组件拼装自己的大数据平台,我只能提供几个建议:
尽量简化架构和支撑场景,不要一上来就搞流批一体,湖仓一体,不知道水有多深前,不要一头扎进去;
底层存储和格式尽量用开源的,给自己留个退路,后期还可以做迁移;
缩小场景和边界后,尽量统一引擎,比如统一用 spark 或者 flink ,虽然,他们无法支撑全场景,但是,你刚开始一定要收住口子,不要一上来搞五六个引擎,不然以后睡不好觉了。