レプリケーション(データベース複製)
データベースのデータを複数のサーバーに自動的にコピーする仕組み。読み取り負荷の分散・障害時のフェイルオーバー・バックアップ目的で使われる。プライマリ/レプリカ構成が一般的。
レプリケーションとは?
レプリケーション(Replication)は、データベースのデータを複数のサーバーに自動的にコピーし続ける仕組みです。1台が障害を起こしてもサービスが継続でき、読み取りクエリを複数サーバーに分散して負荷を下げる用途でも使われます。
基本的なアーキテクチャ
[プライマリ(Primary)] ←書き込み
↓ 非同期/同期レプリケーション
[レプリカ1(Replica)] ←読み取り分散
[レプリカ2(Replica)] ←読み取り分散
レプリケーションの種類
| 種類 | 説明 | 特徴 |
|---|---|---|
| 同期レプリケーション | 全レプリカへの書き込み完了を確認してからコミット | データ損失なし・書き込み遅延あり |
| 非同期レプリケーション | プライマリへの書き込み後すぐにコミット | 高速・わずかなデータ損失リスク |
| 半同期レプリケーション | 1台以上のレプリカ確認後にコミット | バランス型 |
ユースケース
- 読み取りスケール: SELECT系クエリをレプリカに分散
- HA(高可用性): プライマリ障害時にレプリカへ自動フェイルオーバー
- バックアップ: レプリカからダンプを取得してプライマリに負荷をかけない
- 地理的分散: 別リージョンにレプリカを配置して低レイテンシを実現
まとめ
本番環境ではレプリケーションはほぼ必須です。マネージドDBサービス(RDS・Cloud SQL・Azure Database)を使うと、レプリケーション設定・監視・フェイルオーバーを自動化できます。
関連する用語 (データベース)
全23件を見るIT用語: データベースインデックスとは|検索を高速化するB-Tree構造の仕組み
フルテーブルスキャンを避けてクエリを高速化するDBインデックスの仕組み・種類・設計の注意点を解説。
IT用語: データベース正規化とは|データの重複をなくすテーブル設計の基本
第1〜第3正規形(1NF・2NF・3NF)を使いデータの冗長性を排除するデータベース正規化の手順を解説。
PostgreSQL(ポストグレSQL)
オープンソースのリレーショナルデータベース。ACID準拠・豊富な機能・強力なSQL拡張・JSONサポートを持ち、企業向けから個人プロジェクトまで幅広く使われる高信頼性DBMSの代表格。
ACID特性(トランザクション4要件)
データベーストランザクションの信頼性を保証する4つの特性。原子性(Atomicity)・一貫性(Consistency)・独立性(Isolation)・永続性(Durability)の頭文字をとった概念。
IT用語: ORM(オブジェクトリレーショナルマッパー)とは|SQLを書かずにDBを操作
プログラミング言語のオブジェクトとDBのテーブルを対応付けるORMの仕組みとN+1問題を解説。
データベースインデックス(索引)
データベースの検索速度を向上させるためのデータ構造。B木・ハッシュ・全文検索等の種類があり、適切なインデックス設計はクエリパフォーマンスを劇的に改善する。