階層型データベースは、データを親子関係のある木構造に表現し、データを管理するデータベースの一種です。データベースにおいて、データはテーブル(表)の行として管理されますが、階層型データベースでは、複数の階層を持つデータを繋げた木構造の形で管理されます。この木構造は「階層」と呼ばれます。
階層型データベースは、主に大量のデータを高速にアクセスする必要があるシステムに用いられます。例えば、銀行の口座情報を管理したり、製造工場での在庫管理、物流管理などが挙げられます。また、階層型データベースは、固定的な階層を持つ環境で使用されることが多く、柔軟性に欠けるという欠点があります。
階層型データベースでは、データの親子関係を表すために、階層上に存在するノードと呼ばれるデータを使用します。ノードは、子ノードを持つことができるため、階層構造を表現することができます。例えば、製品カテゴリ、製品名、製品仕様といった親子関係のあるデータを木構造で表現することができます。
階層型データベースの利点としては、データを分散して保存することができることが挙げられます。例えば、製品データを階層型データベースで管理する場合、カテゴリ毎にデータを分類し、データを複数のノードに分散して保存することができます。そのため、データベースに大量のデータがある場合でも高速にアクセスすることができます。
階層型データベースは、リレーショナルデータベースと比較すると柔軟性に欠けるため、データモデルの変更に対応することが難しいという欠点があります。しかし、データモデルが固定されているシステムにおいては、高速なデータアクセスが求められることが多いため、階層型データベースの利点を生かしたシステムが多く採用されています。
最近では、階層型データベースに代わって、XML形式のデータストアが使用されることが増えています。XML形式のデータストアは柔軟性があり、構造変更にも対応しやすいため、より大規模なシステムに向いていると言えます。しかし、階層型データベースは、大規模データ管理の中でアクセス速度が早く、高い信頼性を発揮することができます。