![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CMU15-445/645
文章平均质量分 87
CMU15-445/645
余为民同志
做一个优秀的普通人,在热爱中燃烧。
展开
-
CMU 14-445/645 Project #2 Hash Index
在fall2019的版本中需要实现的hash table的测试代码()已经被注释掉了,所以这里实现的是fall2023版本中的可扩展哈希。原创 2024-01-11 22:52:38 · 1542 阅读 · 0 评论 -
CMU15-445/645 Lecture#7 Tree Indexes I
Tree Indexes I构建索引的另一种方式就是通过Tree。B+ Tree有一个称为B树的特定数据结构。人们还使用该术语来泛指一类平衡树数据结构:→ B-Tree (1971)→ B+Tree (1973)→ B*Tree (1977?)→ B^link-Tree (1981)相关资料关于B树及B+树可以通过以下两篇文章了解:漫画:什么是B-树?https://juejin.im/post/5c31f64c6fb9a049ac794ffc漫画:什么是B+树?https://mp原创 2020-06-06 16:48:39 · 286 阅读 · 0 评论 -
CMU15-445/645 Lecture#2 Advanced SQL
SQL的历史最新的SQL规范:2016→ SQL:2016 → JSON, Polymorphic tables→ SQL:2011 → Temporal DBs, Pipelined DML→ SQL:2008 → TRUNCATE, Fancy sorting→ SQL:2003 → XML, windows, sequences, auto-gen IDs.→ SQL:1999 ...原创 2020-05-08 16:34:38 · 330 阅读 · 0 评论 -
CMU15-445/645 Lecture#4 Database Storage II
日志结构的文件组织DBMS只存储日志记录,而不是在页面中存储元组。系统将日志记录追加到有关如何修改数据库的文件中:→插入存储整个元组。→删除将元组标记为已删除。→更新仅包含已修改属性的增量。建立索引以使其跳至日志中的位置。定期压缩日志。数据表示元组本质上是字节序列。DBMS的工作是将这些字节解释为属性类型和值。DBMS的目录包含有关表的模式信息,系统使用这些表来确定元组的...原创 2020-05-08 17:30:58 · 199 阅读 · 0 评论 -
CMU15-445/645 Lecture#6 Hash Tables
Hash Tables哈希表实现了将键映射到值的无序关联数组。它使用哈希函数为给定键计算数组的偏移量,从该偏移量可以可以找到值。空间复杂度:O(n)操作复杂度:→平均:O(1)→最差:O(n)Static Hash Tables分配一个巨大的数组,该数组为您需要存储的每个元素分配一个插槽。要查找条目,请通过%n以找到数组中的偏移量前提您会提前知道元素的数量每个键都是唯一的最完美的的哈希函数:→ 如果key1 ≠ key2,则 hash(key1) ≠ hash(key2)Ha原创 2020-05-10 20:50:30 · 258 阅读 · 0 评论 -
CMU15-445/645 Lecture#3 Database Storage I
面向磁盘的DBMS数据库全部在磁盘上,数据库文件中的数据被组织成页面,第一页是目录页面。 为了对数据进行操作,DBMS需要将数据带入内存。它通过具有一个缓冲池来实现此目的,该缓冲池管理着磁盘和内存之间的来回移动。 DBMS还具有将执行查询的执行引擎。 执行引擎将向缓冲池询问特定的页面,并且缓冲池将负责将该页面带入内存并为执行引擎提供指向内存中页面的指针。 当执行引擎在该内存上运行时,缓冲池管理器...原创 2020-05-08 17:15:46 · 253 阅读 · 0 评论 -
CMU 14-445/645 Project #1 Buffer Pool
Lab1 Buffer Pool时钟更换策略时钟的组成对于单个frame应当有以下三部分组成:frame_id、Ref、PIN。frame_id:唯一确定id,与buffer pool相对应。Ref:该frame最近是否使用过。使挑选的frame尽量是很久之前使用的(类似与LRU)PIN:该frame是否正在使用。?> 注:该时钟不包含任何page信息,真正的page是存储在...原创 2020-05-08 15:36:19 · 992 阅读 · 2 评论 -
CMU15-445/645 Lecture#1 Course Introduction and the Relational Model
关系性数据库提出的背景刚开始是没有数据库这概念的.当数据量比较少时用一个啥txt文本文件就差不多就能搞定了.但数据量稍微多一点时,而且数据保存在不同的文件中.比如啥txt,doc,excel等文件.此时要处理数据还是手动去查询更改就非常之麻烦.可能得再整个简单应用程序帮你做些事了.只给你提供一些简单的用户界面.封装背后的一些复杂操作.此时数据的组织和保存还是主要依靠操作系统的文件系统.应用程序只...原创 2020-05-08 16:16:05 · 208 阅读 · 0 评论 -
CMU15-445/645 Lecture#5 Buffer Pools
双重环境前端采用OLTP型数据库,负责数据的查询、修改。后端采用OLAP型数据库,负责数据的分析。Buffer Pool ManagerBuffer Pool 组织内存区域组织为固定大小的页面数组。数组条目称为frame。当DBMS请求页面时,将精确的副本放置在这些frame之一中。Buffer Pool元数据page table跟踪当前在内存中的页面。每页还维护其他元数据:→Dirty Flag→Pin/Reference 计数器LOCKS VS LATCHES在讨论DBM原创 2020-05-08 17:36:50 · 314 阅读 · 0 评论