Transactions 水平可扩展/可复制数据库

Transactions 水平可扩展/可复制数据库,transactions,nosql,cassandra,ravendb,Transactions,Nosql,Cassandra,Ravendb,我对存储金融相关交易有特定要求。这需要事务支持、高可用性、容错性和横向可扩展性。我正在寻找一个开源的解决方案 据我所知,没有一个免费的RDBMS(如Postgres或MySql)提供这种功能。我在以前的一个项目中使用了cassandra,它在复制和切分方面非常方便。哇,我也很喜欢它的表演。但不幸的是,Cassandra没有提供ACID事务支持,因为它是在考虑CAP theoram的情况下构建的 现在,我甚至对出色/极快的性能都不挑剔。我正在寻找一个性能略高于或等于RDBMS,但与复制和分片。原因

我对存储金融相关交易有特定要求。这需要事务支持、高可用性、容错性和横向可扩展性。我正在寻找一个开源的解决方案

据我所知,没有一个免费的RDBMS(如Postgres或MySql)提供这种功能。我在以前的一个项目中使用了cassandra,它在复制和切分方面非常方便。哇,我也很喜欢它的表演。但不幸的是,Cassandra没有提供ACID事务支持,因为它是在考虑CAP theoram的情况下构建的

现在,我甚至对出色/极快的性能都不挑剔。我正在寻找一个性能略高于或等于RDBMS,但与复制和分片。原因是我们正在寻找放置许多服务器来处理负载,每个实例应该能够在任何时间点为一些x客户机提供服务

有谁能想到一个免费(或非常经济划算的低于500美元)的RDBMS数据库,或者没有sql存储 -事务支持(提交/回滚) -复制 -切丁

目前,我们的选择列表中有ravendb。你觉得这个合适吗

附言: 我查看了以下链接
-是在2008年讨论的,非常古老。

RavenDB将是一个很好的批次。 它可以水平扩展,支持分片和开箱即用的复制。 它具有ACID事务和自动故障切换功能


有关更多详细信息,请参见此处:

查看Volt。(社区版)

您可以尝试使用同一数据库的多个实例/副本进行缩放,并使它们与提供分布式ACID的JTA保持同步,这对于简化ACID水平缩放非常有用。尽管写操作的成本是线性的,但读操作可以分布在节点之间,而且通常读操作的频率远远高于写操作


这显示了这种方法的一个示例,代码基于特定的Java ORM工具(),但核心原则JTA可以应用于不同的数据库JTA兼容工具。

MongoDB具有高可用性、容错性和水平可扩展性,但同样不具有ACID事务。没有“文档级锁定”。我们需要一个类似的项目,我们最终使用Mongo并在应用程序中实现了一个基本的文档锁定机制。谢谢Taran。是的,我知道Mongodb。据我所知,它还存在全局写锁问题,这会降低写性能,正如一些用户在本论坛上讨论的那样。