(1)软件时代
我记得SQLServer过去产品线很全:
1、数据库:Database
2、ETL、DTS、订阅分发
3、元数据管理:Meta Service
4、主数据管理:MDM
5、数据仓库:WareHouse
6、多维计算和多维分析:MDX、Cube
7、可视化:Report Service
8、数据挖掘:Analysis Service
9、检索搜索:FullText
我因为很多年不用微软技术了,不知道现在怎么样了。
但我们过去把这套东西叫做:Data Platform。
(2)互联网时代
自从互联网兴起以后,随着电子邮件、即时通信、音视频、BBS、博客、微博、问答、用户行为跟踪、云盘、云文档等等各种互联网应用的普及,对这些内容的存储、查询、统计、挖掘,要求海量、高性能、实时,所以就出现了各种SQL和NOSQL数据库,以及大数据查询引擎、搜索引擎、计算引擎、存储引擎、调度引擎。
一、OLTP数据生产类
如缓存:MemCache、Redis
如NewSQL:TiDB/TiKV、CockroachDB
如NOSQL:MongoDB、Neo4J、InfluxDB
如对象存储/文件存储:Ceph、MinIO、HDFS
二、数据传输类
如DTS/ETL:Sqoop、kafka/Pulsar
三、OLAP数据存储类
如OLAP数据库:Greenplum、Hbase、ClickHouse、Doris
如数据湖仓:Hudi、Iceberg、Delta
四、OLAP数据计算类
如计算引擎:MR、Storm、Spark、Flink
五、OLAP数据消费类
如查询引擎:Hive、HAWQ、Impala、Druid、Presto
如搜索引擎:ElasticSearch、Milvus
如可视化:SuperSet
如多维计算和多维分析:Kylin
如数据挖掘:Spark ML
我和软件时代的Data Platform对比了一下,主要是增加了专门的数据湖仓(如
Hudi、Iceberg、Delta)、专门的计算引擎(如Spark、Flink)这两样东西。但不知道为啥,就因为增加了这两样东西,Data Platform就变成了Data Middleware,数据平台就变成了只有中国人流行的数据中台。难道就是因为计算引擎(如Spark、Flink)像中间件?
谁知道原因,告诉我一声。
(3)中国企业SaaS云时代
现在大数据技术还都处于发展变化当中,所以产生了一堆大数据技术,意味着每个都只能干一点事,需要互相搭配着瞎子背瘸子,所以把事情搞的特别复杂。
这对于从中国企业软件时代走到企业SaaS时代的IT厂商来说,特别不适应。毕竟,过去的数据处理,都直接放给微软、Oracle、IBM这样的商用数据库套件厂商即可。现如今在中国,开源的不成熟,中国的云计算巨头们的大数据产品套件也不成熟,这就造成了旧的商用数据库套件时代已去,但新的商用大数据套件时代还未顶上来,这就不上不下尴尬了。这个尴尬,估计还需要持续三年。咱们2025年再看。
所以,在2025年之前怎么办?除了分库分表、归档、优化SQL、加索引、写JOB这些常规了20多年的动作以外,我们能做些什么?
一、建议1
我个人建议:先别追风扎入湖仓(如Hudi、Iceberg)。毕竟数据仓库擅长处理结构化数据、入仓前需要做好数据清洗,还得做好数据建模。而数据湖擅长处理非结构化数据、数据入湖之前不用做严格的数据清洗和数据建模。而现在互联网人想在数据湖技术基础之上建立数据仓库,Hudi、Iceberg之类的就是这个搞法。
但事实上,中国的企业SaaS,大部分都是把过去的企业内部管理软件重新开发一遍放到云上,哪有什么海量的非结构化数据?所以我个人不赞成中国企业SaaS厂商好奇害死猫地搞数据湖仓。
所以,我建议:先用好MPP数据库。如ClickHouse、Doris。我看字节用了上万台服务器ClickHouse,我也看百度也用了上万台服务器Doris。
另外,你看AWS的RedShift,人家也是来自PostgreSQL衍生。你看Pivotal的Greenplum,人家也是来自PostgreSQL。为啥咱们中国人老说PostgreSQL性能顶不住,老说Greenplum性能也顶不住?
二、建议2
我个人建议:也先别追计算引擎(如Spark、Flink)。用计算引擎的,都是搞复杂数据计算的。中国企业SaaS哪里有什么复杂数据计算?过去用SQL就能开发,现在就不能用SQL查询引擎(如Presto)了?
所以,我建议:先用好Presto(查询)、ES(搜索)。我看京东也用了好几千台服务器Presto。
如果需要多维计算和多维分析,我推荐Kylin。
如果需要做复杂数据计算的数据挖掘,我也不建议使用Spark ML。这个问题让搞机器学习、深度学习、人工智能的人去考虑他们的乘手工具。现在数据挖掘越来越靠近机器学习,而不是靠近数据科学。