我对存储金融相关交易有特定要求。这需要事务支持,高可用性,容错和水平可伸缩性。我正在寻找一个开源解决方案。
现在据我所知,免费的RDBMS(Postgres或MySql之类的)都没有提供这个功能。我曾经使用cassandra作为以前的项目,它在复制方面具有很大的便利性。分片。哇,我也喜欢它的表现。但不幸的是,Cassandra没有ACID交易支持,因为它是在考虑CAP theoram的情况下构建的。
现在,我甚至没有特别关注伟大/超快的性能。我正在寻找一个比RDBMS更多或更多的性能,但是复制和放大分片。原因是我们正在寻找用于处理负载的许多服务器,并且每个实例应该能够在任何时间点为某个x客户端提供服务。
任何人都可以想到一个免费(或非常划算的子500美元)RDBMS数据库或没有sql商店 - 事务支持(提交/回滚) - 复制 - 分片。
目前我们在选择列表中有ravendb。你认为这适合吗?
PS: 我看了下面的链接 Can you recommend a database that scales horizontally? - 在2008年进行了讨论并且非常陈旧。
答案 0 :(得分:2)
RavenDB将是一个很好的批次。 它可以水平扩展,支持分片和复制开箱即用。 它具有ACID事务和自动故障转移。
请点击此处了解详情:http://ravendb.net/features
答案 1 :(得分:0)
看看Volt。 (社区版)
答案 2 :(得分:0)
您可以尝试使用同一个数据库的多个实例/副本进行扩展,并使它们与提供分布式ACID的JTA保持同步,这对于简单的ACID水平扩展非常有用。尽管写入线性昂贵,但读取可以在节点之间分配,通常读取比写入更频繁。
此article显示了此方法的示例,代码基于特定的Java ORM工具(JEPLayer),但核心原则JTA可应用于不同的数据库JTA兼容工具。 / p>
答案 3 :(得分:0)
HBase 适合您的用例。它符合 CAP 标准的 Consistency and Partition Tolerance ( Consistency , Availability and Partition Tolerance)
几个突出的特点:
查看 architecture 以获得更好的理解。