Cosmos DB ADO.NET Provider

高機能なCosmo DB Database 連携

  • 標準のVisual Sutidio ウィザードを使って、Cosmos DB にデータ連携します。
  • CRUD 操作(作成、読み出し、更新、削除)を包括的にサポートします。
  • Cosmos DB ドキュメントデータベースをフラット化した使いやすいインターフェース。

  ダウンロード   注文

 本製品はADO.NET Subscriptions に含まれます: 100+ ADO.NET Data Providers。

概要

CData ADO.NET Provider for Cosmos DB を使って、.NETアプリケーションを簡単に Azure Cosmos DB data. に接続できます。Cosmos DB Data Provider は Azure Cosmos DB data をお客様のアプリケーションでSQL テーブルのように扱います。CData ADO.NET Provider for Cosmos DB を使って、SQL Server と同じ感覚でデータに簡単にデータバインドできます。

ADO.NET Provider の概要

Cosmos DB ADO.NET Provider を使って、.NET アプリケーションから簡単にCosmos DB データに連携することができます。伝統的なデータベースへのアクセスと同じ感覚で、Cosmos DB Data Provider オブジェクトを使うだけでデータに連携することができます。Visual Studio サーバーエクスプローラーで、使い慣れたクラスでのコーディング、もしくはDataGridView、GridView、DataSet、etc. のデータコントロールを通じて、Cosmos DB Data Provider を使うことができます。

Cosmos DB Data Provider の使用方法

Cosmos DB Data Provider により、統合が容易な標準準拠のADO.NET データプロバイダーを通じて、Cosmos DB サービスに複雑な操作なしにアクセスができます。アプリケーションからCosmos DB Data Provider を通じてシンプルなTransact-SQL を使い、Cosmos DB にアクセスします。

CData ADO.NET Provider for Cosmos DB はデータ連携の問題を解決し、パワフルなセキュリティ機能、スマートキャッシング、バッチ処理、ソケットマネジメントなどを実現します。

DataAdapters、DataSets、DataTables、etc.での使用

Cosmos DB Data Provider はSQL Server やOLEDB のためのネイティブデータプロバイダーと同様に、以下を含むADO.NET アーキテクチャを有します: CosmosDBConnection、CosmosDBCommand、 CosmosDBDataAdapter、 CosmosDBDataReader、 CosmosDBDataSource、 CosmosDBParameter、etc. そのため、Cosmos DB データに簡単かつ使い慣れた方法でアクセスできます。

例:

using (CosmosDBConnection conn = new CosmosDBConnection("...")) {
	string select = "SELECT * FROM DocumentDB";
	CosmosDBCommand cmd = new CosmosDBCommand(select, conn);
	CosmosDBDataAdapter adapter = new CosmosDBDataAdapter(cmd);
	using (adapter) {
		DataTable table = new DataTable();
		adapter.Fill(table);		
		...
	}
}

Read-Only ではなく、CRUD(読み書き更新) をフルサポート

Cosmos DB Data Provider はRead-only 機能にとどまらず、作成、読み出し、更新、削除操作(CRUD)をフルサポートしています。アプリケーションのエンドユーザーはデータテーブルを利用するように、Cosmos DB Data Provider が表示するデータを簡単に連携できます。

using (CosmosDBConnection connection = new CosmosDBConnection(connectionString)) {
	CosmosDBDataAdapter dataAdapter = new CosmosDBDataAdapter(
	"SELECT Id, Where FROM DocumentDB", connection);
  
	dataAdapter.UpdateCommand = new CosmosDBCommand(
		"UPDATE DocumentDB SET Where = @Where " +
		"WHERE Id = @ID", connection);

	dataAdapter.UpdateCommand.Parameters.AddWithValue("@Where", "Where");
	dataAdapter.UpdateCommand.Parameters.AddWithValue("@Id", "80000173-1387137645");

	DataTable DocumentDBTable = new DataTable();
	dataAdapter.Fill(DocumentDBTable);

	DataRow firstrow = DocumentDBTable.Rows[0];
	firstrow["Where"] = "New Location";

	dataAdapter.Update(DocumentDBTable);
}


ドライバー 機能

  • .NET 完全準拠: .NET Framework 2.0 以上をサポートする.NET 標準100% 準拠。
  • 開発者にやさしい: Visual Studio 全バージョンへのシームレスな統合。
  • パワフルなADO.NET 機能: ADO.NET Entity Framework (EF 5 & 6)、ADO.NET 2.0、LINQ to Datasets をサポート。
  • レプリケーションとキャッシング: CData のレプリケーションやキャッシングコマンドにより、簡単にローカルおよびクラウドデータストア(Oracle、SQL Server、Google Cloud SQL、etc.)へのデータのコピーができます。レプリケーションコマンドはインテリジェントな差分更新によるデータのキャッシュを行う機能を備えています。
  • 文字列型、日付型、数値型のSQL 関数群: CData ドライバーは50以上の関数ライブラリを持ち、カラムと出力フォーマットを操作します。代表的な例では正規表現、JSON、およびXML 処理機能があります。
  • コラボラティブクエリ処理: CData ドライバーはクライアント側における追加処理を実現することにより、接続するデータソースの機能を高め、SUM、AVG、MAX、MIN などの分析集計を可能にします。
  • カスタマイズや設定が容易: ADO.NET プロバイダーのデータモデルはテーブル / カラムの追加や削除、データ型の変更などのカスタマイズが簡単に行えます。追加ビルドは不要です。カスタマイズは、human-readable スキーマを使ってランタイムで編集ができます。
  • セキュアな接続: すべてのクライアント - サーバー間接続において、TLS / SSL データ暗号化などのエンタープライズレベルのセキュリティ機能が備わっています。

