分散データベース

分散データベース（ぶんさんデータベース、）とは、複数のデータベースが分散配置されているシステムである。中央集中型データベースとは異なり、データは複数のサーバーまたはノードに分散される。

 概説 
データの集合体は、複数の物理的位置に分散配置できる。1つのデータベースに障害が発生したとしても、データベースに冗長性があればデータの消失は避けることができるし、全体の機能が停止することもない。分散データベースの設計技法には様々なものがある。例えば、ローカル自律型、同期型、非同期型などの分散データベース技術がある。ビジネスにおける必要性、そのデータの重要性や機密性、データのセキュリティ・一貫性・完全性にかけられるコストによって、これら技術のうちどれを採用するかを決定する。

分散データベースが満たすべき性質は以下である。
 分散は透過的である - ユーザーはそれが1つの論理システムであるかのように対話できる必要がある。これは、性能やアクセス方法など様々な面に適用される。
 トランザクションは透過的である - 各トランザクションは、複数のデータベースに渡って一貫性を保証する必要がある。トランザクションは一般に複数のサブトランザクションに分割され、個々のサブトランザクションは1つのデータベースに対応する。

 利点 
 高可用性 - データが複数のノードに分散されているため、一部のノードが故障してもデータへのアクセスは継続できる。データの冗長性を確保することで、システムの可用性が向上。
 フレキシビリティ - 古いノードの削除や新しいノードの追加が柔軟に行え、システムのメンテナンスや拡張が容易。データへのクエリやトランザクションを自動的に均等に分散し、負荷を効果的に分散させることができる。
 グローバルなデータアクセス - 分散データベースは、地理的に分散した場所からデータにアクセスできるため、世界中のユーザーに向けたサービスを提供する際に便利である。
 経済性 - 巨大な高性能コンピュータよりも、同程度の性能を発揮する小型コンピュータのネットワークの方が安価である。

 欠点 
 複雑さ - データの整合性や一貫性を考慮しなければならない。CAP定理から、ACID特性と結果整合性を同時に満たすことはできない。接続が切れた際の動作も考慮する必要がある。
 コスト - システムの規模と複雑さが増大するにしたがって、管理コストが増大する。
 セキュリティ - データの転送や同期においてセキュリティの脆弱性が発生する可能性がある。

 実装 
 マスタースレーブシステム 
レプリケーションとも呼ばれる。
 MongoDB
 MySQL
 Peer to Peerシステム 
 ビットコイン
 GUN
 OrbitDB
 Scuttlebot
 Tableland 
 Textile Threads

 脚注 

 参考文献 
M. T. Ozsu and P. Valduriez, rinciples of Distributed Databases (2nd edition), Prentice-Hall, ISBN 0-13-659707-6
Federal Standard 1037C
Elmasri and Navathe, Fundamentals of database systems (3rd edition), Addison-Wesley Longman, ISBN 0-201-54263-3

 関連項目 
データベース管理システム（DBMS)
Domain Name System
ルーティングプロトコル
分散型台帳
ブロックチェーン
分散ファイルシステム

Category:コンピュータのデータ
Category:データベース