データストア【data store】
概要

システムが稼働するにはデータを永続的に記録し、必要に応じて読み書きを行う仕組みが必要で、ストレージ装置などを用いてそのような仕組みを実装したものをデータストアと総称する。オペレーティングシステム(OS)やミドルウェア、クラウドサービスなどが作成・管理し、アプリケーションにデータ保管機能として提供する。
アプリケーションはデータストアに対し、APIやクラスライブラリなどのインターフェースを介してデータの書き込み、読み込み、検索、削除などを行う。物理的な記憶装置の構成や仕様はデータストア側で管理され、開発者には抽象化された操作インターフェースのみが提供される。保存・管理の機能に加え、データの複製やバックアップ、利用者ごとのアクセス権限の制御といった機能を備えるものもある。複数の装置にデータを分散保存し、一部に障害が発生しても継続利用できるよう構成される場合もある。
データストアの種類は扱うデータの形式や用途によって異なる。「リレーショナルデータベース」は表形式でデータを管理し、複雑な検索や集計に対応する。「キーバリューストア」はキーと値の対応でデータを保持し、高速な読み書きに適している。「ドキュメントストア」はJSONなどの構造化文書をそのまま格納でき、構造が変化しやすいデータに向く。「オブジェクトストレージ」は画像や動画などの大容量ファイルの保管に使われる。「インメモリキャッシュ」はデータを主記憶装置上に展開し、きわめて高速なアクセスを実現する。
クラウド環境の普及に伴い、物理装置を意識せず申し込めばすぐに利用できるマネージドサービス型のデータストアが広く使われるようになった。用途に応じて複数の種類を組み合わせる構成も一般的で、検索には全文検索エンジン、頻繁にアクセスするデータにはインメモリキャッシュ、永続的な記録にはリレーショナルデータベースといったように様々なデータストアを組み合わせて一つのシステムを構築する。