はじめに
以下の記事にてデータベースとインスタンスの違い、及び1データベース1インスタンスであることを記載しました。
本記事ではその方針に沿わないインスタンス/データベースを分ける構成とそのメリットデメリットについて簡単に紹介します。
データベースを分ける設計
いわゆる以下のような構成です。
一つのインスタンスの中で複数のデータベースを作成しています。
メリット
- 複数のデータベースをより少ないメモリで管理できる
- データベース毎に個別に設定できる
デメリット
- インスタンスの障害がそれに紐づくすべてのデータベースに影響を与える
- 同時に別DBを処理する場合はパフォーマンスが悪化する
インスタンスを分ける設計
いわゆる以下の構成です。
メリット
- 起動停止タイミングを分けることができる
- 単一のインスタンス停止等の障害においてもデータベースのアクセスが可能
- インスタンスに紐づくDBを分ける場合は起動停止の単位を分けることもできる
デメリット
- メモリやプロセス等の多くの資源が必要
終わりに
基本は1インスタンス1データベースですが、実際の現場では1インスタンス複数データベースをよく見かけます。
そのような設計のメリットデメリットを抑えておくと、どこかで役立つかもしれません。
以上、ご参考になれば幸いです。