欢迎大家来到IT世界,在知识的湖畔探索吧!

欢迎大家来到IT世界,在知识的湖畔探索吧!
滴普科技的实时湖仓平台FastData,便是典型产品之一。滴普科技资深技术专家将对不同类型的产品进行解析,并阐释滴普科技的创新实践。
撰文 | 维亮 编辑 | 昕然本文共计2400字,阅读需要5分钟
上次提到了在云上和云原生环境下,云数据库特别是OLAP系统、数据湖仓 LakeHouse,采取存算分离架构带来的种种好处。(点击链接可直接回顾文章)
那么,这种架构有没有什么短板呢?答案是肯定的。在现实中,云计算存储基础设施(S3等对象存储和分布式文件系统)与计算之间有着巨大的带宽差距和高延迟,对 Ad hoc 类查询的执行时间和最终用户的体验有着直接的影响。
在这种情况下,在架构上我们有没有什么优化的手段呢?本期文章以云数仓的引领者 Snowflake 和 Delta Lake 为例,探讨一下我们可以从传统数据库领域借到哪些法宝解决这个问题。
1
Snowflake 的存算分离架构
Snowflake 是云数仓领域的开拓者、采用存算分离架构的首倡者,Snowflake 将这个创新的架构称之为multi-cluster,shared-data架构。
从整体上看,分为3层:Cloud Services、Virtual Warehouse(VW)和 Data Storage。VW 是一个或多个 AWS EC2(虚拟机)组成的 Cluster,Cluster 本身是 Snowflake 私有的基于 shared-nothing 架构的计算层。Data Storage 采用AWS 的S3 服务(可替换成Azure Blob存储,或Google Cloud Storage),作为共享的存储层。Cloud Services 公共服务则集成了 optimizer、Metadata storage等服务。
Cache 在计算机系统架构是一个非常重要的概念,对系统的性能起着关键作用。Snowflake 将数据分为冷数据和热数据,冷数据(和全量数据)保存在S3存储,热数据(部分表、列和索引)cache 在VW节点的本地磁盘(利用SSD硬盘可以取得最好的性能),以尽量减少计算节点与存储节点之间的流量。一旦 cache 完成了预热,性能可以接近甚至超过传统 shard-nothing 数仓。


免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/101019.html