FaunaDB评论:面向全球的快速NoSQL数据库

在过去的十年中, 分布式数据库已经变得有趣和有吸引力,因为在全球范围内运营的公司需要具有水平可扩展性和全球影响力的事务数据库。 但是,地理分布和低事务延迟之间存在着本质上的张力:光速限制了远程节点之间的传输时间。

编辑选择奖徽标梅花 信息世界

为了在写入事务上实现高吞吐量,许多NoSQL数据库都通过禁止跨分区事务或将其一致性保证从强(同步事务)降到最终(异步事务)来削弱了对事务的支持。 大多数数据库对事务使用两阶段提交方案,当节点的地理分布时,这会增加事务延迟。 但是,许多最近的分布式数据库都将Paxos或Raft方案用于基于仲裁的事务共识,这降低了事务等待时间。

[ 同样在InfoWorld上:最好的NoSQL数据库 | 最好的分布式关系数据库 | 最好的图形数据库

FaunaDB是一个分布式的,高度一致的OLTP NoSQL数据库,它符合ACID并提供了多模型接口。 它具有主动-主动式体系结构,可以跨越云以及大陆。 FaunaDB通过单个查询支持文档,关系,图形和时间数据集。 除了自己的FQL查询语言外,该产品还支持GraphQL,并计划在将来使用SQL。

FaunaDB是第一个使用Calvin跨分片事务处理协议的数据库,该协议允许单阶段提交而无需依赖时钟,也不会失去一致性。 FaunaDB还对单个分片使用Raft共识系统。 在讨论FaunaDB体系结构时,我们将更详细地解释这些内容。

在全球分布的NoSQL数据库领域,FaunaDB的竞争包括Azure Cosmos DB ,Amazon DocumentDB,Amazon DynamoDB和YugaByte DBGoogle Cloud SpannerCockroachDB是其全球分布的关系数据库竞争对手。

FaunaDB架构

FaunaDB声称在每一层都有架构创新。 最大的创新可能是使用Calvin作为分布式交易协议,而不是Google Spanner或更旧的Google Percolator协议。

卡尔文最初是由Abadi等人在2012年的一篇论文中描述的。 耶鲁大学:

卡尔文(Calvin)是一个实用的事务调度和数据复制层,它使用确定性排序保证来显着降低与分布式事务相关的通常令人望而却步的竞争成本。 与以前的确定性数据库系统原型不同,Calvin支持基于磁盘的存储,在商用机器集群上几乎线性地扩展,并且没有单点故障。 通过复制事务输入而不是效果,Calvin还能够支持多个一致性级别,包括跨地理位置遥远的副本的基于Paxos的强一致性,而不会增加事务吞吐量。

换句话说,使用Calvin进行分布式事务处理,即使在没有时钟同步的全局分布式集群中,也可以为FaunaDB单阶段提交和保证严格的可序列化性提供选项。 除此之外,FaunaDB可以实现低写入延迟(平均低于200毫秒)和99.99%的正常运行时间。 根据Fauna的说法:“ Calvin的使用还允许FaunaDB实现无主控架构。 利用集群中的副本,在地理位置上分布在许多位置,FaunaDB提供了主动-主动事务,使应用程序可以在全球范围内横向扩展,而无需一行代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值