從這篇文章開始。開一個新坑,記錄如下本身作cmu數據庫實驗的過程,同時會分析一下除了要求咱們實現的代碼以外的實驗自帶的一些代碼。爭取可以對實現一個數據庫比較瞭解。也但願能寫進簡歷。讓本身簡歷豐富一些。2020年課程的網址以下
https://15445.courses.cs.cmu.edu/fall2020/index.html
在這裏能夠找到課上的視頻和ppt
以及一些notes
實驗一的說明地址以下 https://15445.courses.cs.cmu.edu/fall2020/project1/
實驗一的github地址以下 https://github.com/cmu-db/bustubhtml
這裏咱們使用docker搭建環境因此請你們先下載docker(docker全部系統均可如下,並且操做基本相似)git
在mac-os下咱們能夠利用homebrew很容易的安裝docker。github
brew install dockerdocker
固然去官網下載也很容易
https://www.docker.com/
進入官網以後按照以下步驟操做
而後點擊docker的圖標就能夠運行了
你的電腦右上角會出現這個小標誌
輸入docker --version
若是成功的話就表示安裝成功了數據庫
(base) > docker --version
Docker version 19.03.13, build 4484c46d9dbash
按照上面的點擊順序來配置鏡像
把以前文本框裏的內容用下面的替換ui
{ "experimental": false, "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn" ], "features": { "buildkit": true } }
輸入docker info 若是能找到相似下面的內容則表示安裝成功3d
Registry Mirrors: https://docker.mirrors.ustc.edu.cn/ Live Restore Enabled: false Product License: Community Engine
先在github
中把整個實驗clone到本地。這裏方法隨意能夠用git也能夠直接下載。
進入整個實驗在本地的地址。
這裏須要在終端進入這個地址code
cd /Users/zhouxiaolun/offer/cmu-db/bustub視頻
而後執行下面的兩條命令
docker build . -t bustub
docker create -t -i --name bustub -v $(pwd):/bustub bustub bash
隨後執行這一條命令
docker start -a -i bustub
這個時候就能夠進入咱們的容器裏。這個容器就是咱們的實驗環境啦。
隨後就能夠配置文件環境了。
在bustub文件中執行這一條命令
build_support/packages.sh
mkdir build
cd build
cmake ..
make
最後一步咱們須要配置如下docker和本地目錄的掛載來實如今本地修改在docker中自動同步
執行下面的命令
docker container run -it -v /Users/xxxx/yourFilePath:/bustub --name=bustub_env bustub /bin/bash
/Users/xxxx/yourFilePath 請替換成你本身想要進行同步的目錄 :/bustub 也請替換成你本身想要命名的目錄
這裏的bustub目錄就是和你本地目錄同步的目錄
同步完成以後能夠發如今docker下的bustub目錄和咱們的yourFilePath文件實現了同步
完成上面的操做以後咱們的配置就算完成了。
接下來咱們能夠在本機的編譯器編寫咱們的代碼。而後在docer中的虛擬容器上編譯和運行咱們的代碼。✅
** 注意每次關閉docker在下一次運行的時候須要先啓動咱們的容器。**
docker ps -a
docker exec -it 容器id /bin/bash