Database-centric architecture とは

データベース中心アーキテクチャまたはデータ中心アーキテクチャには、データベースが重要な役割を果たすソフトウェアアーキテクチャに関連するいくつかの明確な意味があります。多くの場合、この説明は設計を代替的なアプローチに対比させることを意図している。たとえば、アーキテクチャを「データベース中心」とすると、次のような組み合わせが考えられます。
 カスタマイズされたメモリ内またはファイルベースのデータ構造およびアクセス方法とは対照的に、標準の汎用リレーショナルデータベース管理システムを使用しています。大部分が無料またはオペレーティングシステムに含まれている洗練されたDBMSソフトウェアの進化により、アプリケーション開発者は、特に迅速なアプリケーション開発のために、標準のデータベースツールにますます頼るようになっています。これまでにコンパイルされたプログラムで実装されたロジックとは対照的に、動的なテーブル駆動ロジックを使用していました。テーブル駆動ロジック、すなわちデータベースの内容によって大きく左右される挙動の使用は、プログラムをより簡単でより柔軟にすることを可能にする。この機能は、動的プログラミング言語の中心的な機能です。通常はコード化され、データ構造としてプログラム内に組み込まれている(つまりコンパイルされたステートメントではない)が、フラットファイル、データベースから読み込まれたり、スプレッドシートから取得されたりするテーブルのコントロールテーブルも参照してください。マルチティア・アーキテクチャーの中間層アプリケーション・サーバーで実行されているロジックへの依存度が高くなるのではなく、データベース・サーバー上で実行されるストアード・プロシージャーを使用します。バックエンドと他の層との間にビジネスロジックを置くべき範囲は、進行中の議論の対象です。たとえば、Toon Koppelaars氏は、ビジネス・ロジックの配置が異なるOracleベースの代替アーキテクチャーの詳細な分析を示し、データベース中心のアプローチは開発の容易さと保守性の観点から実際的な利点があると結論付けています。メッセージパッシング機能とメッセージ指向ミドルウェアによる直接プロセス間通信とは対照的に、分散コンピューティングアプリケーションにおける並列プロセス間の通信の基礎として共有データベースを使用しています。分散アプリケーションにおけるデータベース中心のアーキテクチャの潜在的な利点は、DBMSが提供するトランザクション処理と索引付けを利用して高い信頼性、パフォーマンス、および容量を実現することにより、設計が簡素化されることです。たとえば、Base Oneは、グリッドコンピューティングとクラスタコンピューティングのためのデータベース中心の分散コンピューティングアーキテクチャについて説明し、この設計がセキュリティ、フォールトトレランス、およびスケーラビリティを強化する仕組みについて説明します。各アプリケーションに独自の固有データモデルを持たせることを可能にすることよりも、共有データモデルを好む全体的なエンタープライズアーキテクチャです。