会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
行远自迩 登高自卑
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
···
11
下一页
2025年4月2日
Tiny_SQL_Lexical_Analyzer
摘要: Tiny_SQL 中 词法分析器的实现 词法分析的任务是将 SQL 语句的文本拆解成 Token(标记), 每个 Token 代表 SQL 语法中的一个基本单元, 例如关键字(SELECT)、标识符(表名、列名)、操作符(=)、数字等. 示例 假设输入 SQL 语句如下: SELECT id, na
阅读全文
posted @ 2025-04-02 10:45 虾野百鹤
阅读(42)
评论(0)
推荐(0)
2025年3月22日
CMU_15445_Project4_BonusTask_Serializable_Verification
摘要: Serializable Verification 我们知道 MVCC 并不能解决幻读以及写偏差的问题, 仅通过 MVCC 的事务调度是无法保证数据库引擎的 ACID 原则的, 那么为了保证数据库的 ACID 原则, 即使在调度的过程中无法保证, 可以通过在 Commit 的时候, 通过验证, Ab
阅读全文
posted @ 2025-03-22 11:27 虾野百鹤
阅读(55)
评论(0)
推荐(0)
2025年3月15日
CMU_15445_Project4_BonusTask_Abort
摘要: 事务 Abort tainted 状态存在什么问题 在此之前, 在 BUSTUB 中检测到写写冲突的时候, 会将事务的状态设置为 tained, 但是 tained 是一个临时保存的状态, tained 状态的事务不会释放已经获取的资源, 例如如果一个事务 txn_A 在修改一个 tuple1 的时
阅读全文
posted @ 2025-03-15 13:10 虾野百鹤
阅读(55)
评论(0)
推荐(1)
2025年3月14日
CMU_15445_P4_Part3
摘要: Primary Key Index BUSTUB 支持使用下面的方式创建主键索引 CREATE TABLE t1(v1 int PRIMARY KEY); CREATE TABLE t1(v1 int, v2 int, PRIMARY KEY(v1, v2)); 当创建一个表的时候如果确定了主键,
阅读全文
posted @ 2025-03-14 09:34 虾野百鹤
阅读(66)
评论(0)
推荐(1)
2025年3月3日
CMU_15445_P4_Part2
摘要: MVCC Executors 在这个 Task 中, 我们需要实现在 MVCC 下的 Plan Executor. 在 MVCC 下, 由于数据库中的对象会存储多个物理版本, 因此所有涉及到数据库对象直接读取, 存储, 修改, 删除 的 Executor 都需要考虑到 tuple 的多版本物理存储问
阅读全文
posted @ 2025-03-03 16:57 虾野百鹤
阅读(86)
评论(0)
推荐(1)
2025年2月25日
CMU_15445_P4_Part1
摘要: CMU_15445_Project4_Task1-2 到这部分, BUSTUB 数据库引擎的整体面容开始显现出来了, 在文件 src/include/common/bustub_instance.h 中, 当我们想要实例化一个 BUSTUB 对象的时候, 可以看到它的组成部分有: // Curren
阅读全文
posted @ 2025-02-25 18:21 虾野百鹤
阅读(94)
评论(0)
推荐(1)
2025年2月21日
多版本并发控制协议(MVCC)详解
摘要: 多版本并发控制协议 MVCC 这篇文章我们先从整体上介绍一下多版本并发控制协议, 后续我们会对多版本并发控制协议(MVCC) 的每个部分的具体实现进行分析, 主要解释在 BUSTUB 中是如何实现的. 上篇文章 我们介绍了在数据库的并发事务中会出现的常见的几种冲突, 以及在 文章 中介绍了一些事务的
阅读全文
posted @ 2025-02-21 17:11 虾野百鹤
阅读(277)
评论(0)
推荐(1)
2025年2月15日
数据库常见并发冲突详解
摘要: 关系型数据库常见并发冲突详解与总结 为什么会有冲突 为什么保证数据库的 AICD 特性, 通常数据库调度的时候希望事务的执行是一个串行调度, 但是实际中, 由于事务是并发执行的, 因此会出现各种冲突, 而事务的并发控制协议, 并发控制算法的目的则是处理并发事务中的冲突以实现并发冲突的可串行化. 并发
阅读全文
posted @ 2025-02-15 10:42 虾野百鹤
阅读(297)
评论(0)
推荐(0)
2025年1月21日
CMU_15445_P3_Part4
摘要: Sort + Limit Executors + Window Functions + Top-N Optimization 这里的实现比较简单, 就不赘述了, 后续补充一下这部分的优先队列的使用, 以及选择的方式 Window Functions 窗口函数的实现才是这部分的重点 窗口函数介绍 My
阅读全文
posted @ 2025-01-21 18:28 虾野百鹤
阅读(67)
评论(0)
推荐(0)
2025年1月11日
CMU_15445_P3_Part3
摘要: HashJoin Executor & Optimization HashJoin Executor 如果查询包含与两列之间单个或者多个等值条件的连接的连接, 则 DBMS 可以使用 HashJoinPlanNode (各个等式之间使用 AND 连接条件), 例如: 考虑以下示例查询: SELECT
阅读全文
posted @ 2025-01-11 16:09 虾野百鹤
阅读(41)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
···
11
下一页
公告