概述 本lab將實現一個鎖管理器,事務通過鎖管理器獲取鎖,事務管理器根據情況決定是否授予鎖,或是阻塞等待其它事務釋放該鎖。 背景 事務屬性 眾所周知,事務具有如下屬性: 原子性:事務要么執行完成,要么就沒有執行。 一致性:事務執行完畢后,不會出現不一致的情況。 隔離性:多個 ...
概述 經過幾天鏖戰終於完成了lab ,本lab實現一個支持並發操作的B 樹。簡直B格滿滿。 B 樹 為什么需要B 樹 B 樹本質上是一個索引數據結構。比如我們要用某個給定的ID去檢索某個student記錄,如果沒有索引的話,我們可能從第一條記錄開始遍歷每一個student記錄,直到找到某個ID和我們給定的ID一致的記錄。可想而知,這是非常耗時的。 如果我們已經維護了一個以ID為KEY的索引結構,我 ...
2019-05-01 10:34 1 976 推薦指數:
概述 本lab將實現一個鎖管理器,事務通過鎖管理器獲取鎖,事務管理器根據情況決定是否授予鎖,或是阻塞等待其它事務釋放該鎖。 背景 事務屬性 眾所周知,事務具有如下屬性: 原子性:事務要么執行完成,要么就沒有執行。 一致性:事務執行完畢后,不會出現不一致的情況。 隔離性:多個 ...
概述 最近又開了一個新坑,CMU的15445,這是一門介紹數據庫的課程。我follow的是2018年的課程,因為2018年官方停止了對外開放實驗源碼,所以我用的2017年的實驗,但是問題不大,內容基本沒有變化。想要獲取實驗源碼的同學可以上github搜,或者直接clone我的代碼,找到最早 ...
總覽 這個lab要實現executors,executor負責query plan(就是operator形成的樹)上的operator並執行它們,對於每個executor,需要實現: 對於這個lab,沒有SQL,執行的查詢計划都是寫好的算子樹,並且用的是火山模型,每個算子的執行器 ...
好了,我以為這個lab會簡單很多。結果沒成想,寫着寫着,發現B+樹這個lab給我整不會了。花了足足一個 ...
轉載自:segmentfault_歐陽思海-面試官問你B樹和B+樹,就把這篇文章丟給他 在介紹B+樹之前, 先簡單的介紹一下B樹,這兩種數據結構既有相似之處,也有他們的區別,最后,我們也會對比一下這兩種數據結構的區別。 1. B樹 1.1 B樹的概念 B樹也稱B-樹,它是一顆多路平衡 ...
B樹的定義 假設B樹的度為t(t>=2),則B樹滿足如下要求:(參考算法導論) (1) 每個非根節點至少包含t-1個關鍵字,t個指向子節點的指針;至多包含2t-1個關鍵字,2t個指向子女的指針(葉子節點的子女為空)。 (2) 節點的所有key按非降序存放,假設節點的關鍵字分別為 ...
一、B+樹定義 B+樹定義:關鍵字個數比孩子結點個數小1的樹。 除此之外B+樹還有以下的要求: B+樹包含2種類型的結點:內部結點(也稱索引結點)和葉子結點。根結點本身即可以是內部結點,也可以是葉子結點。根結點的關鍵字個數最少可以只有1個。 B+樹與B樹最大的不同是內部結點 ...
在之前了解並復習了下B+樹之后還是需要實戰一下 之前的B+樹文章https://www.cnblogs.com/yangj-Blog/p/12944301.html 演示如下 代碼如下 BPulsTree.h ...