キーバリュー型データベース
キーバリュー型データベースは、結果整合性から直列化可能性まで、一貫性モデルを使用することができる。キーの順序付けをサポートするものもある。
データをメモリ (RAM) に保持するものもあれば、ソリッドステートドライブや回転ディスクを使用するものもある。
すべての実体(entiry、レコード)はキーとバリュー(値)の対からなる集合である。1つのキーは複数の要素を持ち、順序付きリストとして指定される。主分類キー(メジャーキー、major key)はレコードを識別するもので、キーの先頭の構成要素からなる。後続の構成要素は小分類キー(マイナーキー、minor keys)と呼ばれる。この構成は、ファイルシステムのディレクトリパス指定に似ている(例:/Major/minor1/minor2/)。 キー・バリュー対の「バリュー」の部分は、単に任意の長さをもつ未解釈のバイト文字列である。
Unix系システムではdbmが提供されており、もともとはケン・トンプソンによって1979年に書かれたライブラリであった。これは、Microsoft Windowsにも移植され、Perl for Win32などのプログラミング言語を通じて提供された。dbmは、任意のデータの連想配列を一つのキー(プライマリキー)で管理する。最近の実装には、sdbm、GNU dbm、Berkeley DBがある。dbmはNoSQLの概念に先行しており、現代の言説ではほとんど言及されないが、多くのソフトウェアで利用されている。
キーバリュー型データベースの最近の例としては、ArangoDBなど他のデータベース管理システムのストレージエンジンとして利用されているRocksDBがある。