2.2 数据仓库
数据库的规模提升以后,不可避免地会出现一个场景——对历史数据进行大规模分析计算,这就是最原始的OLAP场景。用于应对这个场景的数据库,一般被称为数据仓库(Data Warehouse)或者分析型数据库(近几年流行的名词)。从这细微的差别可以看出,数据仓库在不断地证明自己其实不止可以做异步,也可以做一些实时性更强的大规模计算。
在实时数据仓库领域,阿里云最出彩的两个系列分别是AnalyticDB(以下简称ADB)和HBase。ADB是完全自主开发的实时数据仓库系统,有兼容MySQL和兼容PGSQL两个版本,它是典型的列存储数据库,因此对于处理大批量计算有很大的优势。
HBase本质上是NoSQL,但它更像是MongoDB的另一种形态,它不是列存,而是列簇数据库,支持结构化和半结构化的数据存储。HBase的生态非常丰富,它的多模品种非常多,有全文检索、时序、时空、文件检索等多种能力。它本身不支持SQL,但有各种SQL组件能力,比如PhoenixSQL、CassandraSQL等。
阿里云经过多年努力,终于把HBase生态整合到一个产品中,即Lindorm(灵动数据库)。Lindorm本身是HBase宽表引擎,支持全文引擎、时序引擎、文件检索引擎,同时还支持多种存储介质,冷数据可以被写入OSS廉价存储,直接和DLA(数据湖分析)联动。
因此湖仓一体,也是非常流行的概念。但数据湖本身没有太多限制,非常容易接入,基本上有一套OSS归档数据,DLA就可以分析。而数据湖的数据量往往很大,加工好的数据或者更适合线上的数据,会流转到数据仓库里,所以有一个名词叫“环湖生态”,指的是围绕数据湖的周边计算对接。
因为篇幅有限,本节只重点介绍这两个系列的代表产品:AnalyticDB for MySQL和Lindorm。