热门问题
时间线
聊天
视角

鍵-值存儲

来自维基百科,自由的百科全书

键-值存储
Remove ads

鍵-值數據庫(Key–value database),或鍵-值存儲,是設計用來存儲、檢索和管理關聯數組的數據存儲範式,關聯數組是現今更常稱為「字典」或散列表的一種數據結構。字典包含對對象記錄的一個收集,依次、記錄內有多個不同的「域」或稱字段,再次、每個字段都包含數據。這些記錄使用唯一標識這個記錄的「鍵」來存儲和檢索,鍵還用來在數據庫中快速的找到數據。

Thumb
一個表,展示了不同的鍵關聯着不同的格式化數據

概述

同更知名的關係數據庫相比,鍵-值數據庫以與之非常不同的方式工作。關係數據庫把數據庫中數據結構預定義為一系列的表,它們包含有着明確定義的數據類型的字段。這些數據類型暴露於數據庫程序,從而允許它們應用某些優化。與之相對,鍵-值系統把數據當作一個單一的不透明的收集,對於每個記錄都可以有不同的多個字段。這提供了可觀的靈活性並更加緊密的遵循了現代概念如面向對象編程。不同於多數的關係數據庫,由於不使用占位符或輸入參數來表示可選值,鍵-值數據庫經常比同等的關係數據庫使用更少的內存

多年以來性能問題、缺乏標準化和其他一些問題限制了鍵-值系統的市場份額,然而2010年後向雲計算的快速轉移,導致它作為更廣闊的NoSQL運動的一部分而復興了。一些圖數據庫內部使用了鍵-值數據庫,增加了在記錄之間聯繫(指針)的概念,並把它作為一等數據類型。

類型和著名例子

鍵-值數據庫可以使用的一致性模型,範圍包括從結果一致性可序列化。有的支持有序的鍵。有的在內存內維持數據,而另一些採用固態硬盤旋轉硬盤

依據數據庫引擎排名[1],在2019年5月時,Redis是最流行的鍵-值數據庫實現。

另一個鍵-值數據庫的例子是Oracle NoSQL Database。Oracle NoSQL 數據庫向應用開發者提供了鍵-值範式。每個實體(記錄)都是鍵-值對的一個集合。鍵有多個成員,並指定為有序列表。主鍵標識了這個實體,並構成了這個鍵的前導成員。後續成員叫做次鍵。這種組織類似於在文件系統中的目錄路徑規定(例如:/Major/minor1/minor2/)。鍵-值對的「值」部分簡單的就是不加解釋的任意長度的字符串[2]

Unix系統提供了dbm(數據庫管理器),它是最初由Ken Thompson寫的一個庫。它的Windows操作系統平台移植,是通過了編程語言比如Perl for Win32而提供的。dbm通過單一的鍵(主鍵)來管理任意數據的關聯數組。現代實現包括sdbmGNU dbm

更多信息 提供者, 許可證 ...
Remove ads

引用

參見

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads