diy資料庫系列(引言)

2021-07-10 21:47:41 字數 366 閱讀 7733

最近學習了一下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 恢復...