
CMU15445 (Fall 2020) 数据库系统 Project#4 - Concurrency Control 详解
摘要:# 前言 一个合格的事务处理系统,应该具备四个性质:原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)。隔离性保证了一个活跃的事务(还没提交或者回滚)对数据库所做的系统对于其他的活跃事务是不可见的,看起来就像某一时刻就只有一个
阅读全文

CMU15445 (Fall 2020) 数据库系统 Project#3 - Query Execution 详解
摘要:# 前言 经过前两个实验的铺垫,终于到了执行 SQL 语句的时候了。这篇博客将会介绍 SQL 执行计划实验的实现过程,下面进入正题。 # 总体架构 一条 SQL 查询的处理流程如下为: 1. SQL 被 Parser 解析为抽象语法树 AST 2. Binber 将 AST转换为 Bustub 可以
阅读全文

如何在 Python 中实现遗传算法
摘要:# 前言 遗传算法是一种模拟自然进化过程与机制来搜索最优解的方法,它由美国 John Holland 教授于20世纪70年代提出。遗传算法的主要思想来源于达尔文生物进化论和孟德尔的群体遗传学说,通过数学的方式,将优化问题转换为类似生物进化中的染色体基因的交叉和变异等过程,因此具有坚实的生物学基础和鲜
阅读全文

CMU15445 (Fall 2020) 数据库系统 Project#2 - B+ Tree 详解(下篇)
摘要:# 前言 上一篇博客中实现了单线程 B+ 树的查找、插入、删除和迭代操作,这篇博客将完成实验二的剩余任务:并发 B+ 树。实现 B+ 树并发访问最简单的方法就是在整棵树上加一把大锁,但是这样会导致过多线程处于阻塞状态,严重降低 B+ 树的性能。这篇博客将使用蟹行协议(crabbing protoco
阅读全文

CMU15445 (Fall 2020) 数据库系统 Project#2 - B+ Tree 详解(上篇)
摘要:# 前言 考虑到 B+ 树较为复杂,CMU15-445 将 B+ 树实验拆成了两部分,这篇博客将介绍 Checkpoint#1、Checkpoint#2 删除操作和迭代器的实现过程,搭配教材 [《DataBase System Concepts》](https://pan.baidu.com/s/1
阅读全文

CMU15445 (Fall 2020) 数据库系统 Project#1 - Buffer Pool 详解
摘要:# 前言 去年暑假完成了 CMU15-445 Fall 2019 的四个实验,分别对应下述博客: * [CMU15445 (Fall 2019) 之 Project#1 - Buffer Pool 详解](https://www.cnblogs.com/zhiyiYo/p/16429079.html
阅读全文

热门文章
标签
归档
网站资讯
随笔数量: 88
文章数量: 0
评论数量: 274
阅读数量: 20万
运行时间: 1729 天