F1解读

来源:互联网 发布:淘宝图片水印怎么去掉 编辑:程序博客网 时间:2024/06/11 01:41

      F1最初定位是一个SQL查询引擎,本来是架构在Mysql的分布式集群上。由于Mysql本身的reshared以及分布式事务上的冲突几乎是无解,最终放弃Mysql分布式存储,而转而使用Spanner。单独的F1并不能称为一款数据库。这点在F1论文题目有所误导,更准确的来讲F1是一款SQL执行引擎,包含了二级索引等一些常见的传统数据库功能。和Spanner结合起来才完成了Nosql+Sql=newSQL的壮举。

      F1论文相对Spanner更易懂一些。F1的Server都是无状态机,可以随时扩容、缩减。用户连接在F1 Server上的连接失败换一台即可,当前查询会失败,但是重新连接的F1 Server能继续提供服务。

      F1开篇提到他们最终达到4个目标:1、可线性扩展;2、高可用;3、一致性;4、丰富的SQL功能。前三个大部分是Spanner帮助实现,所以说突破CAP大家都指的是Spanner(重型硬件支持下的有限制表结构CAP)。

      F1在Spanner之上又提供了1、分布式SQL查询引擎;2、带事物的二级索引;3、同步的表结构变更和数据库的重组织;4、乐观事物;5、自动的变更记录和发布。

 

      先mark一下,其实F1和当前的Phoenix很像,Phoenix也是高度依赖HBase这个底层引擎,而F1也是高度依赖Spanner。Phoenix当前的版本支持分布式SQL查询,二级索引,beta版的事务功能。WAL 日志的记录和复制回放(嵌入到HBase的Coprocessor中)。整体也是对F1的一种简化版实现

原创粉丝点击