狠狠撸
Submit Search
Data replication and synchronization ガイダンス
?
Download as PPTX, PDF
?
2 likes
?
1,216 views
Kazuhiro Taguchi
Follow
データのレプリケーションと同期。 11月18日開催 第4回クラウドデザインパターン勉強会にて使用したスライドとなります。
Read less
Read more
1 of 60
Download now
More Related Content
Data replication and synchronization ガイダンス
1.
Data Replication and
Synchronization ガイダンス 田口一博(@sleepy_taka ) スカイコード株式会社
2.
自己紹介 ? Microsoft
Azureを中心としたWebシステムの開発やシ ステム構築のお仕事してます。 ? 2.6 Data Replication and Synchronization ガイダン スの監訳担当 2
3.
イベント告知 3 http://r.jazug.jp/
4.
今回の内容 ? データのレプリケーションと同期
– 2.6 Data Replication and Synchronization ガイダ ンス(P246) ? ガイダンスをざっくりと紹介 ? 実装例として、Azureに関連する部分を少々補足 4
5.
アジェンダ ? レプリケーションと同期についての概要
? レプリケーションと同期の目的 ? レプリケーションと同期を設計する際の考慮点 ? レプリケーションと同期の実装例 ? 関連情報 5
6.
複数のデータセンターへのデプロイ 複数のデータセンターにアプリケーションをデプロイする 利点と課題については、「2.9
Multiple Datacenter Deployment ガイダンス」をご覧ください。 第3回Multiple Datacenter Deployment ガイダンススライド 株式会社pnop / Cloudlive 株式会社浅見城輝さん http://www.slideshare.net/kuniteruasami/cdp-multiple-datacenter-deployment 6
7.
レプリケーションと同期についての概要 概要 7
8.
レプリケーションと同期とは? ? データストア間のデータを一致させる処理
? あるデータストアから別のデータストアにデータや変更 を反映および配布し、一貫性を保つ処理 8
9.
レプリケーションが必要な理由 ? パフォーマンスの向上
? 可用性の向上 ? 機密データの保護 9
10.
レプリケーション方式について ? マスター?マスターレプリケーション
? マスター?従属レプリケーション 10
11.
マスター?マスター 11 ?
すべてのマスターレプリカで変更が可能 ? 個々のマスターレプリカに対する変更は、すべてのマスターレプ データB マスターA データA データC マスターB データA リカに双方向に反映 データB 変更 データB データC 変更 データC
12.
マスター?マスター 12 ?
すべてのマスターレプリカで変更が可能 ? 個々のマスターレプリカに対する変更は、すべてのマスターレプ データB(新) マスターA データA データB (新) マスターB データA リカに双方向に反映 デデーータタB(B 新) データB (新) 変更 データB データC 変更 データC 競合
13.
マスター?従属レプリケーション ? 変更可能なレプリカ(マスター)はただ1つで、残りのレプリカは
読み取り専用 ? マスターレプリカの変更は、すべての従属レプリカに伝播される 13 データC マスター データA データB データC 従属 データA データB 従属 データA データC 更新データB データC
14.
レプリケーションと同期の目的 目的 14
15.
目的別の有効活用 ? パフォーマンスとスケーラビリティの改善
? 信頼性の改善 ? セキュリティの改善 ? 可用性の改善 15
16.
パフォーマンスとスケーラビリティの改善(1) ? マスター?従属レプリケーションを使用
? アプリケーションは近くのレプリカからデータを取得 16 マスター データA データB アプリケー ション 従属 データA データB 読み取り 一方向の同期
17.
パフォーマンスとスケーラビリティの改善(2) ? マスター?マスターレプリケーションを使用
? アプリケーションは近くのマスターに書き込み 17 マスター データA データB アプリケー ション マスター データA データB 読み取り/書き込み 双方向の同期 アプリケー ション 読み取り/書き込み
18.
信頼性の改善 ? アプリケーションの近くアプリケーションと同じネットワーク境
界内にレプリカを配置 ? レプリカ間の接続に障害が発生した場合、復元時に同期 18 レプリカ データA データB アプリケー ション レプリカ データA データB アプリケー ション 接続復元時に再度同期
19.
セキュリティの改善 ? 必要なデータを必要な場所にのみ配置
19 レプリカ データA データB データE マスター データA データB データC データD データE データF クラウドでは使用しない データは、オンプレミス でのみ保持 データF
20.
可用性の改善(1) ? アプリケーションを実行する各国のDCでレプリケー
ションされたデータを使用 20 日本 アプリケー ション マスター データA データC アプリケー ション アメリカ マスター データA データE アプリケー ション マスター シンガポール データA データD
21.
可用性の改善(2) ? フェールオーバーまたはバックアップのためのレプリ
ケーション 21 従属 データA データB アプリケー ション マスター データA データB 読み取り/書き込み レプリカは最新を保持
22.
可用性の改善(2) ? フェールオーバーまたはバックアップのためのレプリ
ケーション 22 マスタ データA データB アプリケー ション マスター データA データB 障害が発生した場合 接続先を切り替える レプリカを更新可能な マスタに昇格
23.
レプリケーションと同期を設計する際の考慮点 設計時の考慮点 23
24.
出来る限りの簡素化 ? 可能な限りマスター?従属レプリケーションを使用
? 複数のストアやパーティションにデータを分離 ? 競合が発生する場所の削減 ? 上書きを必要しないデータの管理 ? クォーラムベースのアプローチを使用 24
25.
可能な限りマスター?従属レプリケーションを使用 25 マスター
データA データB アプリケー ション 従属 データA データB 読み取りは基本こちら
26.
複数のストアやパーティションにデータを分離 26 マスター
データA 従属 データC データD - データLA1 データLA2 データLA3 データLA4 データLA5 マスター データA マスター データC データD - データLB1 データLB2 データLB3 データLB4 データLB5 マスター?従属 マスター?マスター レプリケーションなし
27.
競合が発生する場所の削減 27 本社
マスター データC データD マスター データC データD マスター データC データD マスター データC データD マスター データC データD 東京 マスター データC データD 大阪 マスター データC データD アメリカ マスター データC データD シンガポール
28.
検討事項 ? 同期の種類
? 同期の頻度 ? 同期するデータ範囲 ? 同期時の障害 ? 同期の順序 ? 同期の経路 ? 同期するデータの暗号化 ? 同期データの整合性 ? 同期のコスト 28
29.
同期の種類 ? マスター?マスターレプリケーション
? マスター?従属レプリケーション ? カスタム 29
30.
同期の頻度 同期間隔が長い場合 ?
データが古くなる ? 更新が複数のレプリカで行われる可能性が高くなり、競合の危険性 が高くなる 間隔が短い場合 ? ホストやネットワークの負担が増える 上記の定期的な同期の他、変更が発生するたびに、それをレプ リカに伝搬させることも検討 30
31.
同期するデータ範囲 ? 各データストアが保持?同期するデータを検討
従属31 レプリカ データD マスター データA データB データC データD データE データF クラウドでは使 用しないデータ は、オンプレミ スでのみ保持 データA データB アプリケー ション
32.
同期時の障害 32 アプリケー
ション レプリカ データA データB アプリケー ション レプリカ データA データB データアクセス データアクセス
33.
レプリケーションと同期の実装例 実装 33
34.
同期の実装 ? データストア自体が持っている機能を使用
– Microsoft Azure ストレージ地理レプリケーション – SQL Databaseのレプリケーション – SQL Server のレプリケーションサービス ? 既存のフレームワークやソフトウェア、サービスを使用 – SQLデータ同期プレビュー – Microsoft Sync Framework ? カスタム実装 – 各自で実装 34
35.
その前に、Azureについての補足 ? Azureのジオとリージョン
? Azure Storage ? SQL Database 35
36.
AzureのGEOとリージョン GEO リージョン
米国米国東部(バージニア州) 米国東部2 (バージニア州) 米国中部(アイオワ州) 米国西部(カリフォルニア州) 米国中北部(イリノイ州) 米国中南部(テキサス州) ヨーロッパ北ヨーロッパ(アイルランド) 西ヨーロッパ(オランダ) アジア太平洋東南アジア(シンガポール) 東アジア(香港) 日本東日本(埼玉県) 西日本(大阪府) ブラジル南ブラジル(サンパウロ州) ※米国中南部(テキサス州) への一方向レプリケーション オーストラリアオーストラリア東部(ニューサウスウェールズ州) オーストラリア南東部(ビクトリア州) 36
37.
セカンダリリージョンとプライマリリージョン プライマリセカンダリ 米国中北部米国中南部
米国中南部米国中北部 米国東部米国西部 米国西部米国東部 米国東部2 米国中央部 米国中央部米国東部2 日本東部日本西部 日本西部日本東部 http://msdn.microsoft.com/ja-jp/library/azure/dn727290.aspx 37
38.
Azure Storage ?
BLOB ? テーブル ? キュー ? ファイル 38
39.
SQL Database BASIC
STANDARD PREMIUM アップタイムSLA 99.99% 99.99% 99.99% データベースサイズ上限2GB 250GB 500GB 特定の時点への復元7 日以内の 任意のポイント 14 日以内の 任意のポイント 35 日以内の 任意のポイント DTU B:5 S1:15 S2:50 P1:100 P2:200 P3:800 39 ? Azureのマネージドなデータ管理サービス
40.
Azure ストレージのレプリケーション ?
ローカル冗長ストレージ(LRS) ? ゾーン冗長ストレージ(ZRS) ? 地理冗長ストレージ(GRS) ? 読み取りアクセス地理冗長ストレージ(RA-GRS) 40
41.
オプション選択方法 41 管理ポータル
42.
ローカル冗長ストレージ(LRS) ? 単一リージョンの単一の施設内でデータのコピーを3
つ保持 ? 3つのレプリカすべてにデータが書き込まれた場合に、 処理は成功 42
43.
ローカル冗長ストレージ(LRS) 43 施設
ストレージ データA アプリケー ションデータB ストレージ データA データB ストレージ データA データB 書き込み 複製 応答
44.
ゾーン冗長ストレージ(ZRS) ? 1つまたは2つのリージョンの2か所から3か所の施設で
データのコピーを3 つ保持 ? ブロックBLOBのみサポート 44
45.
地理冗長ストレージ(GRS) ? プライマリリージョンで3つ、セカンダリリージョンで3
つデータのコピーを保持するため、合計6つのデータコピー を保持 ? セカンダリリージョンには非同期でレプリケート ? プライマリリージョンで障害が発生した場合、Azure Storage はセカンダリリージョンにフェールオーバー 45
46.
地理冗長ストレージ(GRS) プライマリリージョン 46
ストレージ データA データB アプリケーション 書 き 込 み ストレージ データA データB 複 製 ストレージ データA データB ストレージ データA データB セカンダリリージョン 書 き 込 み ストレージ データA データB ストレージ データA データB 複 応製 答 成功
47.
読み取りアクセス地理冗長ストレージ(RA-GRS) ? セカンダリリージョンにデータに対する読み取りアクセ
スを提供 ? 開発などで使用するAzure のストレージエミュレー ターも対応 47
48.
RA-GRSのサンプルコード 48 Azure関連の情報が豊富な「ブチザッキ」にサンプル
コードが掲載されていますので、”地理冗長の読み取りア クセスを試してみる”などで検索してみてください。
49.
詳しくは Microsoft Azure
Japan Team Blogをご覧ください。 Windows Azure ストレージの冗長オプションと読み取りアクセス地理冗長ストレージ http://blogs.msdn.com/b/windowsazurej/archive/2013/12/19/blog-windows-azure-storage-redundancy-options- and-read-access-geo-redundant-storage.aspx 49
50.
SQL Databaseのレプリケーション Basic
Standard Premium 標準地理 レプリケーション× ○ ○ アクティブ地理 レプリケーション× × ○ 50 ? 各サービスレベルで提供されている地理レプリケーション機能
51.
地理レプリケーションの選択 51 管理ポータル
52.
標準地理レプリケーション ? DRペアリージョンに1つのセカンダリレプリカを作成
可能 ? プライマリからセカンダリへの地理レプリケーションは 非同期 ? データセンターで障害が発生し、フェールオーバー処理 が完了するまで直接接続することはできない ? フェールオーバーはインシデント発生から1時間経過で 有効。24 時間以内に復旧しなかった場合、自動的に フェールオーバーが開始 52
53.
アクティブ地理レプリケーション ? 同じ、または異なるリージョンで最大4
つ読み取り可 能なセカンダリレプリカを作成可能 ? プライマリからセカンダリへの地理レプリケーションは 非同期 ? データセンターで障害が発生し、プライマリに影響があ る場合も、フェールオーバーは手動 53
54.
SQL Database SQL
Server 同期グループ オンプレミス SQLデータ同期プレビュー 複数のSQL Server およびSQL Database間で、選択した データを同期できるようにするサービス 54 ハブデータベース SQL Database
55.
SQLデータ同期プレビュー 55 複数のSQL
Server およびSQL Database間で、選択した データを同期できるようにするサービス SQL Database SQL Server 同期グループ オンプレミス ハブデータベース SQL Database
56.
SQLデータ同期プレビューの設定 小澤さんのSEの雑記で書かれていましたので、「SEの雑 記SQLデータ同期プレビュー」などで検索してみてくださ
い。 56
57.
関連情報 57
58.
関連するパターンとガイダンス ? Caching
ガイダンス – 次回予定 ? Multiple Datacenter Deployment ガイダンス – 第3回クラウドデザインパターン勉強会 浅見城輝さん/株式会社pnop (終了) Data Consistency 入門 ? Data Partitioning ガイダンス – 第3回クラウドデザインパターン勉強会 小澤真之さん(終了) 58
59.
今後の予定 ? 第5
回クラウドデザインパターン勉強会 – Caching ガイダンス – Instrumentation and Telemetry、Service Metering ガイダンス 59
60.
もう1回、イベント告知 60 http://r.jazug.jp/
Download