Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
ここから始める! オラクルのレプリケーションご紹介
日本オラクル株式会社
Oracle Direct
Copyright© 2010, Oracle. All rights reserved.
Agenda
レプリケーションとは
Oracle Databaseのレプリケーション機能
最新のレプリケーション技術 -Oracle GoldenGate-
Appendix:各用途別レプリケーションの比較
2
Copyright© 2010, Oracle. All rights reserved.
レプリケーションとは
分散データベースのテクノロジを利用して、複数のサイト間でデータを共有する仕組みです
レプリケーションを実装することで以下のことが実現できます可用性の向上
パフォーマンスの向上
ネットワーク負荷の軽減
既存データベースと新システムとの連携
異なるバージョン間でのデータ共有
異なるプラットフォーム間でのデータ共有
3
Copyright© 2010, Oracle. All rights reserved.
レプリケーションが求められる背景
4
リモートデータベースに必要なデータがある時、
リモートデータベースに問合せてデータをとってくる必要がありますこの時、以下の問題が生じる恐れがあります
•ネットワーク負荷増加
•低いレイテンシー
•リモートデータベースに対する高い負荷 etc...
A
B
CD
E
F
Copyright© 2010, Oracle. All rights reserved.
レプリケーションが求められる背景
5
レプリケーションを実装することで、
A
B
CA
B
C
ローカルデータベースに必要なデータをコピーしておくことができ、以下を実現します
•ネットワーク負荷軽減
•パフォーマンス向上
•リモートデータベースの負荷軽減 etc
Copyright© 2010, Oracle. All rights reserved.
様々なレプリケーション方法
Oracle Databaseでは様々なレプリケーション方法があります基本レプリケーション
アドバンスト・レプリケーション
Streams レプリケーション
オラクルでは、高度なレプリケーション機能を備えた製品もそろえていますOracle GoldenGate
6
パフォーマンス向上や高可用性を実現するには適切なレプリケーション方法の選択が大切です
Copyright© 2010, Oracle. All rights reserved.
Agenda
レプリケーションとは
Oracle Databaseのレプリケーション機能
最新のレプリケーション技術 -Oracle GoldenGate-
Appendix:各用途別レプリケーションの比較
7
Copyright© 2010, Oracle. All rights reserved.
基本レプリケーション
基本レプリケーションは、データを持つサーバ(マスターサイト)の完全または部分的な複製(レプリカ)をリモートサイト(レプリカサイト)上で作る機能です
リモートサイト上のレプリカはマテリアライズドビューという表の様にふるまうオブジェクトで構成します
8
マスターサイト レプリカサイト
DBLINK
Materialized ViewオブジェクトTABLEオブジェクト
マスター表の複製
Copyright© 2010, Oracle. All rights reserved.
マテリアライズドビューとは
9
マテリアライズドビューとは?
実データを持つビュー
様々なビュー定義が可能
・マスターサイトの表と同じ構造
・マスターサイトの表のサブセット
・結合した表
データ同期にはリフレッシュを実行
Materialized Viewオブジェクト
レプリカ・サイト
Copyright© 2010, Oracle. All rights reserved.
基本レプリケーションでのリフレッシュ方法
10
リフレッシュの単位単一の表
リフレッシュ・グループ
複数のMViewを一括してリフレッシュ
複数のMviewの参照整合性およびTx整合性を保つことができる
リフレッシュパターン完全リフレッシュ
差分リフレッシュ
リフレッシュスケジュール非同期のみ
リフレッシュ・グループ
Mview A
Mview B
Mview C
Copyright© 2010, Oracle. All rights reserved.
読み取り専用マテリアライズドビューの仕組み
高速リフレッシュによるデータ同期
11
内部トリガー
更新
①
②③
Mviewログ
① 更新処理発生
② 内部トリガーによって、影響を受けた行に関する情報がマテリアライズドビューログに書き込み
③JOBまたは手動でリフレッシュを実行し、DB Link経由でマテリアライズドビューに変更情報を反映
マスターサイトMview サイト
サイトA サイトB
JOB
Copyright© 2010, Oracle. All rights reserved.
読み取り専用マテリアライズドビューの特徴
利点構築が容易
データの競合が生じない
表のサブセットのマテリアライズドビューを作成可能
欠点参照専用でしか活用できない
災害対策用として活用できない
マスターサイトでのオーバーヘッドあり
12
内部トリガー
更新
①
②③
Mviewログ
マスターサイトMview サイト
サイトA サイトB
JOB
Copyright© 2010, Oracle. All rights reserved.
更新可能マテリアライズドビューの仕組み
13
内部トリガーサイトA
サイトB
マスターサイト
Mview サイト
遅延トランザクションキュー
更新可能
Mviewログ
① JOB
① 遅延トランザクションキューの内容が伝播
② 競合解消ルールの適用
③トランザクション適用
④内部トリガーによってマテリアライズドビューログに変更情報の挿入
⑤差分チェック
⑥DB Link経由で差分を反映
⑦更新可能マテリアライズドビューログを削除② 競合解消
③
④
⑤
注意: JOBの伝播はリフレッシュタイミングと
同じではない。遅延トランザクションは同期でも
適用可能
Mviewログ
Copyright© 2010, Oracle. All rights reserved.
更新可能マテリアライズドビューの特徴
利点表のサブセットのマテリアライズドビューを作成可能
欠点データ競合が生じる恐れがある
マスターサイトおよびMviewサイト共にオーバーヘッドあり
14
内部トリガーサイトA
サイトB
マスターサイト
Mview サイト
遅延トランザクションキュー
更新可能
Mviewログ
① JOB
② 競合解消
③
④
⑤
Mviewログ
Copyright© 2010, Oracle. All rights reserved.
アドバンスト・レプリケーション
各サイトで対象表の完全なレプリカを持ちます主従関係はなく、どちらも対等の関係
アドバンスト・レプリケーションの種類同期モード
ローカルの変更が即時にリモートサイトに反映
非同期モード
ローカルの変更は任意のタイミングでリモートサイトに伝搬・反映
15
マスターサイト マスターサイト
マスター表の複製
Copyright© 2010, Oracle. All rights reserved.
アドバンスト・レプリケーションの管理単位
レプリケーション・グループレプリケーション・オブジェクト(表や索引など)を管理する単位
レプリケーションの再開・停止の設定を行う
オブジェクト単位やスキーマ単位のレプリケーション指定は負荷
16
レプリケーション・グループ レプリケーション・グループ
Copyright© 2010, Oracle. All rights reserved.17
Copyright© 2009, Oracle. All rights reserved.
アドバンスト・レプリケーションの仕組み
内部トリガー
更新
内部プロシージャ
①
②
④
⑤
① 更新処理発生
② 内部トリガーによって更新行/時間/伝播先で実行されるパッケージ名を生成
③リモート・プロシージャ・コール(RPC)を遅延トランザクションキューにキューイング
④指定した間隔でJOBを実行しリモート・プロシージャ・コール(RPC)を伝播
⑤リモート・プロシージャ・コール(RPC)を実行し、更新を反映
遅延トランザクションキュー
③
サイトA サイトB
JOB
Copyright© 2010, Oracle. All rights reserved.
アドバンスト・レプリケーションの特徴
利点表をロックせずに、DMLによる変更とデータ伝搬を行える
レスポンスタイムへの影響が尐ない
一部のノードで障害が発生した場合、障害サイトに対するキューは復旧されるまで保持される
欠点変更内容が伝搬されるまでの一定時間、データの丌一致が生じる
データの競合が生じる可能性がある
多くのHWリソースが必要
18
※上記特徴は非同期モード時のアドバンスト・レプリケーションの特徴です
Copyright© 2010, Oracle. All rights reserved.
Streamsレプリケーション
Oracle Streamsを利用したレプリケーション方法Oracle Streamsとは、オープンな情報共有のためのソリューション(9i~)
様々な情報をメッセージ・キューイングの仕組みを利用して共有
DMLやDDLの情報をREDOログから取得し、伝搬させることでレプリケーションに応用しています特定の表、スキーマ単位での転送
ユーザメッセージ(データベース変更情報以外の情報)の転送
19
メッセージ
ユーザデータベース
アプリケーション アプリケーション
Oracle Streams
Copyright© 2010, Oracle. All rights reserved.
Streamsレプリケーションアーキテクチャ
取得プロセス:キューへのメッセージ格納
伝播ジョブ :キューに格納されたメッセージの伝達
適用プロセス:キューに格納されたメッセージの適用
20
データベース・
オブジェクト(表など)
キュー
REDOログ
①DML/DDL
③取得プロセスが、キューに
更新情報を書き込む
スナップショット表
キュー
④伝播ジョブが
同期/非同期で対象の
キューに伝達
⑤Commit情報を受け取ったタイミングで適用プロセスが更
新情報を適用
②ログ記載
【ソース・データベース】 【リモート・データベース】
Copyright© 2010, Oracle. All rights reserved. 21
キュー格納のアーキテクチャ
取得プロセスによりDML/DDLをRedoログより取得
Databaseへの変更はLCR単位LCR(Logical Change Record)
= データベース変更を記述する特定のフォーマットを持ったメッセージ
行LCR、DDL LCR行LCR=1行のデータに対する変更
DDL LCR=データベース構造の変更【ソース・データベース】
アプリケーション
行LCRDDL LCR行LCRユーザー・メッセージ
::
キュー
ユーザー・メッセージ
DML,DDL(更新)
データベース・オブジェクト(表など)
Redoログ
取得プロセス
DML/DDL情報の取得
LCR
※取得プロセスを用いるRedoログ取得はEnterprise Editionが必要
Copyright© 2010, Oracle. All rights reserved. 22
Streamsの伝播
キューイングされた変更情報を他のStreamsキューに伝播
伝播はDBMS_JOBを使用して内部的に構成される
ルールを使用して伝播先を決定
伝播元、伝播先は多対多も可
Streamsキュー@dbs1
LCR
Streamsキュー@dbs2伝播
伝播
ルール
Copyright© 2010, Oracle. All rights reserved. 23
キュー適用のアーキテクチャ
適用プロセスの役割LCR観の依存関係を計算
トランザクションをアプライヤに割り当て
DMLやDDLとしてデータベース・オブジェクトに適用
LCRを適切な適用ハンドラに渡す
ルール評価するための条件
【接続先データベース】
行LCRDDL LCR行LCRユーザー・メッセージ
::
キュー
適用プロセス
適用ルール
ハンドラ
Copyright© 2010, Oracle. All rights reserved.24
Copyright© 2009, Oracle. All rights reserved.
例)Tokyo ー New York - London間でマルチ・マスター・レプリケーションを実装
取得
プロセス
適用
プロセス
取得
プロセス
適用
プロセス
取得
プロセス
適用
プロセスTokyo
New York
London
伝播
伝播
伝播
変更を取得し
エンキュー
New YorkとLondonの
情報を取得し適用
複雑なデータレプリケーション構成も可能
Copyright© 2010, Oracle. All rights reserved.
Streams レプリケーションの特徴
利点DMLだけでなくDDLの転送も可能
ユーザメッセージ(データベースの変更情報以外の情報)の転送も可能
複数の拠点間で、データの統合・分散といった柔軟な構成が可能
対象は表単位、表領域単位
欠点表のグルーピングができない
基本レプリケーションやアドバンストレプリケーションと比較した時、設定が複雑
複雑であるがゆえ、導入事例が多くない
25
Copyright© 2010, Oracle. All rights reserved.
Agenda
レプリケーションとは
Oracle Databaseのレプリケーション機能
最新のレプリケーション技術 -Oracle GoldenGate-
Appendix:各用途別レプリケーションの比較
26
Copyright© 2010, Oracle. All rights reserved.
レプリケーションに対するさらなる期待
Oracle Databaseでは基本レプリケーションやアドバンスト・レプリケーション、Streamsレプリケーションによりデータ連携を実施できます
しかし以下の様な要件がある時、十分な構成を組めない場合がありましたデータ同期時にかかるソースへの負荷を極小化したい
様々なプラットフォームに対して自由にレプリケーションを組みたい
Streamsレプリケーションの様な自由度の高い連携を簡単に行いたい
社内でレプリケーション全体を把握し、運用管理をおこなう
27
Copyright© 2010, Oracle. All rights reserved.
レプリケーションに対するさらなる期待
28
DBの移行/Upgrade
• 「移行したいけどシステムを止められない」
• 「停止時間を最小限に抑えて、機会損失を減らしたい」
DBの統合/並行稼働
DBの負荷軽減
DBの複製
• 「散在したDBを、最新のプラットフォームへ統合したい」
• 「データベースを統合しても、元の方はしばらく並行稼働させたい」
• 「新システムを構築したくても、既存DBにこれ以上負荷をかけたくない」
• 「単純に現在利用しているデータベースの負荷を軽減させたい」
• 「複製先が多くて、夜間で終わらない」
• 「毎日Export/Importだと停止時間が長すぎる」
• 「差分複製で効率化できないの?」
Copyright© 2010, Oracle. All rights reserved.
•独自のログ取得/適用機構を採用
•GoldenGate間での高速なログ転送を実現
•既存システムへの負荷が少ない
•負荷分散や統合など、システム用途に応じた多様な組み合わせが可能
様々なニーズに対するレプリケーション構成をOracle GoldenGateにより解決します
29
既存OracleDB
GoldenGate
新規OracleDB
GoldenGate
双方向同期
データ移行/複製
ログの高速転送ログの取得/適用 ログの取得/適用
新規システム既存システム
特徴
Copyright© 2010, Oracle. All rights reserved.
Oracle GoldenGate アーキテクチャ概要
30
ソースDatabase(s)
ターゲットDatabase(s)
LAN / WAN /
インターネット(TCP/IP)
Route: データは圧縮化、暗号化されて配信
Capture: トランザクション・ログを参照することで、コミットされたトランザクションを捕捉。フィルタリングも可能。
Capture
Trail files:異機種連携を可能にする共通フォーマットでキューイング
Source Trail
Delivery: トランザクションを保障しつつデータを適用。必要であればデータ変換を実施
Target Trail
Delivery
双方データ同期
Source TrailTarget Trail
Delivery Capture
Pump
Pump
Pump:データ変換、複数ターゲットへの分配。N/Wエラー時には再送
Copyright© 2010, Oracle. All rights reserved.
Oracle GoldenGateによる無停止DB移行/Upgrade- 適用領域イメージ -
DBの移行/Upgrade
• 「移行したいけどシステムを止められない」
• 「停止時間を最小限に抑えて、機会損失を減らしたい」
データ移行が長時間となりサービス停止時間中のビジネス機会損失が膨大に。
オンラインのまま、データ移行中のトランザクションを取得し、高速な差分適用をすることで、ノンストップ移行を実現
Imp/Exp、dumpコピー等 NewOld New
Old
1) 初期データロード
2) 切替時に差分適用
GoldenGate GoldenGate
従来のDB移行/Upgrade GoldenGateによるノンストップ移行
Copyright© 2010, Oracle. All rights reserved.
Oracle GoldenGateによるDB統合/並行稼働-適用領域のイメージ -
32
DBの統合/並行稼働• 「散在したDBを、最新のプラットフォームへ統合したい」
• 「データベースを統合しても、元の方はしばらく並行稼働させたい」
GoldenGate
GoldenGate
GoldenGate
GoldenGate
統合対象が多く、統合方式や並行稼働など、課題が多く検討が進まない
並行稼働のまま順次移行することで、最新のプラットフォームに統合することが可能。
DB統合/並行稼働の課題 GoldenGateで統合/並行稼働
Copyright© 2010, Oracle. All rights reserved.
Oracle GoldenGateによるDB負荷軽減- 適用領域のイメージ -
33
DBの負荷軽減• 「新システムを構築したくても、既存DBにこれ以上負荷をかけたくない」
• 「単純に現在利用しているデータベースの負荷を軽減させたい」
既存DBの負荷が高く、新しいシステムから接続させることが出来ない。
軽量なデータ同期により負荷を抑え、新システムでのデータ活用や、負荷分散を実現することが可能
従来の新システム構築時の課題 GoldenGateによる負荷軽減
GoldenGate
GoldenGate
GoldenGate
GoldenGate
Copyright© 2010, Oracle. All rights reserved.
Oracle GoldenGateによるDBの複製- 適用領域のイメージ -
34
DBの複製
• 「複製先が多くて、夜間で終わらない」
• 「毎日Export/Importだと停止時間が長すぎる」
• 「差分複製で効率化できないの?」
複製先が多く、時間もかかり、日次や週次での複製しかできない。
軽量な差分でのデータ同期により、効率的なマルチマスターレプリケーションを実現。
従来のDB複製の課題 GoldenGateによる複製
GoldenGate
GoldenGateGoldenGate
GoldenGate GoldenGate
Copyright© 2010, Oracle. All rights reserved.
運用管理ツール容易な運用管理
Director Server
Weblogic Server上のアプリケーション
セントラル・リポジトリ DB
Client用Agentを提供。リモート操作やステータスやイベント情報収集を可能に
Director Client/Director Web
Rich Client /WebBrowserBaseのGUI
Director Serverが提供するサービスの情報にアクセスし、直感的な定義や管理、レポートを実現
アラート機能を提供
デプロイから運用管理までをトータルに容易にするGUIツールを提供
直感的な定義や管理、レポートを実現
Director(Management Pack for Oracle GoldenGate )に含まれるコンポーネント
35
Copyright© 2010, Oracle. All rights reserved.
GoldenGate 運用管理ツール
カスタマイズ可能なステータス管理 ステータスやラグタイム、イベント情報など必要な情報をカスタマイズして表示
GoldenGateを集中管理
GGSCIコマンドの実行
ログの集中管理
Emailによるアラート機能
36
Management Pack for Oracle GoldenGate (Director)
Copyright© 2010, Oracle. All rights reserved. 37
事例:米国先物取引市場無停止H/W移行
ライブレポーティング
会社概要
• 米国にある商品先物取引所及び金融先物取引所
• 1898年に乳製品の取引所として開設、現在では金利、株価指数、為替、畜産物、丌動産、天候デリバティブなどを取り扱う世界最大規模の取引所。先物取引では、年間おおよそ$12Billion (2007)の実績を持つ
システム概要
• 全米各地のデータセンターに配置されている3,000を超えるサーバー
現行本番環境
GoldenGateがもたらしたもの
• 全米各地に存在するデータセンターに配置されている、3,000を超えるサーバーのメインテナンスを週末からウィークデイでの実施に変更 (毎週、20~30のサーバーのメンテナンス(HWリプレイス、アップグレード、移行)が発生)
• クリアリングハウスとして提供しているライブレポーティングとトレーディングシステムの負荷分散
• Oracle DatabaseのREDOログ生成量にして、100GB/時のデータ同期を3~5秒の同期差異で実現
• 9台のNonStop Blade ServerからOracle Databaseへのリアルタイムデータ同期
トレーディングシステム(HP Nonstop Server)新本番
環境
Oracleアップグレード、HWリプレース、データセンター移行
クリアリングハウスレポーティングシステム
(HPーUX)
無停止H/W移行
無停止Upgrade
無停止Upgrade ライブレポーティング
Copyright© 2010, Oracle. All rights reserved. 38
事例:オーバストック・コム 無停止Upgrade
問合せ分散
リアルタイムDWH
(災害対策)
会社概要
• オンラインで在庫処分品を扱う小売業者
• 本からダイアモンドまでを扱う総合アウトレット型ネットストアで、通常でも小売価格より何割も安く人気
システム概要
• 公開オンラインサイトからトランザクションデータを抜き出してDWHに投入
• 顧客の消費傾向を把握して的を絞ったマーケティング活動をするためリアルタイムなデータが必要
• 1400~1800万アクセス/月
• 24時間365日稼働でダウンタイムは許されない
Oracle 10g
Linux
読取り専用レポーティング
ショッピング
Oracle 9i Oracle 10g
Linux AIX
オークション
Oracle Data
Integrator
DWH
Oracle 9i Oracle 10g
Linux Linux
GoldenGateがもたらしたもの
• 異機種間DBでリアルタイムなデータ転送を実現
• Oracleデータベースの無停止バージョンアップ
• 本番環境に負荷を不えず24時間レポート出力可能
• 最新のデータを格納したDWHで、顧客の最新の動向を把握し、動向分析・購入履歴の分析が可能。
• より複雑なデータ変換のためにOracle Data Integratorを介してDWHへデータを投入
災耐サイト
Copyright© 2010, Oracle. All rights reserved.
[参考]:豊富な導入実績
39
銀行/金融サービス ヘルスケア
通信/放送
製造/ハイテク
政府/公共機関運送/旅行
小売/ネット販売事業
- Top 3 of 5 largest commercial banks
- Top 3 of 3 busiest ATM networks
- Top 7 of 10 financial data services companies
- Top 4 of 5 telecommunications providers
- Top 3 of 5 largest food & drug stores
フォーチューン500企業 をはじめとした 4000超の豊富な導入実績
Copyright© 2010, Oracle. All rights reserved.
まとめ
40
Oracle Databaseでは様々なレプリケーション方法があります基本レプリケーション
アドバンスト・レプリケーション
Streams レプリケーション
オラクルでは、Oracle Databaseの機能以外にもレプリケーション方法をそろえておりますOracle GoldenGate
Copyright© 2010, Oracle. All rights reserved. 43