技术发展的最终目标都要服务于价值,成本驱动技术进步。
事务的数据价值很高,大数据的数据价值密度相对较低,而 Serving 是基于中间的一个场景。Zetta 就是在这个价值密度条件下降低查询成本和使用成本的一个成本折中的产品。
知乎的 Zetta 希望成为 TiDB 生态伙伴,因为 TiDB 的生态,不仅是开放的,而且是成熟的。同时,Zetta 也希望可以在 TiDB 的生态里面成为 Serving 场景下的伙伴。优品拍拍
在此之前,我们也有一些权衡,如下图,黑色部分是我们已经做了,橙色是我们正要做的,蓝色是我们现在计划去做的。
Zetta 可以选择一致性的级别,支持在强一致读和弱一致读的选择,当然这是根据业务场景来决定的。Zetta 还支持非事务,比如说它可以为了更极端的性能而放弃对事务的要求。另外,Zetta 在未来将会支持缓存读取,这将带来性能的进一步提升。
在访问模式中,Zetta 支持宽列的模式。宽列就是一个特别宽的表,这个列是可以不断动态增加的,并且还可以选择高表模式或者宽表模式,这两种模式在物理上是不太一样的,但是在 Zetta 中可以设置。另外 Zetta 还使用了聚簇索引以提升性能,此外还有 Hash 打散。