上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 53 下一页

CMU Database Systems - Timestamp Ordering Concurrency Control

摘要: 2PL是悲观锁,Pessimistic,这章讲乐观锁,Optimistic,单机的,非分布式的 Timestamp Ordering,以时间为序,这个是非常自然的想法,按每个transaction的时间来排谁先执行 这里会有几个问题,Timestamp是什么,由谁来打,什么时候打上Timestamp 阅读全文
posted @ 2019-07-01 15:03 fxjwind 阅读(829) 评论(0) 推荐(0)

CMU Database Systems - Two-phase Locking

摘要: 首先锁是用来做互斥的,解决并发执行时的数据不一致问题 如图会导致,不可重复读 如果这里用lock就可以解决,数据库里面有个LockManager来作为master,负责锁的记录和授权 数据库里面的基本的锁类型, 其实就是读锁,写锁 但是如果光是有读写锁,只能解决当个操作互斥和正确,无法解决trans 阅读全文
posted @ 2019-06-25 14:35 fxjwind 阅读(663) 评论(0) 推荐(0)

CMU Database Systems - Concurrency Control Theory

摘要: 并发控制是数据库理论里面最难的课题之一 并发控制首先了解一下事务,transaction 定义如下, 其实transaction关键是,要满足ACID属性, 左边的正式的定义,由于的intuitive的理解其中可能Consistency比较难理解一下,其他都比较直观,对于单机数据库而言consist 阅读全文
posted @ 2019-06-05 15:21 fxjwind 阅读(558) 评论(0) 推荐(0)

CMU Database Systems - Embedded Database Logic

摘要: 正常应用和数据库交互的过程是这样的, 其实我们也可以把部分应用逻辑放到DB端去执行,来提升效率 User-defined Function Stored Procedures Triggers Change Notification User-defined Types Views UDF 用户定义 阅读全文
posted @ 2019-05-30 16:13 fxjwind 阅读(263) 评论(0) 推荐(0)

CMU Database Systems - Parallel Execution

摘要: 并发执行,主要为了增大吞吐,降低延迟,提高数据库的可用性 先区分一组概念,parallel和distributed的区别 总的来说,parallel是指在物理上很近的节点,比如本机的多个线程或进程,不用考虑通信代价distributed,要充分的考虑通信代价,failover的问题,更为复杂 Pro 阅读全文
posted @ 2019-05-29 17:10 fxjwind 阅读(498) 评论(0) 推荐(0)

CMU Database Systems - Query Optimization

摘要: 查询优化应该是数据库领域最难的topic 当前查询优化,主要有两种思路, Rules-based,基于先验知识,用if-else把优化逻辑写死 Cost-based,试图去评估各个查询计划的cost,选取cost比较小的 一个sql query的处理流程, 先是Parser,生成抽象语法树ast,B 阅读全文
posted @ 2019-05-28 15:03 fxjwind 阅读(609) 评论(0) 推荐(0)

CMU Database Systems - Sorting,Aggregation,Join

摘要: Sorting 排序如果可在内存里面排,用经典的排序算法就ok,比如快排 问题在于,数据表中的的数据是很多的,没法一下都放到内存里面进行排序 所以就需要用到,外排,多路并归排序 看下最简单的,2路并归排序, 设文件分为N个page,memory中一次最多可以放入B个pages 所以在sort过程,一 阅读全文
posted @ 2019-05-22 16:45 fxjwind 阅读(499) 评论(0) 推荐(0)

CMU Database Systems - Query Processing

摘要: Query Model Query处理有三种方式, 首先是Iterator model,这是最基本的model,又称为volcano,pipeline模式 他是top-down的模式,通过next函数去逐层获取tuple 好处是比较简单,并且很容易做limit iterator的例子,输出一个数据, 阅读全文
posted @ 2019-05-16 20:36 fxjwind 阅读(452) 评论(0) 推荐(0)

CMU Database Systems - Indexes

摘要: 这章主要描述索引,即通过什么样的数据结构可以更加快速的查询到数据 介绍Hash Tables,B+tree,SkipList 以及索引的并行访问 Hash Tables hash tables可以实现O(1)的查询,设计主要考虑两点 首先用什么hash function?底下列出常用的hash fu 阅读全文
posted @ 2019-05-08 21:38 fxjwind 阅读(963) 评论(2) 推荐(0)

CMU Database Systems - Storage and BufferPool

摘要: Database Storage 存储分为volatile和non-volatile,越快的越贵越小 那么所以要解决的第一个问题就是,如果尽量在有限的成本下,让读写更快些 意思就是,尽量读写volatile存储,但是volatile比较很有限,所以需要合理的在两种存储上去swap 但是技术是在飞速的 阅读全文
posted @ 2019-05-06 12:00 fxjwind 阅读(780) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 53 下一页