NimbusDB - 分布式、非阻塞、原子提交协议



来自NimbusDB网站:

我们的分布式非阻塞原子提交协议允许在任何可用节点上处理数据库事务。

他们声称他们可以保证分布式环境中的ACID事务,并提供所有功能:一致性,高可用性和分区容错。据我从文本中可以看出,他们克服CAP定理局限性的"秘诀"是某种管理网络分区的"可预测和一致"的方法。

我想知道是否有人对背后的内容有一些见解或更多信息?

"一致性"一词有多种可能的含义。 例如,参见为什么CAP定理中的C与ACID中的C不同?

此外,关于"ACID"中C的含义也可能存在一定程度的争论:虽然它通常是在与数据库完整性相关的意义上定义的("任何事务都不应看到违反声明约束的数据库状态 - 当然,该事务已经创建了自己的不一致"),一位评论者说,他将其解释为"看到的数据库状态(或者更好, 有效使用),任何事务在事务进行过程中都不会更改。 释义:如果事务至少以可重复的读取模式执行,则它们符合 ACID 标准。

如果将 CAP-C 理解为"所有节点同时看到相同的数据",那么可用性必然会受到阻碍,因为当系统忙于将数据分发到各个节点时,它不允许任何事务访问(旧版本)该数据。 (当然,除非访问旧版本正是需要的,例如当事务在 MVCC 下运行时。

如果您将 CAP-C 理解为"没有事务可以看到不一致的数据库状态",那么基本上同样适用,只是现在用户的更新过程应该锁定所有其他事务的访问。

如果你强加一条规则,大意是"每当一个事务访问了特定的节点N以从某个资源R读取(假设R理论上可以在多个节点上访问),那么每当该事务再次访问R时,它应该在同一节点N上这样做。 但是您需要支付可用性,因为如果节点 N 出现故障,那么正是由于强加的规则,即使可以在其他节点上完成,您的事务也无法再访问 R。

无论如何,我认为,如果像伯克利这样的机构提出了某种定理的证明,那么如果你认为像你提到的那种大声喧哗的主张是营销谎言,那么你是安全的。

这篇文章写已经有一段时间了,从那时起,NuoDB 在其网站上的产品营销和技术资源中添加了很多内容。

他们通过使用分布式数据缓存系统实现了数据持久性和 ACID 合规性。 他们现在称之为"新兴建筑"(第6-7页)

该架构开辟了各种可能的未来方向,包括"时间旅行",能够创建数据库的副本,以在较早的时间重新创建其状态;"云爆发",即跨由不同组管理的云系统移动数据库的能力;和 "coteries"是一种解决 CAP 定理的机制,它允许 DBA 指定哪些系统在网络分区中幸存下来,以提供一致性和分区阻力以及连续可用性。

从 工作原理 页面 :

当今的数据库供应商已围绕传统系统应用了三种常见的设计模式,以将其扩展到分布式横向扩展数据库系统。这些方法(共享磁盘、无共享和同步提交)克服了单服务器部署的一些限制,但仍然很复杂且容易出错。

通过退后一步,从头开始重新思考数据库设计,NuoDB的技术创始人Jim Starkey提出了一种全新的设计方法,称为持久分布式缓存(DDC)。净效应是一个在商用机器和虚拟机上动态横向扩展/缩减的系统,没有单点故障,并提供完整的 ACID 事务语义。

NuodDB的NewSQL模型与更传统的RDMS系统之间的主要架构区别在于,NuoDB颠倒了内存和存储之间的传统关系,创建了符合ACID的RDBMS,其底层设计类似于分布式DRAM缓存。从 NuoDB 持久分布式缓存页面:

迄今为止,所有通用关系数据库都是围绕以存储为中心的假设构建的。不幸的是,这会产生一个与横向扩展相关的基本问题。实际上,这些数据库系统是花哨的文件系统,它们安排对基于磁盘的文件的并发读/写访问,以便用户不会相互干扰。

NuoDB DDC 架构颠覆了这一想法,将数据库想象成一组内存中的容器对象,这些对象可以在必要时溢出到磁盘,并且可以保留在后备存储中以实现持久性。

NuoDB DDC 架构中的所有服务器都可以请求和提供对象(称为 Atom),从而充当彼此的对等体。某些服务器在任何给定时间都有对象的子集,因此只能向其他服务器提供数据库的子集。其他服务器拥有所有对象,可以提供其中任何一个,但提供不驻留在内存中的对象会慢一些。

NuoDB 由两种类型的服务器组成:事务引擎 (TE) 保存对象的子集;存储管理器 (SM) 是具有所有对象的完整副本的服务器。TE在不需要使用磁盘的内存服务器中是纯的。它们是自主的,可以根据自己的需要单方面从内存中加载和弹出对象。与 TE 不同,短信不能在完成物品后将物体掉在地板上;相反,他们必须确保将它们安全地放置在耐用的存储中。

对于那些熟悉缓存体系结构的人来说,您可能已经认识到这些 TE 实际上是分布式 DRAM 缓存,而 SMS 是确保持久性的专用 TE。因此得名持久分布式缓存。

他们还发布了一份技术白皮书,深入探讨了子系统组件以及它们协同工作的方式,以提供符合 ACID 标准的 RDMBS,具有 NoSQL 系统的大部分性能(注意:在他们的网站上注册以下载白皮书)。 一般要点是,它们提供了一个自动化的网络集群分区系统,当与它们的持久存储系统结合使用时,可以解决 CAP 定理的问题。

在其在线文档库中也有许多关于其技术的信息丰富的技术白皮书和独立分析报告

相关内容

  • 没有找到相关文章

最新更新