Sitecoreの開発を行う場合、データベースの構造を理解する必要があります。
Sitecoreでは、主に3つのデータベースから構成されます。
- MasterDB
- WebDB
- CoreDB
このエントリーでは、SitecoreのDBと役割について紹介します。
Sitecoreは、バックエンドのDBとして、SQL Serverを使用します。
CMサーバー
編集者・入稿者は、コンテンツ管理サーバー(CMサーバー)にてコンテンツを書きます。その内容はMasterDBに格納されます。ここにはすべてのバージョンのコンテンツと画像・動画などが格納されます。
CDサーバー
Webサイトの利用者に向けて公開用のコンテンツ配信サーバー(CDサーバー)が参照するCoreDBにデータを転送します。ここには最新(公開期間内の)バージョンのアイテムは格納されます。
なお、CMサーバからCDサーバへデータを転送することを、パブリッシュと呼びます。
システム情報
ログインユーザーなどのシステム情報などはCoreDBに格納されます。
サービスの規模や要件によって異なりますが、これらの概念をまとめたのが下記の図となります。
インフラ設計では、WebサーバーとDBサーバーをどのように配置するかを検討する必要があります。
インフラ設計では、WebサーバーとDBサーバーをどのように配置するかを検討する必要があります。
なお、DMS(デジタルマーケティング)機能に関するデータベースの名前は次のものがあります。
- AnalyticsDB:アクセスログ収集用データベース
- ReportingDB:レポート用 データベース
- AutomationsDB:オートメーションEAS データベース
収集とレポーティングを分けたい場合にAnalyticsDBとReportingDBを分けることができます。
バージョンによっても少しずつ違いはありますが、基本のDB群について紹介しました。