上一页 1 2 3 4 5 6 7 ··· 12 下一页
摘要: TiDB 的异步 Schema 变更原理 与 Google 的 F1 Schema 变更协议的比较: TiDB 的 Schema 变更引入了与谷歌 F1 Schema 变更协议类似的中间状态, 在 Schema 变更中使用了 delete-only, write-only, reorganizati 阅读全文
posted @ 2025-05-28 15:34 虾野百鹤 阅读(91) 评论(0) 推荐(0)
摘要: OpenCompass 框架评测原理 注册器 Opencompass 是一个评测框架, 但是实际后台模型的导入, 执行, 数据集的处理与导入等, 都是基于另一个框架 MMEngine 的, 在 OpenCompass 中大量使用了注册器的机制, 在数据集处理与模型处理的过程中均使用了注册器的机制来管 阅读全文
posted @ 2025-05-06 08:48 虾野百鹤 阅读(1066) 评论(0) 推荐(0)
摘要: Asynchronous Schema Change in F1 最近在学习 TinySQL 的时候, 也就是一个小型的 TiDB, 才知道分布式数据库中对 Schema 变更的特殊处理, 由于之前不了解分布式数据库, 也不熟悉分布式协议, 找了一些资料, 也读了 Google F1 的原论文, 这 阅读全文
posted @ 2025-04-10 23:04 虾野百鹤 阅读(170) 评论(0) 推荐(0)
摘要: TinySQL Goyacc Parser TinySQL 中使用 Goyacc 语法解析器生成器来生成一个语法解析器, Goyacc 用来根据你定义的语法规则生成一个语法解析器, 这个语法规则就写在文件 parser.y 中. 它会生成一个 Go 语言源文件, 里面包含了一个 LALR(1) 的语 阅读全文
posted @ 2025-04-07 16:22 虾野百鹤 阅读(107) 评论(0) 推荐(0)
摘要: Tiny_SQL 中 词法分析器的实现 词法分析的任务是将 SQL 语句的文本拆解成 Token(标记), 每个 Token 代表 SQL 语法中的一个基本单元, 例如关键字(SELECT)、标识符(表名、列名)、操作符(=)、数字等. 示例 假设输入 SQL 语句如下: SELECT id, na 阅读全文
posted @ 2025-04-02 10:45 虾野百鹤 阅读(84) 评论(0) 推荐(0)
摘要: Serializable Verification 我们知道 MVCC 并不能解决幻读以及写偏差的问题, 仅通过 MVCC 的事务调度是无法保证数据库引擎的 ACID 原则的, 那么为了保证数据库的 ACID 原则, 即使在调度的过程中无法保证, 可以通过在 Commit 的时候, 通过验证, Ab 阅读全文
posted @ 2025-03-22 11:27 虾野百鹤 阅读(118) 评论(0) 推荐(0)
摘要: 事务 Abort tainted 状态存在什么问题 在此之前, 在 BUSTUB 中检测到写写冲突的时候, 会将事务的状态设置为 tained, 但是 tained 是一个临时保存的状态, tained 状态的事务不会释放已经获取的资源, 例如如果一个事务 txn_A 在修改一个 tuple1 的时 阅读全文
posted @ 2025-03-15 13:10 虾野百鹤 阅读(93) 评论(0) 推荐(1)
摘要: 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 虾野百鹤 阅读(124) 评论(0) 推荐(1)
摘要: MVCC Executors 在这个 Task 中, 我们需要实现在 MVCC 下的 Plan Executor. 在 MVCC 下, 由于数据库中的对象会存储多个物理版本, 因此所有涉及到数据库对象直接读取, 存储, 修改, 删除 的 Executor 都需要考虑到 tuple 的多版本物理存储问 阅读全文
posted @ 2025-03-03 16:57 虾野百鹤 阅读(151) 评论(0) 推荐(1)
摘要: CMU_15445_Project4_Task1-2 到这部分, BUSTUB 数据库引擎的整体面容开始显现出来了, 在文件 src/include/common/bustub_instance.h 中, 当我们想要实例化一个 BUSTUB 对象的时候, 可以看到它的组成部分有: // Curren 阅读全文
posted @ 2025-02-25 18:21 虾野百鹤 阅读(137) 评论(0) 推荐(1)
上一页 1 2 3 4 5 6 7 ··· 12 下一页