レプリケーション

開発

レプリケーションとは?

 状態:-  閲覧数:2,245  投稿日:2009-07-10  更新日:2017-08-23  
英語表記
・Replication

稼働データベースの複製を行う技術
・データベース管理システムが持つ機能の一つ
・本番で運用中のサーバデータを、もう1 台のサーバに自動的に複製する仕組み
・あるデータベースとまったく同じ内容の複製(レプリカ)を別のコンピュータ上に作成し、常に内容を同期させる機能
・あるデータベースとまったく同じ内容のを複製(レプリカ)をネットワーク上に複数配置し、通信回線や1台1台のコンピュータにかかる負荷を軽減する仕組みのこと
・主となる(マスタ)データベース と まったく同じ内容の(レプリカ・複製)データベースを作成することができるため、 負荷分散や、ホットスタンバイに有効な手段として広がっている
・マスターデータベースとレプリカデータベースは、ネットワークを通じて互いにデータを交換しあい、常に内容が一致するようにできているため、 一ヶ所でデータを更新すると、マスターとすべてのレプリカに自動的に更新内容が伝播する


目的


障害対策
・耐障害性の向上

データベースの負荷分散
・システムにアクセスが集中したときに、1つのサーバのみで対応すると過度に負荷がかかってしまいサーバダウンにつながる恐れがある


対象


停止が許されない、極めて重要なシステム
・行政機関や交通機関のシステムなど、停止したら大きな影響を与えてしまうシステム
→ 障害が発生しても、システムを停止させることなく継続できる

デメリット / バックアップとの違い

 閲覧数:221 投稿日:2017-08-23 更新日:2017-08-23 

デメリット


莫大なコストが発生
・元となるサーバと同じようなサーバが必要になる
・単純計算で通常のサーバ運用の2倍の費用が必要

不適切なデータも完全にコピーされてしまう
・元データがウイルスなどに感染した場合、予備のデータは元データのコピーを行うことしかプログラムされていないため、感染したままのデータがそのままレプリケーションされてしまう


バックアップとの違い


バックアップとは?
・データの複製をあらかじめ作成しておいて、元のデータが破損したときに元のデータと入れ替えて活用すること

比較一覧表
- バックアップ レプリケーション
リアルタイム性
同一媒体?
障害発生 リストア後再開 継続稼働
リアルタイム性
・レプリケーションは、本番系が更新されたら、その場で予備系も更新される。常にデータベース自体を複製するため、万一のデータベース障害時にも 待機系データベースでの継続運用が可能

同一媒体?
・バックアップは、テープやバックアップ用のストレージなど、異なる媒体に転送される。単にデータを保存するだけなら通常のデータベースやストレージで事足りる
・レプリケーションは、2つのまったく同じシステム間で複製される。コピー先の媒体が元データと同一である理由は、単にデータ保存しておくだけでなく、緊急時にシステムの稼働継続するため

システム障害が発生したら
・バックアップは、リストアという、複製を元に転送する作業が発生。リストア後に、業務を再開
・レプリケーションは、リアルタイムに更新しているため、本番系が停止したら、システムが自動的に切り替わり、サービスを止めることなく継続できる。緊急時にリストアの時間なく稼働し続けることができる


Eclipse

3層アーキテクチャ

コメント投稿(ログインが必要)



週間人気ページランキング / 6-24 → 6-30
順位 ページタイトル抜粋 アクセス数
1 Flash Video | コンテナフォーマット | プログラミング用語 306
2 curl | HTTPクライアント(ネットワーク) | プログラミング用語 286
3 ルーター | ネットワーク | プログラミング用語 281
3 ユースケース | 開発 | プログラミング用語 281
4 ベクトル | 数学 | プログラミング用語 236
5 デーモン | Linux | プログラミング用語 227
6 正規表現 | プログラミング | プログラミング用語 194
7 YouTube | API | プログラミング用語 171
8 チェックアウト | バージョン管理システム(開発) | プログラミング用語 117
9 分かち書き | 形態素解析 | プログラミング用語 63
10 Linux | プログラミング用語 57
11 リバースエンジニアリング | 開発 | プログラミング用語 54
12 ネットワークアドレス | ネットワーク | プログラミング用語 50
13 PowerShell | スクリプト | プログラミング用語 44
14 クローラ | 検索エンジン | プログラミング用語 31
14 可搬性 | プログラミング | プログラミング用語 31
15 Subversion | バージョン管理システム(開発) | プログラミング用語 27
16 アンチパターン | プログラミング | プログラミング用語 11
17 プログラミング用語 9
18 deflate | ネットワーク | プログラミング用語 8
2022/7/1 1:01 更新