各製品の資料を入手。
詳細はこちら →こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
Cosmos DB データをDB にバックアップしておくニーズがあります。
本記事では、Cosmos DB データをDB に入るようにスキーマ化を行うCData ODBC Driver for CosmosDB のキャッシュ機能を使って、SQL Server にCosmos DB の任意のアプリを同期する方法を説明します。
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
CData ODBC ドライバでは、1.データソースとしてCosmos DB の接続を設定、2.SQL Server 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
まずは、本記事右側のサイドバーからCosmosDB ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
ODBC 接続プロパティの指定がまだの場合は、DSN (データソース名)で接続設定を行います。Microsoft ODBC データソースアドミニストレーターを使ってODBC DSN を作成および設定できます。 ODBC ドライバーのインストール完了時にODBC DSN 設定画面が立ち上がります。Microsoft ODBC データソースアドミニストレーターを開いて設定を行うことも可能です。 必要なプロパティを設定する方法は、ヘルプドキュメントの「はじめに」をご参照ください。
同じODBC DSN 画面で、Cache Connection とCache Provider のプロパティを設定します。Cache Provider は、キャッシュ先のDB の種類を指定します。Cache Connection は、Cache 先のDB のサーバー名、データベース名、ユーザー、パスワードを入力します。
PowerShell から以下のスクリプトで明示的にCache クエリを実行します。
[void][System.Reflection.Assembly]::LoadWithPartialName("System.Data")
$connectionsString = "DSN=CData CosmosDB Source"
$odbcCon = New-Object System.Data.Odbc.OdbcConnection($connectionsString)
$odbcCon.Open()
$odbcCmd = New-Object System.Data.Odbc.OdbcCommand
$odbcCmd.Connection = $odbcCon
## CACHE SELECT Accountテーブルは毎回全件取得。
$odbcCmd.CommandText = "CACHE SELECT * FROM TableName"
## 以下のようにCEHCKCACHEコマンドであれば、差分の削除も実施する
## $odbcCmd.CommandText = "CHECKCACHE * FROM TableName WITH REPAIR START '11/15/2022' END '2/2/2022'"
$odbcCmd.ExecuteNonQuery() | Out-Null
$odbcCmd.Dispose()
$odbcCon.Close()
$odbcCon.Dispose()
実際にSQL Server でデータが生成されていることが確認できます。あとは、SQL Server のデータをバックアップとして使うなり、BI やレポーティングに利用することが可能です。
このように、CData ODBC ドライバを使うことで、Cosmos DB データを簡単にSQL Server のようなDB にレプリケーションすることができます。是非、CData ODBC ドライバの30日の無償評価版 をお試しください。
このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。
スクリプトもSQL も書かずにCosmos DB データを複製したい場合には、CData Sync がおすすめです。是非、こちらもご覧ください。