mongodb 是业界公认的面向对象早好的数据库
修改订阅
calcStage,查询指定数据,转账次数、转账金额
日期转换 conversionStage,
数据筛选 filterStage, 通过日期类型进行数据筛选
一致性 Consistency
一致性:数据库事务执行前后保持一致性,也就是事务执行前后都能保证是正确的,并满足所有预先设定的限制条件
原子性Atomicity
一个事务作为一个整体作为原子一样是不可分割的
事务撤销可以恢复为事务发生之前的状态.
数据库事务 Transaction
"关系型数据库中不同的表, 或者非关系型数据库中不同的文档或记录"
ACID特性:
Atomicity 原子性
Consistency 一致性
Isolation 隔离性
Durability 持久性
Consistency一致性,事务执行完成后,数据库仍然满足预先设定的状态。
MongoDB数据库事务支持(Transaction);事务,多个操作应用于非关系型数据库中不同文档及记录;一个正确的事务应具备ACID特性:
Atomicity,原子性
Consistency,一致性
Isolation,隔离性
Durability,持久性
MongoDB 4.0 新特性
多文档事务
聚合类型转换
修改订阅扩展
后备节点读取
包括企业版及社区版两个版本,文档型非关系型数据库
mongodb4.0版本 开始原生支持ACID事务的原生支持. 而且提供"跨文档"的事务支持.
原子性 的体现:
事务撤销可以恢复为事务发生之前的状态.
这里举了一个"事务"的例子 即 "转账事务"
ACID特性:
Atomicity 原子性
Consistency 一致性
Isolation 隔离性
Durability 持久性
"关系型数据库中不同的表, 或者非关系型数据库中不同的文档或记录"
"事务" 是包括多个数据库操作的集合(我的个人理解).
3.6集合层面的修改订阅
4.0数据库/集群层面的修改订阅
为修改事件返回clusterTime
灵活的数据存储V.s繁琐的数据消费
引入$convert聚合操作符
简化ETL流程与负荷
4.0单文档事务-->跨文档事务
4.2复制集事务-->分片集群事务
简明易用的事物接口API
MongoDB
课程介绍...
使用 client.watch() 函数进行修改订阅
使用 load("aggregate.js") 将 js 文件加载入 MongoDB 中
使用 db.transfer.aggregate([conversionStage]); 执行 js 文件,conversionStage 是在 js 文件中定义的变量
事务的4大特性 ACID:
Atomicity 原子性
Consistency 一致性
Isolation 隔离性
Durability 持久性
load(“xxx.js”):读取文件到数据库
db.表名.aggregate([聚合函数名]): 执行数据转换
查询表中的数据:db.表名.find({})
$convert 数据转换操作符
一个正确而有效的事务应该具备四种特性:ACID特性
https://git.imooc.com/Stannum/MongoDB4.0-New-Features-Demo
MangoDB4.0版本默认开启非阻塞性后备节点读取,不需要额外的配置。