数据仓库之父Bill Inmon在1991年出版的Building the Data Warehouse 一书中初次提出了被广为认可的数据仓库界说。Inmon将数据仓库描述为一个面向主题的、集成的、随时间变革的、非易失的数据集合,用于支持管理者的决议过程。这个界说有些复杂并且难以明白,针对界说中的关键词,我们分别来看看数据仓库所具备的特点。
随着当前大量信息化发展和电子设备产品普及,产生大量的照片、视频、文档等非结构化数据,人们也想通过大数据技术找到这些数据的关系。随之而来的数据湖就产生了。
数据湖的概念初次于2010年被James Dixon在其博客帖子(Pentaho, Hadoop, and Data Lakes | James Dixon’s Blog)中提及 :
既然都是拿数据为业务服务,数据湖和数仓作为两大“数据集散地”,能不能相互整合一下,让数据活动起来,少点重复建立呢?,于是,Databricks率先提出了湖仓一体(Data Lakehouse)的概念。 湖仓一体是一种结合了数据湖机动性和数据仓库规范性优势的新范式,在基于数据湖的低成本存储上,实现与数据仓库中类似的数据结构和数据管理功能。
Data Lakehouse的概念是由Databricks提出的,其联合创始人兼首席执行官 Ali Ghodsi 说:“从久远来看,全部数据仓库都将被纳入数据湖仓,这不会在一夜之间发生——这些东西会共存一段时间——但这个官方的天下纪录清楚地证明,在价格和性能上,数据湖仓完胜数据仓库。”
现在大多数企业都还没有效到湖仓一体的新架构,他们要么选择了数据湖方案,要么选择了数仓方案。但大方向之下,特别是随着 AI 的兴起,完全纯数仓的二维关系表已经无法承接半 / 非结构化数据的处理,AI 引擎不大概只跑在纯数仓模型上。以是湖仓一体一定是未来的发展趋势。
Data Lakehouse的出现试图去融合数仓和数据湖这两者之间的差异,通过将数仓构建在数据湖上,使得存储变得更为廉价和弹性,同时lakehouse可以或许有效地提拔数据质量,减小数据冗余。
把数据湖和数据仓库集成起来只是第一步,还要把湖、仓以及全部其他数据处理服务组成统一且连续的整体,这就是Amazon Web Services提出的“智能湖仓”。
智能湖仓并非单一产品,它描述的是一种架构。
这套架构,以数据湖为中央,把数据湖作为中央存储库,再围绕数据湖建立专用“数据服务环”,环上的服务包括了数仓、呆板学习、大数据处理、日志分析,甚至RDS和NOSQL服务等等。
大家“环湖而饲”,既可以直接使用湖内数据,也可以从湖中摄取数据,还可以向湖中回注数据,同时环湖的服务相互之间也可以轻松交换数据。
Amazon Web Services官方给出了智能湖仓的参考架构