C12 AlwaysOn 可用性グループとデータベースミラーリングのIO特製の比較 by 多田典史
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,804
On Slideshare
1,804
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
58
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. AlwaysOn可用性グループと データベースミラーリングの IO特性の比較Microsoft CorporationSQL Server Customer Advisory TeamPrincipal Program ManagerYorihito TadaYorihito.Tada@microsoft.com 1
  • 2. SQLCAT (Customer Advisory Team)SQL Server Customer Advisory Team (SQL CAT) は SQL Server の製品開発グループを代表して顧客プロジェクトを支援するチームです。SQLCAT はワールドワイドで大規模で お客様プロジェクトの成功複雑なプロジェクトに参加しています。  Bwin–ヨーロッパで最もポピュラーなアミューズメントサイト、 30,000 万トランザクション/秒、100 TB トータル ストレージ  Temenos–銀行勘定系パッケージ ベンダー; 1 TB DB, 100 k batch requests/sec プロダクトの改善  顧客プロジェクトへの深いかかわりから、プロダクトへのフィード バックを SQL Server 開発チームに伝えます コミュニティへの貢献  http://sqlcat.com  SEAS (SQL Server Enterprise Architecture Summit) の開催、 PASS Summit などへの貢献 2
  • 3. アジェンダ SQL Server 2012 AlwaysOn AlwaysOn可用性グループとデータベースミラー リング それぞれのIO特性 Appendix 3
  • 4. SQL Server 2012 AlwaysOn AlwaysOn  統合された管理環境  迅速なリカバリ  ハードウエア利用効率の向上 Availability Groups (可用性グループ)  データベース単位  共有ディスク無し  複数DBのフェールオーバー  複数のセカンダリーサーバ Failover Cluster Instances  インスタンス単位  共有ディスク  複数サイト(サブネット)でのクラスタリング ※Windows Server Failover Cluster上に実装 4
  • 5. Availability Group で実現するシナリオデータセンター内での高可用性 同期レプリカ  ゼロ データ ロス 自動フェールオーバー  高速かつ柔軟なフェールオーバー リーダブルセカンダリ  ハードウエアリソースの有効活用同期非同期 5
  • 6. Availability Group で実現するシナリオディザスタリカバリ 複数のレプリカ  同期レプリカは 2 つまで可能 非同期レプリカ  ネットワークの影響を最小化 マルチ サブネット  柔軟なネットワーク設計同期非同期 6
  • 7. Availability Group 同期レプリカ アプリケーション 1. コミット 6. コミット 要求 成功 3. ログ送信 SQL Server SQL Server 5. ログ書込確認 2. ログ書込 2<. データ書込 4. ログ書込 4<. データ書込 Log Data Log Data プライマリ Windows Server Failover Clustering セカンダリ 7
  • 8. AlwaysOn可用性グループとデータベースミラーリング 可用性グループ ミラーリング対象データベース 複数DB 単一DBセカンダリ 複数 (最大4) 単一リーダブルセカンダリ 可能 不可能自動フェイルオーバー 可能 可能 (Witness必要)接続 リスナー クライアントコンポーネ ントクラスター WSFC 独自 8
  • 9. テストシステム構成 Windows Server Failover Cluster (Node and File Share Majority) DL380 G7 64GB DL380 G7 64GB Windows Server Windows Server 2008 R2 SP1 2008 R2 SP1 H: Data File H: Data File Fusion-io 640GB Fusion-io 640GB MLC MLC E: TLOG E: TLOG RAID10 (8) RAID10 (8) プライマリ AG セカンダリ プリンシパル ミラー 9
  • 10. データベースとワークロード データベース  サイズ:80GB 中 30GB使用中  データファイル:12個  Fusion-io 640GB MLC  トランザクションログファイル:1個  RAID10 (8) ワークロード  OLTP型  ショートトランザクション  更新と参照の混合  同時接続1000クライアント 10
  • 11. セカンダリでのページフラッシュの最適化 可用性グループ ミラーリングページフラッシュ チェックポイント 連続(*)セカンダリのモード オンライン リストア中(**)*TF 3499で書込をチェックポイントのみに抑制できるが、トレードオフとしてフェイルオーバー時間増大の可能性がある**フェイルオーバー時にはリストア中からオンラインへの切り替えが必要で、その際にはダーティーページが無いことが求められる 11
  • 12. パフォーマンスカウンタ 1000(MB/s) Disk Write Bytes/sec on secondary Disk Write Bytes/sec on primary Availability Groups Database Mirroring 500 0 0 1 2 3 4 5 6 7 8 9 (min) 12
  • 13. IOの特徴 AG  チェックポイントでの書きこみが定期的に発生  プライマリでもセカンダリでも同じ  500MB/sが短時間  平均63MB/s DBM  プライマリ  チェックポイントでの書きこみが定期的に発生  セカンダリ  定常的に書きこみが発生  平均200MB/sAlwaysOn可用性グループの方がセカンダリの負荷が低い  アクティブセカンダリとしてのキャパシティが高い 13
  • 14. ログプールの追加によるパフォーマンス向上 可用性グループ ミラーリングログプール*の利用 あり なしログキャッシュ** あり(固定) あり(固定)*ログプールはトランザクションログを読む必要のあるタスクのための、可変容量のキャッシュメカニズム**ログキャッシュは以前からある固定サイズのキャッシュメカニズム 14
  • 15. 可用性グループのログキャッシュ Primary Secondary SQL Server SQL Server Log Capture Log Capture Log Receive REDOTransaction ThreadLog Records Log Pool REDOLog Cache Log Cache Pages DB1 Log DB1 Data DB1 Log DB1 Data 15
  • 16. パフォーマンスカウンタ100 Batch Requests/sec on primary Log write waits on primary Disk Read Bytes/sec on primary Availability Groups Database Mirroring50 0 0 1 2 3 4 5 6 7 8 9 (min) 16
  • 17. パフォーマンス比較 AG  Batch Requests/sec on primary 約5,000 batch/sec  Log write waits on primary ほぼなし  Disk Read Bytes/sec on primary 0-30MB/sec DBM  Batch Requests/sec on primary 約4,000 batch/sec  Log write waits on primary 定常的に発生  Disk Read Bytes/sec on primary 50-100MB/secAlwaysOn可用性グループの方が高パフォーマンス  トランザクションログファイルへのRead IO負荷が低い 17
  • 18. & 18