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 理论的,对于一致性、可用性和分区容忍性这三个因素,分别意味着什么?
Dave:CAP 理论指出,当分布式系统中出现分区时,我们需要在一致性和可用性之间做出取舍。任何事务数据库都要保证一致性,与之相同,FoundationDB 也选择了一致性。同时支持这些能力的系统很难构建,但并非不可能。
InfoQ:使用 FoundationDB 数据库有什么限制或约束吗?
Dave:对于 FoundationDB 设计时未打算支持的功能,以及当前版本中已知的限制,我们仔细编写了文档。我们认为,对于和数据库同等重要的任何工具,理解其限制也是非常重要的。
InfoQ:NoSQL 数据库的未来会如何,你们认为在整个数据管理环境中,关系数据库将扮演什么角色?
Dave:当然,关系数据库短期内还是离不了的,但它最擅长的领域会不断被其他数据库技术侵蚀。首先受到冲击的是分析类市场,比如被 Teradata 这样的数据库替代,而且 Hadoop 正在迅速成为批量处理的新标准。NoSQL 数据库正在证明它们作为可伸缩运营系统替代方案的有效性。
FoundationDB 将提供免费的社区版本,以及支持更大规模集群功能的许可版本。 社区版本会包含 FoundationDB 的全部功能,允许产品部署。开发者现在可以注册申请 beta 版本,评测 FoundationDB 并通过 beta 社区网站贡献自己的“层次”。
该网站还提供了几份白皮书,其中有FoundationDB 的设计与实现信息。
查看英文原文: FoundationDB NoSQL Database Supports ACID Transactions
评论