12、数据库集成:MongoDB 入门与查询实践

数据库集成:MongoDB 入门与查询实践

1. 数据库开发挑战与 ACID 要求

在数据库开发中,像 Cake 或 Symfony 这样的应用生成器,在大多数数据库上的测试并不充分,这给应用开发带来了一定难度。接下来,我们先了解一下 ACID 要求:
- 原子性(Atomicity) :每个事务作为一个整体要么成功,要么失败。如果事务失败,数据库的状态必须恢复到事务未发生时的状态。
- 一致性(Consistency) :每个事务只能看到事务开始前已提交的数据。
- 隔离性(Isolation) :在更改提交之前,用户看不到彼此的更改。
- 持久性(Durability) :一旦更改提交,它们就是永久的。即使数据库系统崩溃,更改也不会丢失。

所有主要的关系型数据库都遵循 ACID 要求,这是模仿银行业务设计的。关系数据库管理系统(RDBMS)中的数据库事务是模仿现实世界中的金融交易。例如,用支票支付账单时,如果资金充足,交易将更新付款人和收款人的银行账户;如果资金不足,两个账户都不会更新。每个事务只看到银行账户在开始时的状态,其他用户的事务互不影响,一旦付款完成,就会有永久记录。

不遵循 ACID 规则使得 NoSQL 数据库不适合金融交易或其他有类似要求的业务流程。此外,NoSQL 数据库的无模式性质使其难以与 Hibernate 等对象关系映射器一起使用,从而减慢了应用开发的速度。不过,NoSQL 数据库非常适合大型数据仓库类型的数据库,因为它们具有速度和可扩展性的优势。当然,由于这些

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值