为了账号安全,请及时绑定邮箱和手机立即绑定

在线分布式数据库原理与实践

难度中级
时长 1小时53分
学习人数
综合评分9.60
48人评价 查看评价
9.5 内容实用
9.6 简洁易懂
9.7 逻辑清晰
  • 图灵机:一个参数,经过一个算法,返回一个数据的过程

    查看全部
  • 2PL,2阶段锁。2 phrase lock

    2PC,2阶段提交事务,2 phrase commit

    查看全部
  • MVCC:乐观锁

    让版本低的并发更新回滚,优势是并发低时,性能好。代价是,并发高时,失败率高,需要不断重试

    查看全部
  • 死锁扩展:U锁

    MVCC拾遗

    Two Phase Lock (2PL)

    查看全部
  • 深度单击事务-小结:

    ACID,原子性,一致性,

                隔离性:读已提交

                              读未提交

                              可重复读

                               序列化读

                               扩展(快照隔离级别:MVCC / SNAPSHOT ISOLATION)用新方式实现传统意义上读未提交场景,同事保证可序列化的隔离级别。当写大于读时,会增加系统成本,MVCC适合读比写多的情况

            持久性:1直接写入内存:优点是IOPS高,缺点是可能丢失数据

                          2 Group Commit ,将多次数据拼成一个包,优点是保证系统持久性和吞吐量,缺点是请求延迟提升。

    查看全部
  • 事务调优原则:

    减少锁的覆盖范围:

            Mysiam 表锁 -> Innodb 行锁

            原位锁 -> MVCC多版本

    增加锁上可并行的线程数:

            读锁写锁分离,允许并行读取数据

            多线程并行读取

            允许多人读取

    选择正确锁类型

            悲观锁 使线程到blocking 状态,CPU不会调度他,当通知给它信息为ok状态时,切换回等待状态,CPU可以对它进行调度。最大的特点就是,换入换出增加系统开销。比较适合,并发争抢比较严重的场景

            乐观锁 ,适合并发争抢不太严重的场景


    查看全部
  • MVCC:可保证读写并行,写读并行

    快照(snapshot isolation):针对度多写少场景优化;并行度能达到或超过读未提交,而隔离级别很高

    读未提交:写加锁,但是读的话不加锁,会导致读到正在写的数据;

    快照:保证读到一致性的同时,实现读未提交

    事务:将多种不同的命令,组装到一起的过程

    持久性:事务完成以后,该事务对数据库所做的更改,便持久的保存在数据库之中:

                1 提交请求到内存后返回

                2 将内存的数据打包到磁盘

    隔离性(扩展:mvcc ,snapshot isolation)

    持久性(扩展:持久性保证策略)


    查看全部
  • 时间戳分为: 逻辑时间戳和 物理时间戳, 逻辑时间戳只用来表示先后关系
    查看全部
  • Good
    查看全部
  • 单机事务异常应对 回滚 系统down机:进入recovery模式,将提交后的事务单元继续完成,未提交完成的回滚重新提交 调优原则 减少锁的覆盖范围 增加锁上可并行的线程数 选择正确锁类型:悲观锁,使线程到blocking状态,通知信息ok的状态切换回等待状态,缺点是需要数据换入换出,适合并发争抢严重的场景;乐观锁,适合并发争抢不太严重的场景
    查看全部
  • 1、多个事务的先后:SCN(oracle),TRX_id(Innodb),通过一个版本号的前后来区分操作的前后,是逻辑时间戳。 2、故障恢复:既是A原子性,事务回滚。当前事务的反向操作。系统崩溃时,在做数据回滚时,数据恢复时,不能让外部看见你的信息。 3、死锁与死锁检测:产生原因,当三个同时发生时,1、两个线程2,、不同方向3、相同资源。 4、死锁的解决方法;1、尽可能不死锁2、碰撞检测(通常用这个)(记录事务锁的状态)3、等锁超时(如果锁时间超过某个时间,直接抛错)
    查看全部
  • 1、事务的核心就是锁和并发,优势是容易理解,劣势是性能比较低。 性能好,则锁的颗粒度比较低,增加了编程的难度。需要找到一个平衡。
    查看全部
  • 持久性 事务完成后,该事务对数据库所做的更改便持久保存在数据库中 如何保证数据不丢 1.数据丢失原因:物理磁盘损坏,数据从内存写入磁盘的过程易丢失 2.解决:数据写入不同的磁盘;提交请求到内存后返回,将内存数据打包到磁盘
    查看全部
  • 快照隔离性:将老版本生成快照,使得读老版本和写新版本并行 可针对读多写少的优化,能保证一致性的同时实现读未提交 快照读可映射到读未提交和读已提交 完全无锁 概念的含混源于定义落后于事物的发展,不是真正意义上对,只是标准 标准不一定是对的
    查看全部
  • 一致性:保证能看到系统内的所有更改 在事务单元运行时将其上锁,将系统顺序化,保证一致性 隔离性:以性能为理由,对一致性的破坏,隔离是为了保证局部一致的前提下提高效率 排它锁(序列化读)-读写锁(可重复读,读锁不能被写锁升级,只能读读并行;读已提交,读锁可以被写锁升级;可读读,读写并行;读未提交,只加写锁,可读读,读写,写读并行,但问题是可能读到写过程中得数据) 快照隔离级别-多版本并发控制(MVCC)
    查看全部

举报

0/150
提交
取消
老师告诉你能学到什么?
本系列以分布式数据库原理与实践为主线,介绍组成分布式数据库的几个关键的部分:1) 事务与分布式事务.2) 关系代数与优化 3) 分布式KV系统与NoSQL 4) 数据一致性专题 5) 淘宝DRDS/TDDL实践经验 等多方面原理与实践专题,欢迎收藏

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!