FoundationDB NoSQL 数据库已支持 ACID 事务

  • Srini Penchikala
  • 臧秀涛

2013 年 5 月 2 日

话题:DevOps语言 & 开发架构AI

FoundationDB数据库平台结合了 NoSQL 的可伸缩性与跨数据库内所有数据的 ACID 事务。FoundationDB 团队 3 月份宣布了他们的新 NoSQL 数据库平台。

由于可伸缩性的原因,NoSQL 数据库通常不支持跨多个数据元素的 ACID 事务,但是没有很强的事务保证可能会导致数据的不一致性。FoundationDB 构建于分布式、无共享的架构之上,它使用了一个叫做“层次”(Layer)的概念,将不同的数据模型映射到数据库中有序的键和值上,从而支持多样化的应用和数据模型。在这些“层次”上面的应用继承了核心数据库的高性能、数据一致性和运行特性。

InfoQ 采访了 FoundationDB 团队的 Dave Rosenthal 和 Nick Lavezzo,谈到了新发布的版本,产品特性,该产品与关系数据库模型和其他 NoSQL 数据库技术相比结果如何等话题。

Nick 谈到了该数据库产品的当前状态。新版本目前还出于 beta 阶段,但已经为成为真正的产品做好了准备。过去几年,它一直在进行内部测试,光是 alpha 测试就有一年多了。

当被问及 FoundationDB 与关系数据库(RDBMS)和其他 NoSQL 数据库相比结果如何时,Dave 说 FoundationDB 结合了 NoSQL 系统简单的 API 及分布式设计与关系数据库的 ACID 事务。

InfoQ:你们能否详细说明一下,该数据库是如何支持 CAP 理论的,对于一致性、可用性和分区容忍性这三个因素,分别意味着什么?

DaveCAP 理论指出,当分布式系统中出现分区时,我们需要在一致性和可用性之间做出取舍。任何事务数据库都要保证一致性,与之相同,FoundationDB 也选择了一致性。同时支持这些能力的系统很难构建,但并非不可能

InfoQ:使用 FoundationDB 数据库有什么限制或约束吗?

Dave对于 FoundationDB 设计时未打算支持的功能,以及当前版本中已知的限制,我们仔细编写了文档。我们认为,对于和数据库同等重要的任何工具,理解其限制也是非常重要的。

InfoQ:NoSQL 数据库的未来会如何,你们认为在整个数据管理环境中,关系数据库将扮演什么角色?

Dave当然,关系数据库短期内还是离不了的,但它最擅长的领域会不断被其他数据库技术侵蚀。首先受到冲击的是分析类市场,比如被Teradata这样的数据库替代,而且Hadoop正在迅速成为批量处理的新标准。NoSQL 数据库正在证明它们作为可伸缩运营系统替代方案的有效性。

FoundationDB 将提供免费的社区版本,以及支持更大规模集群功能的许可版本。 社区版本会包含 FoundationDB 的全部功能,允许产品部署。开发者现在可以注册申请 beta 版本,评测 FoundationDB 并通过 beta 社区网站贡献自己的“层次”。

该网站还提供了几份白皮书,其中有 FoundationDB 的设计与实现信息。

查看英文原文FoundationDB NoSQL Database Supports ACID Transactions

DevOps语言 & 开发架构AI