NoSQL数据库设计与术语深度解析
1. 选择ACID还是BASE?
在NoSQL数据库的选择中,ACID和BASE是两个重要的概念。许多NoSQL供应商通过宣称不同的独特方法来与竞争对手区分开来,有趣的是,不少NoSQL供应商的路线图上都有ACID合规性的规划。
一些NoSQL数据库虽支持BASE,但也将ACID合规性列入计划,这显示了ACID保证对企业关键任务系统的重要性。很多公司在测试想法时使用BASE一致性的免费产品,而在关键任务系统上线时迁移到支持ACID的付费数据库。
判断是否需要ACID的简单方法是考虑人与其他系统与数据的交互。例如,添加或更新数据后,下一个查询能否立即看到更改很重要吗?重要决策是否依赖于数据库的当前状态?看到稍微过时的数据是否会导致决策出现致命缺陷?
在金融服务领域,一致性的需求显而易见。交易员购买股票时,需要在交易前检查现金余额,以确保有足够资金。若查询的数据库只是最终一致的,他们可能看不到资金不足的情况,从而使组织面临财务风险。在医疗、国防、情报等领域,也有类似对ACID而非BASE的需求,这都取决于数据以及及时性和数据安全性的重要性。
2. 可用性方法
一致性并非绝对,而是一个可调节的范围。许多NoSQL数据库允许在一致性和可用性级别之间进行调整,这与CAP定理相关。
CAP定理是计算机科学中的一个猜想,现已被证明。它展示了在BASE数据库系统中如何保持一致性、可用性和分区之间的平衡。CAP代表一致性(Consistency)、可用性(Availability)和分区容错性(Partitioning),在考虑BASE和CAP方法时,可思考以下问题:
超级会员免费看
订阅专栏 解锁全文
69

被折叠的 条评论
为什么被折叠?



