キーバリュー型データベース
辞書はオブジェクトまたはレコードの集合を含み、レコードの中にはデータを含むさまざまなフィールドを持っている。これらのレコードは、レコードを一意に識別するキーを使用して保存および取得され、データベース内のデータを見つけるために使用される。
キーバリュー型データベースは、よく知られている関係データベース(英: relational database、RDB)とは大きく異なる方法で働く。RDBは、データベース内のデータ構造を、明確に定義されたデータ型のフィールドを含む一連のテーブルとして事前定義する。このデータ型をデータベースプログラムに開示することで、多くの最適化を適用できる。これに対してキーバリューシステムでは、データを単一の非開示の集合体として扱い、レコードごとに異なるフィールドを持つことができる。これはかなりの柔軟性を提供し、オブジェクト指向プログラミングのような現代的な概念をより追求している。ほとんどのRDBのように、オプションの値はプレースホルダや入力パラメータで表現されないため、キーバリュー型データベースでは、同じデータを格納するために使用するメモリがはるかに少ないことが多く、特定の作業負荷で性能が大きく向上する可能性がある。
性能面、標準化の欠如、その他の問題から、キーバリューシステムは長年ニッチな用途に限定されていた。しかし、2010年以降、クラウドコンピューティングへの急速な移行が進み、より広範なNoSQL移行の一部として再流行が起こった。ArangoDB(英語版)のようなグラフデータベース(英語版)も内部的にはキーバリュー型データベースであり、レコード間の関係(ポインタ)の概念を一級データ型として追加している。