レプリケーション(データベース複製)
データベースのデータを複数のサーバーに自動的にコピーする仕組み。読み取り負荷の分散・障害時のフェイルオーバー・バックアップ目的で使われる。プライマリ/レプリカ構成が一般的。
レプリケーションとは?
レプリケーション(Replication)は、データベースのデータを複数のサーバーに自動的にコピーし続ける仕組みです。1台が障害を起こしてもサービスが継続でき、読み取りクエリを複数サーバーに分散して負荷を下げる用途でも使われます。
基本的なアーキテクチャ
[プライマリ(Primary)] ←書き込み
↓ 非同期/同期レプリケーション
[レプリカ1(Replica)] ←読み取り分散
[レプリカ2(Replica)] ←読み取り分散
レプリケーションの種類
| 種類 | 説明 | 特徴 |
|---|---|---|
| 同期レプリケーション | 全レプリカへの書き込み完了を確認してからコミット | データ損失なし・書き込み遅延あり |
| 非同期レプリケーション | プライマリへの書き込み後すぐにコミット | 高速・わずかなデータ損失リスク |
| 半同期レプリケーション | 1台以上のレプリカ確認後にコミット | バランス型 |
ユースケース
- 読み取りスケール: SELECT系クエリをレプリカに分散
- HA(高可用性): プライマリ障害時にレプリカへ自動フェイルオーバー
- バックアップ: レプリカからダンプを取得してプライマリに負荷をかけない
- 地理的分散: 別リージョンにレプリカを配置して低レイテンシを実現
まとめ
本番環境ではレプリケーションはほぼ必須です。マネージドDBサービス(RDS・Cloud SQL・Azure Database)を使うと、レプリケーション設定・監視・フェイルオーバーを自動化できます。
関連する用語 (データベース)
全23件を見るIT用語: Redisとは|高速インメモリデータストアの仕組みと活用パターン
メモリ上にデータを保存し高速なキャッシュ・セッション管理・Pub/Subを実現するRedisの仕組みと主要データ型を解説。
IT用語: データベース正規化とは|データの重複をなくすテーブル設計の基本
第1〜第3正規形(1NF・2NF・3NF)を使いデータの冗長性を排除するデータベース正規化の手順を解説。
IT用語: MySQLとは|世界最多採用のオープンソースリレーショナルデータベース
WordPress・ECサイト・SNSに広く使われるMySQL(MariaDB)の特徴・ストレージエンジン・チューニングを解説。
IT用語: データベースインデックスとは|検索を高速化するB-Tree構造の仕組み
フルテーブルスキャンを避けてクエリを高速化するDBインデックスの仕組み・種類・設計の注意点を解説。
SQL
リレーショナルデータベース(RDB)を操作・検索するための標準言語。
ORM(オブジェクト関係マッピング)
プログラミング言語のオブジェクトとデータベースのテーブルを対応付け、SQLを書かずにDBを操作できるようにするライブラリ。Prisma・TypeORM・Sequelize等が代表的。