摘要:
acwing 905 区间选点 / 908 最大不相交区间数量 905使得一个点尽可能多的覆盖更多的区间,908是尽可能使得一个区间组包含尽可能多区间,本质上一致 acwing 906 区间分组 按照区间左端点排序,可以把区间看作是一段时间,这个贪心的做法是要尽可能的把一天的时间填满,所以每个区间分 阅读全文
摘要:
PARALLEL VS. DISTRIBUTED PARALLEL(比如oracle的数据库一体机) 节点(机器)之间离得很近,比如放在一个机房之中 节点之间的数据在高速局域网(LAN)中传输 数据传输的花销小 DISTRIBUTED 数据库集群的节点之间距离很远 节点之间通过network连接 数 阅读全文
摘要:
Crash Recovery 主要需要做两件事情,一件是txn processing before a failure,另一件是actions after a failure,本节主要介绍后者 那么什么时候flush dirty page呢? Algorithms for Recovery and 阅读全文
摘要:
感觉日志文件也好大鸭,就是Physical Logging Crash Recovery recovery algorithm 需要做两件事情: txn 正常执行时的额外工作,以保证DBMS能够recover from failure failure之后的recover action,以此来保证原子 阅读全文
摘要:
MVCC不是单纯的用来实现并发控制,一般是用来与2PL,OCC,T/O结合使用 Multi-Version Concurrency Control read-only txn can read a consistent snapshot without acquiring locks?txn可以做到 阅读全文
摘要:
2PL是实现并发控制的一种方式,它是pessimistic,因为它假设如果不加锁,未来便会出问题。T/O也是一种并发控制的方式,它是Optimistic,通过设置时间戳,使得schedule达到serializable Timestamp Ordering Concurrency Control 有 阅读全文
摘要:
2PL是并发控制理论的一种实现方式 Transaction Locks 通过Lock来保证所有的execution schdule是serializable lock manager管理lock的分配与释放 DBMS's lock-table 不需要持久化 Lock:当有transaction需要修 阅读全文
摘要:
并发控制横跨数据库实现的三个部分,operator execution,access methods,buffer pool manager 为什么需要并发控制 transaction transaction是DBMS执行的最小单位,如果没有开启事务,那么DBMS会把一条sql语句当做一个trans 阅读全文
摘要:
为什么需要query optimization 因为SQL是声明式的 其实直到现在,任然有两种流派,一种是数据库帮助优化query还有一种是自己写算子,比如flink 数据库优化方式,也就是写SQL 启发式:只需要查看元数据,不需要查看真正的数据 基于代价的搜索:类似于回溯,需要计算代价函数 que 阅读全文
摘要:
Query Plan ?multiple way指的是可以按照单一tuple的粒度往上emit,或者是按照batch的tuple的粒度往上emit,或者是整个要求的数据集合的粒度往上emit Processing Models Processing Models定义了query plan的执行从什么 阅读全文