...

異種DB間対応 リアルタイムレプリケーション DBMoto (デービーモト

by user

on
Category: Documents
83

views

Report

Comments

Transcript

異種DB間対応 リアルタイムレプリケーション DBMoto (デービーモト
AS/400のデータをもっと活用する!
簡単に出来るDB間連携手法
株式会社クライム ソフトウェア事業部
http://www.climb.co.jp/
1
Copyright(C)2016 Climb Inc. All Rights Reserved.
1
DBMotoとは・・
DBMoto(異種DB間のレプリケーションツール)
Windowsマシンでの一元管理
エージェントレスによる低負荷
システム要件
CPU:2GHz以上、2Core以上推奨
複製元
複製先
メモリ:4GB以上
HDD:5GB以上
OS: Windows Server
2012R2/2012/2008R2/2008
Windows 10/8.1/8/7/Vista
Windows
2
Copyright(C)2016 Climb Inc. All Rights Reserved.
DBMotoの特徴
対応力
柔軟性
・多くのDB・DWHをサポート
・ほぼリアルタイム
・DBはOS依存なし
・テーブル作成、スケジュール、関数、スクリプト
・物理、仮想、クラウド(AWS等) ・小規模から大規模環境まで
使い易さ
開発元:HiT Software, Inc.
・Windowsによる一元管理
 1994年からDBアクセスツールの開発・販売
・エージェントレス
 本社:サンノゼ, カリフォルニア
・ツールは日本語表示
 DB2 expert ITリソース・パートナー
 全世界に販売網(日本は株式会社クライムが担当)
・導入簡単(1分以内)
http://www.hitsw.com/
・設定簡単(コンサル不要)
3
Copyright(C)2016 Climb Inc. All Rights Reserved.
3
活用例: 移行中にDBを止める必要なし
通常のDB移行
DB構築
Import
Export
レプリケーションによるDB移行
DB構築
切り替え
運用開始
システム停止期間
レプリケー
ション
切り替え
運用開始
全件+差分
4
Copyright(C)2016 Climb Inc. All Rights Reserved.
活用例: 災害対策
通常運用時
東京
登録
更新
削除
障害発生時
クラウド
東京
レプリケーション
クラウド
登録
更新
削除
切り替えのみ
5
Copyright(C)2016 Climb Inc. All Rights Reserved.
5
活用例: データ連携
BIツールで使用
社内システムで使用
レプリケーション
クラウドで使用
6
Copyright(C)2016 Climb Inc. All Rights Reserved.
6
3つのレプリケーションモード
リフレッシュ
(全件)
シンクロナイゼーション
(双方向差分)
ミラーリング
(片方向差分)
ソース
複製元
ターゲット
複製先
7
変更
変更
レプリケーション
レプリケーション
レプリケーション
変更
Copyright(C)2016 Climb Inc. All Rights Reserved.
レプリケーションモード: リフレッシュ
選択したテーブルの全レコードを転送
初期レプリケーション
スケジュールによる定期実行も可能
バルクインサートによる高速転送
100万件レコード処理時間(秒)
1400
1282
1200
1000
800
600
400
200
26
0
シングルインサート
8
バルクインサート
Copyright(C)2016 Climb Inc. All Rights Reserved.
8
リフレッシュ: 処理の流れ
参照先はテーブル
バルクインサートで高速転送
9
Copyright(C)2016 Climb Inc. All Rights Reserved.
9
レプリケーションモード: ミラーリング
片方向の差分レプリケーション
DBのトランザクションログを直接参照
差分のためデータ量小、負荷小
DBにトリガーを設定することも可能
参照サイクルは既定で60秒
10
参照するトランザクションログ
DB2 AS/400 ジャーナル・レシーバー
DB2 LUW
ログ(プロシージャ経由)
Oracle
REDOログ・アーカイブログ
SQL Server
ログ(ディストリビュータ経由)
MySQL
バイナリログ
トリガー対応DB
・DB2 z/OS, DB2 LUW
・Oracle
・SQL Server
・MySQL
・Informix
Copyright(C)2016 Climb Inc. All Rights Reserved.
10
ミラーリングの参照サイクル
11
Copyright(C)2016 Climb Inc. All Rights Reserved.
11
ミラーリング: 整合性維持の仕組み
ソースDB: トランザクションログ
TID=1:
TID=2:
TID=3:
TID=4:
TID=5:
Insert ~
Update~
Delete~
Update~
Update~
ターゲットDB: 処理の流れ
抽出
処理
Insert ~ (TID=1); Commit;
DBMotoにTID=1を保存
Update~ (TID=2); Commit;
DBMotoにTID=2を保存
Delete~ (TID=3); Commit;
DBMotoにTID=3を保存
Update~ (TID=4); Commit;
DBMotoにTID=4を保存
Update~ (TID=5); Commit;
DBMotoにTID=5を保存
 「クエリ発行⇒コミット⇒DBMotoにTID保存」を繰り返す
 次の処理時はトランザクションログからTID=6以降を参照する
12
Copyright(C)2016 Climb Inc. All Rights Reserved.
ミラーリング: 処理の流れ(トランザクションログ)
参照先はトランザクションログ
13
Copyright(C)2016 Climb Inc. All Rights Reserved.
13
レプリケーションモード: シンクロナイゼーション
双方向の差分レプリケーション
コンフリクト回避オプション
ソースを優先
ミラーリングと手法は同等
ターゲットを優先
双方のDBで更新が必要なアプリに
更新の早い方を優先
切り戻しも兼ねた災害対策に
更新の遅い方を優先
ユーザスクリプト
コンフリクト回避
3台以上のマルチシンクロナイゼーション
14
マルチシンクロナイゼーション
Copyright(C)2016 Climb Inc. All Rights Reserved.
14
サポートするデータベース
リフレッシュ(全件)
ミラーリング、シンクロナイゼーション(差分)
リフレッシュ(全件)
ミラーリング(差分)のターゲット[複製先]
IBM DB2 for i(AS/400)
IBM DB2 for z/OS
IBM DB2 for AIX, Linux, Windows
Oracle
MS SQL Server
MS Azure SQL Database
MySQL/Amazon Aurora/MariaDB
Gupta SQLBase
IBM Informix
SAP Sybase ASE
SAP Sybase SQL Anywhere
IBM PureData(Netezza)
PostgreSQL/Amazon Redshift
SAP HANA
リフレッシュ
SAP Sybase IQ
Actian Vectorwise
HP Vertica
MS Access
Firebird
ミラーリング
Ingres
IBM SolidDB
IBM dashDB
Teradata
Hadoop(※リフレッシュのターゲットのみ)
15
Copyright(C)2016 Climb Inc. All Rights Reserved.
異種DB間対応、異種文字コード間対応
異種DB間対応:レプリケーションはすべてSQLクエリで処理
異種文字コード間対応:文字コードはDBMotoにてUnicodeで処理
NEC選定文字や外字等どのような文字に対しても対応
DB2(AS/400)
SQL Server
SQLでデータ抽出
文字コード:
EBCDIC
Unicodeへ変換
SQLクエリ発行
SQLクエリ生成 Unicodeから変換
Unicode処理
16
文字コード:
Shift JIS
Copyright(C)2016 Climb Inc. All Rights Reserved.
DBMotoの柔軟性
1.
2.
3.
4.
5.
6.
7.
ターゲットDBにテーブルがない場合は?
PKがないとレプリケーションできない?
ジョブの作成単位は?
レプリケーションしてほしくない時間帯がある
テーブル構成・カラム数が異なる
レプリケーション時にデータ変換可能?
条件付でレプリケーションしたい
1.
2.
3.
4.
5.
6.
7.
DBMotoからテーブル作成
DBMotoの仮想PK機能
テーブル単位、一括作成機能あり
スケジュールでの除外設定
カラム単位でマッピング可能なため問題なし
関数を使用(VB, C#, ユーザ関数も可)
スクリプト記述で可能(VB, C#)
で簡単解決!
17
Copyright(C)2016 Climb Inc. All Rights Reserved.
17
ターゲットへテーブル作成
ソースのテーブル構成を元にDBMotoが自動でクエリを作成
データタイプは自動で適切なものが選定される
サイズ、PK、NOT NULLをそのまま引継ぐ
構成を手動変更することも可能
テーブル構成抽出
CREATE発行
CREATEクエリ自動生成
18
Copyright(C)2016 Climb Inc. All Rights Reserved.
PKなしでも仮想PKでミラーリング可能
テーブルにPKあり
ソース
ターゲット
C1
C1
C2
C2
C3
C3
更新クエリ: update TABLE ~ where C1=xx
where句にPKが指定される
仮想PK
テーブルにPKなし
ソース
ターゲット
C1
C1
C2
C2
C3
C3
更新クエリ: update TABLE ~ where C1=xx
PKがないとwhere句が指定されない
⇒仮想PKによってwhere句が指定される
19
Copyright(C)2016 Climb Inc. All Rights Reserved.
必要なテーブルやカラムのみ連携
テーブル単位でジョブ作成
ジョブ一括作成も可能
カラム単位でマッピング
20
カラム1
カラム2
カラム3
カラム4
カラム5
カラム1
カラム2
カラム3
カラム4
カラム5
カラム1
カラム2
カラム3
カラム4
カラム5
カラム1
カラム2
カラム3
Copyright(C)2016 Climb Inc. All Rights Reserved.
データのカスタマイズ、複雑な連携
関数を使用可能: VB, C# 及びユーザ関数
1234
1234
(株)クライム
(株)クライム
Climb
12
Trim()
Climb
ユーザ関数
00012
Now()
2015/2/27
21
スクリプト: VB, C#
・条件付きレプリケーション
例:値が~を満たすとき
例:更新のみ反映、登録は無視
・テーブルの結合
・ユーザ関数の定義
API: VB, C#, C++
・バッチ処理、パラメータ取得
Copyright(C)2016 Climb Inc. All Rights Reserved.
DBMoto導入事例:
ローソンHMVエンタテイメント様
AS/400のデータをWindowsへ連携しDWHで活用
DBMoto導入前:
 ODBCによる手動での取り込み
 パフォーマンスが悪い
 リアルタイムの連携が困難
データ連携
AS/400複数台を基幹システムで
DWH構築をSQL Serverで
22
DBMoto導入後:
 データ統合による運用性の向上
 リアルタイムなデータ連携
 パフォーマンス向上
Copyright(C)2016 Climb Inc. All Rights Reserved.
22
導入事例: クニミネ工業様
AS/400と連携できないWindowsツールの問題を解決
DBMoto導入前:
 AS/400とBIツールは直接連携不可
 データ抽出は手動
データ連携
AS/400
DBMoto導入後:
 AS/400⇒SQL Server⇒BIツール
 データ抽出はSQL Serverとの自動連携
SQL Server
Windows BIツール
「Dr.Sum」
23
Copyright(C)2016 Climb Inc. All Rights Reserved.
23
導入事例: 西尾レントオール様
AS/400とAmazon Auroraを双方連携
AS/400
Amazon EC2
24
Amazon Aurora
Copyright(C)2016 Climb Inc. All Rights Reserved.
活用例: 西尾レントオール様
25
Copyright(C)2016 Climb Inc. All Rights Reserved.
DBMoto更新情報
DBMoto製品ブログ:
https://www.climb.co.jp/blog_dbmoto/
DBMoto製品ページ:
https://www.climb.co.jp/soft/dbmoto/
電話番号:
03-3660-9336(東京)
お問合せフォーム:
https://www.climb.co.jp/soft/dbmoto/contact/
26
Copyright(C)2016 Climb Inc. All Rights Reserved.
Fly UP