|
||||||||||||||
| 1 2 3 4 次のページ | ||||||||||||||
| はじめに | ||||||||||||||
|
今回はレプリケーションを取り上げます。まずレプリケーションとはどのようなものかを解説し、次にPostgreSQLとMySQLそれぞれが持つレプリケーションの基本構造を解説します。 |
||||||||||||||
| レプリケーションとは | ||||||||||||||
|
RDBMSでいうプリケーションとは、ある1つのデータベースをまったく同じ内容で複製し、複製したデータベース(レプリカ)をネットワーク上に複数配置する機能です。レプリケーションにて作成した複製のデータベースは、様々な目的に活用できます。次にその使用例を紹介します。 |
||||||||||||||
| レプリケーションの目的 | ||||||||||||||
|
目的の1つには、バックアップデータとしての活用があります。テープ装置などの外部記憶装置にバックアップデータを作成するかわりに、他のサーバ上のディスク内にデータベースを複製し、それをバックアップデータとします。 障害発生時には、バックアップデータとして作成した複製データベースを本番データベースとして使用し、障害復旧のための時間を短縮する効果があります。 その他にも、処理性能の向上を目的として複製データベースを活用することもできます。アプリケーションからのデータベースに対するアクセスをいくつかの複製データベースに分散させ、本番データベースに対する処理の負荷を低減することができます。 ただし、負荷分散効果があるのは検索処理のみです。なぜなら、レプリケーションしているすべてのデータベースは同じ内容であるため、検索処理はどれか1つのデータベースに対して行えば正しい結果を得ることができますが、更新処理はすべてのデータベースに結果を反映する必要があるため、負荷の分散が難しいからです。 |
||||||||||||||
| レプリケーションの方式 | ||||||||||||||
|
レプリケーションには、マルチマスタ方式とマスタスレーブ方式の2つがあります。次にこの2つの方式を示します。
表1:レプリケーションの方式 マルチマスタ方式にてレプリケーションが行われている状況では、アプリケーションはどのデータベースにアクセスしても同一の結果を得ることができます。一方のマスタスレーブ方式は、マスタデータベースとスレーブデータベースでは内容が異なる状態になることがあります。 このようにマルチマスタ方式のレプリケーションの方が、マスタスレーブ方式に比べ優れているように思われます。しかし、マルチマスタ方式は遅延することなくすべてのデータベースを更新する必要があるため、レプリケーションしていない状態に比べて更新性能が劣化する可能性があったり、各データベースの整合性確保のために複雑な仕組みが必要であったりするなどのマイナス面もあります。 |
||||||||||||||
|
1 2 3 4 次のページ |
||||||||||||||
|
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||

