前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Snowflake发布UniStore,进军HTAP

Snowflake发布UniStore,进军HTAP

作者头像
用户1564362
发布2022-06-16 12:45:57
7860
发布2022-06-16 12:45:57
举报
文章被收录于专栏:飞总聊IT飞总聊IT

新粉请关注我的公众号

在一年一度的Snowflake Summit上,Snowflake宣布它们发布最新的UniStore,正式进军HTAP市场。

UniStore是Snowflake的一个新的存储引擎,不是Column Store 是个Row Store,它保证了Snowflake对一个row的访问会很快,并支持事务处理。

在UniStore上创建一种新的类型的表叫做HybridTable。这种表可以支持事务处理,用户可以在上面执行OLTP的操作。同时这种表也支持OLAP的操作。因此,这就成了HTAP,同时支持事务处理和分析处理。

HybridTable也开始正式支持一些以前OLAP不支持的东西,比如说Primary Key和Foreign Key。比如说某些类型的索引。目前公布的信息并不是很多。

创建的HybridTable必须要有Primary Key,Snowflake系统会确保这个Primary Key是唯一的。这听起来好像有点意思,为什么必须要Primary Key呢?我们等一下再说。

根据Snowflake公布的信息,Adobe, UiPath, IQVIA, Novarits这几家公司是early adoptor,其中Adobe尤其是早期用户。

Adobe也为Snowflake站台,对在UniStore上同时做事务处理和分析处理的能力赞不绝口,表示好好好。

以上是公开关于UniStore和HybridTable的信息,Snowflake官宣的内容大概就这么多了。

那么下面说一点独家的吧。为什么每个HybridTable需要一个primary Key,这很容易联想到底层用了什么存储。大概率是一个Key-Value Store。

我悄悄问了一圈,结果有人告诉我,底下用的是Foundation DB。有关Foundation DB这个东西,我2018年写过深入分析,有兴趣的,自己在我的公众号上考古吧。我公众号上很多古老的东西,今天去看也还是有点价值的。

但是大概率我觉得这个Foundation DB肯定是魔改过的,不可能是之前那个。

Snowflake之前魔改过一版本,用来处理它的metadata service。

但是Metadata service对throughput和latency的要求,和data上做transaction对这些东西的要求不一样。

不管怎么样,这样一来,底层的存储和TiDB就有点像了。不知道它有没有搞TiDB那样用Raft复制三副本保持稳定性。我希望它最好没搞,因为搞了的话,单机性能大概率和TiDB一样废掉了。

这样一看,Snowflake和TiDB要开始PK HTAP了。但是其实也不尽然,因为TiDB的OLAP不是用Key-Value Store做存储的,用的是魔改的ClickHouse做的。

也就是说TiDB是真的有两份数据,一份给OLTP用一份给OLAP用。而今天看到的这个UniStore,至少现在的实现来看,OLTP的数据并没有额外的OLAP的备份。

很多细节都没有公布出来,比如说,可不可以建索引啊,索引是不是clustered,能不能索引用Column Store来存啊,等等等等了。

但是不管怎么样,如果用Foundation DB来做底层的存储的话,除非魔改的很好,不然Foundation DB的各种问题也继承过来了。总之Foundation DB怎么看都不是一个很好的事务存储引擎。

但是Snowflake依然选择了它,大概率是因为之前魔改做Metadata Service有技术积累了吧。继续魔改也不怕。

现在更有意思的是看Databricks怎么玩了。毕竟Databricks现在想玩LakeHouse,而Snowflake现在却跑去做HTAP了。总是有种Databricks被Snowflake牵着鼻子走的感觉。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-06-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 飞总聊IT 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档