構建key value儲存引擎 資料組織

2021-05-02 07:51:35 字數 648 閱讀 7830

key-value儲存引擎資料組織方式

1.slab方式儲存

把檔案劃分多個等級的塊大小(通常以2的次冪方式劃分,如 256byte,512byte,1024byte...)。value資料選擇儲存在「最適合」的塊中。這種資料組織方式在記憶體型服務中也經常使用,如memcached。

優點:塊的**利用較容易,不會產生檔案碎片。讀取效率比較高

缺點:資料大小不能超過最大塊的大小。空間浪費比較嚴重(取決於實際資料大小分布情況)

何時選擇這種儲存方式:

1)value長度有上限

2)value資料長度分布有一定規律,可有效控制空間浪費

2.連續空間定長儲存

優點:空間利用率比較高。資料大小不受限制。

缺點:高效的空間**演算法實現比較複雜。

這種儲存方式在資料組織上較為靈活,是比較通用的儲存方式,但**演算法的實現比較複雜。

3.連續空間變長儲存。更新和刪除操作不做物理刪除,通過資料重寫**資料空洞。

優點:資料更新邏輯簡單。通過重寫來**空洞,不會造成磁碟碎片。

缺點:需要在合適的時機進行資料重寫,暫用額外的系統資源。

何時選擇這種儲存方式:

1)更新和刪除操作不太頻繁。讀多寫少。

2)在業務低峰期,可以接受資料重寫操作帶來的資源消耗

高效能檔案快取key value儲存 Redis

a.redis是乙個開源,先進的key value 鍵 值對 儲存,並且勇於構建高效能,可擴充套件的web應用程式的完美解決方案 b.redis和memcached的對比 b.1 redis資料庫完全在記憶體中,使用磁碟僅用於永續性 b.2 相比較許多鍵值對儲存,redis擁有更加豐富的資料型別,r...

日誌結構的key value儲存系統Bitcask

bitcask 來自於riak,是乙個日誌 log structured 儲存系統。用在riak的分布式資料庫的底層key value的儲存。bitcask的一些基本特徵 1.key value 2.通過hash表儲存key與其物理儲存位置的對應關係 索引 讀取操作的時間複雜度為0 1 可通過對索引...

Mysql 儲存引擎之 MyISAM儲存引擎

myisam是預設儲存引擎。每個myisam在磁碟上儲存成三個檔案。frm檔案儲存表定義 myd檔案儲存資料 myi檔案儲存索引。要明確表示你想要用乙個myisam 請用engine表選項指出來 create table test myisam id int engine myisam 2 如下是m...