こんにちは、松枝です。
DA04のセッションではオンプレのDBをまるごとAzureに移行する方法についての解説でしたが、こちらはオンプレとAzure間でデータを連携する場合の解説です。
On-Premise to Azure PaaS データ連携(DA02)
データ連携方式ご紹介
データ同期(SQL Data Sync)
| ソースDB | ターゲットDB | 反映される処理 | ソースTABLE要件 | 難易度 | 
| SQL Server(オンプレ) | SQL Database, SQL Server on VM | 追加/更新/削除 | 主キーが必要 | 中 | 
- ハブのDBを介してオンプレのDBの差分をAzureに適用していく
- Azureポータルから設定できる
- SQL Server → Azure SQL Databaseの場合は利用を推奨☆
- 連携の頻度が最小で5分なので注意
Replication
| ソースDB | ターゲットDB | 反映される処理 | ソースTABLE要件 | 難易度 | 
| SQL Server(オンプレ) | SQL Database, SQL Server on VM | 追加/更新/削除 (リアルタイム) | 主キーが必要 | 難 | 
- 難易度高い
- Attunity Replicateを使うと難易度が下がる
- 他の種類のデータベースレプリケーションは非推奨- 例えばOracleへのレプリケーションは非サポート
 
SSIS (SQL
Server Integration Services)
| ソースDB | ターゲットDB | 反映される処理 | ソースTABLE要件 | 難易度 | 
| SQL Server(オンプレ/IaaS) | SQL Database, SQL Data Warehouse,
  SQL Server on VM | 追加/更新/削除 | 主キーが必要 | 難 | 
- オンプレ – Azure問わずETL(抽出・変換・ロード)の処理が書ける
- SQL Serverの標準機能なので、ETLツールのコストが少ない
- SourceにOracleが指定できる
CDC Service for Oracle by Attunity
- CDC = Change Data Capture
- OracleのREDOログから指定したテーブルの変更をキャプチャ
- SourceはOracle 12cまで、マルチテナントは非対応
- ターゲットはSQL Server 2017 on IaaS
Azure
Data Factory ☆新しい!
| ソースDB | ターゲットDB | 反映される処理 | ソースTABLE要件 | 難易度 | 
| Lookup Activityが対応しているDB(SQL Server, Oracle, Posgres, MySQL, DB2, etc.) | ストアドプロシージャActivityが対応しているDB(SQL Database, SQL Data Warehouse, SQL Server on VM) | 追加/更新 | 日付列が必要 | 中 | 
- Azureのデータ連携PaaS- オンプレ & Azureのデータ連携☆【差分更新に重要】
 - ETL処理(他のPaaSに処理をさせて結果を持ってくる)
 - フロー制御(if, wait, …)☆【差分更新に重要】
 
- サポートするデータストアは70以上
- フロー制御の機能が存在- Data
Flows(Private Preview)- 処理自体はSpark(Databricks)の並列分散処理基盤で実行される
 
 

感想
- オンプレとAzureでDBを連携するにはExpressRouteやS2S VPNで繋ぐだけでは駄目なことはもちろん理解していましたが、これほど選択肢があることは理解していませんでした。
- 他社DBとの連携も充実しており、システムのクラウド移行が様々な形で加速していく可能性を感じました。