IT用語: データベースレプリケーションとは|読み取り分散と冗長化の仕組み
プライマリDBの変更をレプリカに同期するレプリケーションの仕組み・同期/非同期の違い・活用パターンを解説。
データベースレプリケーションとは
レプリケーションは、1台のデータベース(プライマリ/マスター)への書き込みを他のDB(レプリカ/スレーブ)にリアルタイムまたは非同期でコピーし、複数のDBを同じ状態に保ち続ける仕組みです。読み取り分散と**高可用性(障害時のフェイルオーバー)**の2つが主な目的です。
同期レプリケーションと非同期レプリケーション
| 方式 | 特徴 | 用途 |
|---|---|---|
| 同期 | 全レプリカに書き込み確認後にコミット。データ損失ゼロだが遅い | 金融・決済 |
| 非同期 | プライマリにコミット後、後でレプリカに伝播。速いがデータロスの可能性 | 一般的なWeb系 |
読み取り分散(リードレプリカ)
書き込みはプライマリのみ、読み取りはレプリカに分散することでスループットを向上させます。AWS RDS・Aurora・Google Cloud SQLではリードレプリカを数クリックで追加できます。
アプリ → 書き込み → プライマリDB ─→ レプリカDB1(読み取り専用)
└→ レプリカDB2(読み取り専用)
アプリ → 読み取り → レプリカDB(ロードバランサーで分散)
フェイルオーバー
プライマリに障害が発生した場合、レプリカが自動的にプライマリに昇格(プロモーション)して処理を継続します。RDS Auroraは障害検知から昇格まで約30秒で完了します。
関連する用語 (データベース)
全23件を見るIT用語: MongoDBとは|JSONライクなドキュメント型NoSQLデータベース
スキーマレスなJSONドキュメントを格納するMongoDBの仕組み・集計パイプライン・RDBとの使い分けを解説。
IT用語: ORM(オブジェクトリレーショナルマッパー)とは|SQLを書かずにDBを操作
プログラミング言語のオブジェクトとDBのテーブルを対応付けるORMの仕組みとN+1問題を解説。
データベースインデックス(索引)
データベースの検索速度を向上させるためのデータ構造。B木・ハッシュ・全文検索等の種類があり、適切なインデックス設計はクエリパフォーマンスを劇的に改善する。
IT用語: PostgreSQLとは|拡張性と標準準拠で選ばれるオープンソースRDBMS
高度な機能・拡張性・SQL標準への準拠で知られるオープンソースのリレーショナルデータベースPostgreSQLを解説。
IT用語: シャーディングとは|大規模DBを水平分割してスケールアウトする手法
ユーザーIDや地域などのキーでデータを複数DBに分割するシャーディングの仕組みとデメリットを解説。
シャーディング(データベース水平分割)
データを複数のサーバー(シャード)に水平分割して分散させるDBスケーリング手法。1台のサーバーに収まらない大規模データの処理に使われる。モンゴDBやCassandraが得意とする。