最近學習了一下emeralddb,所以想以此為藍本重寫一下這個資料庫,從而加深自己對emeralddb的理解,也提公升一下自己的伺服器程式設計能力。重寫的資料庫命名為diydb。
一、diy資料庫的主要特點
1.支援分割槽儲存,即資料庫中的資料被雜湊到資料庫集群的各個節點上。
2.資料交格式為json,資料的底層儲存格式為bson。
3.可對資料進行插入,搜尋與刪除
二、diy資料庫開發需要的環境
生成makefile的工具:autotools
第三方庫:boost
平台:ubuntu x86_64
編譯器:g++、gcc
偵錯程式:gdb
其他庫:bson、gson
diy資料庫(四) 鎖和佇列
一 鎖的概述 1.互斥鎖 用來保證臨界資源被互斥訪問。2.讀寫鎖 在乙個執行緒中,當乙個讀寫鎖中的讀鎖被申請後,其他執行緒可以再申請讀鎖,但不能申請寫鎖。在乙個執行緒中,當乙個讀寫鎖中的寫鎖被申請後,其他執行緒不能申請讀鎖,也不能申請寫鎖。3.自旋鎖 等待條件時,不讓出cpu。nginx中由於每個工...
資料庫DIY第一課
第一課create database 資料庫名稱use 資料庫名稱show databases create table 表名稱 欄位名 字段型別varchar 10 欄位名 字段型別varchar 10 show tables insert into 表明 欄位名1,欄位名3 values 值1,...
資料庫系列綜述
終於,伴隨草稿箱中的內容清空,資料庫相關的分享也告一段落了,其實筆記本中還有很多內容沒有來得及分享,例如 1 正規化 2 物理儲存結構 storage and file structure 3 索引 indexing and hasing 4 併發控制 concurrencycontrol 5 恢復...