ADO.NET Provider パフォーマンス

伝統的なリモートアクセスのアプローチでは、パフォーマンスがアプリケーションのボトルネックです。アプリケーションが社内利用であれ、商用であれ、ウェブやモバイルアプリケーションであれ、スローなパフォーマンスはプロジェクトの成功を妨げます。リモートソースにアクセスすること自体がパフォーマンス悪化の問題をはらんでいるのです。以下は代表的な問題です。

  1. ネットワーク接続 - モバイルアプリケーションでよくある、スローなネットワーク接続や遅延の問題。
  2. サービスの遅れ - サーバー側のハードウェアやソフトウェアの更新によるサービスの中断がもたらす遅れ。
  3. 大容量データ - 大容量データの意図的な、もしくは意図しない要求。
  4. 切断 - ネットワーク接続の切断。

CData ADO.NET Provider for Cosmos DB のパワフルなスマートキャッシング技術を使って、パフォーマンスを大幅に向上させアプリケーションのボトルネックを解消できます。

スマートキャッシング

スマートキャッシングをオプションとして設定可能です。クエリされたデータをローカルデータベースにソートできます。スマートキャッシングを有効にすると、パーシスタントなローカルキャッシュデータベースが作成され、リモートソースから取得したデータのレプリカが保持されます。小さく軽量で高速なキャッシュデータベースは、パーシスタントストレージとして複数の接続が可能です。

ADO.NET Provider を使ったキャッシュは、以下を含む多くのオプションにより柔軟な設定ができます。

  • オートキャッシュ - すべての要求に対し、自動でデータのローカルキャッシュを保持。CData プロバイダーを使うと、SELECT クエリを実行するたびに自動的にデータをキャッシュデータベースにロードします。クエリで返された各行は、必要に応じてキャッシュデータベースの対応するテーブルに挿入および更新されます。
  • エクスプリシットキャッシュ - オンデマンドでのキャッシュ。格納するデータとそれを更新するタイミングを細かく設定できます。エクスプリシットキャッシュでCACHE ステートメントを明示的に実行すると、キャッシュコンテンツをフルコントロールできます。
  • ノーキャッシュ - すべての要求はライブデータにのみアクセスし、ローカルキャッシュファイルは作成されません。

このパワフルなキャッシング機能を使うとアプリケーションのパフォーマンスを向上し、オフラインでもアプリケーションの一部機能を継続的に利用できます。ローカルストレージや、データのシリアライゼーション / デシリアライゼーションのためのコーディングは不要です。

ADO.NET Provider のキャッシングに関する情報およびベストプラクティスは、ヘルプファイルをご覧ください。


Azure Cosmos DB ADO.NET プロバイダーのスタートアップガイド

Cosmos DB ADO.NET Provider の利用を始めましょう。.NET 標準に完全準拠した.NET データプロバイダーであるCosmos DB Data Provider は、Visual Studio 開発環境およびあらゆる.NET アプリケーションにシームレスに統合されます。

 

Visual Studio 統合 - サーバーエクスプローラー

ADO.NET データプロバイダーであるCosmos DB ADO.NET Provider を使って、Azure Cosmos DB データにVisual Studio のサーバーエクスプローラーから直接アクセスできます。


方法はとても簡単です。ADO.NET の標準アダプターとしてほかの標準データベースに接続するのと同様の方法で、サーバーエクスプローラーからCosmos DB ADO.NET Provider にアクセスできます。

  • サーバーエクスプローラーで、[接続の追加]からAzure Cosmos DB データソースを選択します。

  • 設定画面で、お客様のAzure Cosmos DB アカウントデータにアクセスするための基本的な接続プロパティ設定を行います。

これですべてのデータにアクセス可能になります。Cosmos DB ADO.NET Provider を使って、Visual Studio から簡単にAzure Cosmos DB のライブデータにアクセスできます。

  • 接続の設定後、Azure Cosmos DB データソースから提供されるフィード、ビュー、サービスを参照できます。
  • この構造はAzure Cosmos DB のライブデータを返し、開発者はVisual Studio から直接利用が可能です。

Windows フォーム DataGrid 統合

SQL Server への接続と同じように、Azure Cosmos DB を使ってウェブ、デスクトップ、モバイル.NET アプリケーションに接続できます。コーディングなしでアプリケーションにCosmos DB ADO.NET Provider を統合できます。


お好みの方法でCosmos DB ADO.NET Provider にアクセスできます。Visual Studio のWindows フォームやWeb フォームデザイナーから、または直接コーディングが可能です。

  • Azure Cosmos DB のデータソースを、スマートタグの設定から直接コントロールに接続できます。

  • サーバーエクスプローラーで[接続の追加]からAzure Cosmos DB データソースを選択します。次に、コントロールに接続するフィード、ビュー、サービスを選択します。

Done! SQL Server に接続する方法と同じです。

  • コントロールをデータソースに接続後は、アプリケーションから簡単にAzure Cosmos DB データを読み書き(CRUD)できます。