F1:Google最新公开的分布式关系型数据库
导读:大数据时代的来临也促使NoSQL数据库迅速崛起,但这并不意味着传统关系数据库即将消亡。近日Google研究院就推出被称为F1的新型数据库,F1作为一种混合型数据库融合了BigTable的高扩展性和SQL数据库的可用性和功能性。F1数据库作者共有12人,清单如下:J
导读:大数据时代的来临也促使NoSQL数据库迅速崛起,但这并不意味着传统关系数据库即将消亡。近日Google研究院就推出被称为F1的新型数据库,F1作为一种混合型数据库融合了BigTable的高扩展性和SQL数据库的可用性和功能性。F1数据库作者共有12人,清单如下:Jeff Shute、Mircea Oancea、Stephan Ellner、Ben Handy、Eric Rollins、Bart Samwel、Radek Vingralek、Chad Whipkey、Xin Chen、Beat Jegerlehner、Kyle Little?eld、Phoenix Tong。
现今云计算的从业人员对NoSQL一词并不感到陌生,虽然很多技术人员都长期从事关系数据库的工作,但现在他们对NoSQL技术充满期待。对于企业来说,从关系型数据库到NoSQL数据库转变绝对是个需要深思熟虑的大改变。这涉及的不仅是软件的变化,更多的是对于数据存储上观念性的变化。
NoSQL——关系数据库的有力补充
目前,NoSQL和文档数据库成为关系数据库的有力补充(而非替代品),同时提供了更多的选择。如果企业准备将数据迁移,那么选择NoSQL的重要标准就是要看CAP(Consistency、Availability和Partition Tolerance),也就是我们所说的一致性、可用性和分区容忍性。但CAP原则要求在分布式系统只能选择一致性、可用性和分区容忍性其中的两项。所以如果企业认为一致性是重要的那么关系数据库理应是优先选择的对象。
例如在银行等应用领域,一致性是非常重要的,这要求必须随时考虑每个数据块。 而CAP原则中的可用性也不容忽视,某些领域的数据可用性要比等待所有交易数据收集齐全更为重要。最后在水平缩放时,分区容忍性对于文档数据库显得尤为关键。但MongoDB并不支持复杂的事务,只支持少量的原子操作,所以不适用于“转帐”等对事务和一致性要求很高的场合。这就要求需要一个关系数据库来对 交易进行过高级别的控制。
鉴于NoSQL目前的现状,Google研究院近日就推出命名为F1的新数据库,F1作为一种混合型数据库融合了BigTable的高扩展性和SQL数据库的可用性和功能性。F1数据库意味着你可以拥有伸缩性很强的数据库,而不必转向NoSQL。
F1可支持Google核心的AdWords业务
F1是一个从头开始建立的新数据库,其设计指标符合Google所需的规模,与此同时不会影响RDBMS的功能。F1的关键特性包括:高扩展性(自动分片存储); 可用性和一致性(同步复制); High commit latency: Can be hidden(分层架构、协议缓冲列类型、高效客户端代码)
F1底层存储
F1的底层文件系统为BigTable的继任产物Megastore,其属性主要包括:全局分布式;同步跨数据中心复制;可视分片和数据移动;常规事务;多次读取单原子写入;本地或跨机器以及快照读取。
F1数据库的架构和特性
架构:Sharded Spanner 服务器;数据存在GFS和内存之中;Stateless F1 服务器;工作池提供查询执行
特点:关系模式;扩展到层次和丰富的数据类型;无阻塞的架构变更;一致性指标;并行读取SQL或MapReduce
层次模式架构
集群存储
F1目前目前面临的挑战
当前面临的挑战主要有:并行查询执行、故障恢复、隔离、优化、迁移应用时要求不宕机等等。
Google从MySQL迁移到F1给其带来了更高的扩展性、更高的可用性、等效一致性得以保证同时兼顾强大的SQL查询。总之,Google的此次数据库迁移在保证数据库规模的同时并没有失去任何的数据库功能。(Terminator/编译)
查看完整PDF文件
延伸阅读:Google Megastore分布式存储技术全揭秘