将NoSQL数据库用于银行系统而不是RDBMS是一个很好的决定吗?
如果是,建议的银行系统NoSQL数据库是什么?
答案 0 :(得分:5)
Nathan Hurst在idea behind NoSQL databases上发表了一篇非常好的博客文章。我会尽力解释:
通常根据一致性,可用性和分区容差(CAP Theorem)的属性选择数据库。当然,CAP定理指出数据库实际上只能关注其中的两个。 NoSQL数据库需要分区容差才能正确扩展,因此它们最终会牺牲可用性或一致性。 RDBMS通过选择一致性和可用性来协商此问题,并利用其他方法来保持其数据分区容忍(例如:复制)。
您通常可以在事务级别查看此效果。在RDBMS-land中,所有交易都应该是ACID(原子,一致,隔离和持久)。 NoSQL数据库通常没有严格的ACID要求。通过这种方式,通过事务更新的数据可能是或可能不是原子的(事务已完成到所有更新位置或回滚),如果电源出现故障可能不会持久,并且可能在“最终”的假设下运行一致性“。
因此“不”,NoSQL数据库肯定不对于银行业解决方案来说是一个好主意。
您还应该注意,“NoSQL”数据库架构因品牌而异。我在这里说的是关于NoSQL数据库的概括。它肯定不是全部包容。
答案 1 :(得分:3)
在银行业工作之后,我会谨慎地实施任何经过充分测试的“遗留”RDBMS系统或用于核心银行业务的大型机(账户,SOR,GL等)。对于外围系统,如市场营销,分析数据库等,NoSQL很好,但是你需要更具体地了解你的用例才能得到这个问题的任何一个好答案。
每个工具都有正确的用例。银行业极度风险厌恶和保守。