Elasticsearch ADO.NET Provider
カスタム .NET アプリケーションおよび SSAS 向けに、ADO.NET を通じて Elasticsearch に SQL ベースでアクセスできます。
無料トライアルをダウンロード 今すぐ購入Elasticsearch ADO.NET Data Provider を使用すると、.NET アプリケーションから Elasticsearch data に簡単に接続できます。 Elasticsearch 連携のパワフルな.NET アプリケーションを素早く作成して配布。
Elasticsearch .NET Connectivity Features
- サーバーアドオン不要で Elasticsearch データへ SQL-92 アクセス
- すべての Elasticsearch サブスクリプション (Basic から Platinum まで) に接続
- Elasticsearch v.2.2 以降に完全対応
- 書き込みアクセス、検索タイプロジック、配列、ネストされたオブジェクト、JOIN など高度な機能をサポート
- Elasticsearch NoSQL データで SQL-92 機能を有効化。
- 柔軟な NoSQL フラット化 - 自動スキーマ生成、柔軟なクエリなど。
- Elasticsearch Python Connectors でライブの Elasticsearch データに接続し、リアルタイムにデータアクセス
- SQL クエリでのデータ集計と複雑な JOIN を完全サポート
- TLS 1.2、SHA-256、ECC などの最新暗号化技術による安全な接続。
- Elasticsearch Connector を介して、主要な BI、レポーティング、ETL ツールやカスタムアプリケーションとシームレスに統合。
Target Service, API
当ドライバは REST API 経由で Elasticsearch クラスタに接続します。Amazon OpenSearch を含む Elasticsearch 5.x、6.x、7.x、8.x バージョンをサポートします。
Schema, Data Model
マッピングからの自動スキーマ推論により、Elasticsearch インデックスをテーブルとしてモデル化します。フラット化オプション付きのネストされたオブジェクトと配列をサポートします。
Key Objects
Indexes (テーブルとして)、Documents (行として)、Fields (列として)、Aliases。ネストされたタイプや geo タイプを含むすべての Elasticsearch データ型へのアクセス。
Operations
Elasticsearch Query DSL に変換された SQL クエリ。フィルタリング、集計、ソート、全文検索をサポートします。バージョンによっては一部の書き込み機能を備えた読み取り操作。
Authentication
Username/Password による Basic 認証、API キー、Amazon OpenSearch 向けの AWS 認証、SSL/TLS サポート。HTTP/HTTPS エンドポイント経由で接続します。
Elasticsearch ADO.NET Provider でできること
SQL Server Analysis Service (SSAS) の多次元キューブから Elasticsearch を使用できます。分析データモデリングを維持しながら、クラウドおよびオンプレミスを含むあらゆるソースにアクセスできます。
Elasticsearch ADO.NET Provider により、開発者は使い慣れた SQL と Entity Framework を使用して Elasticsearch に接続するアプリケーションを構築できます。ミッションクリティカルなアプリケーションに Elasticsearch を統合したり、簡単なサイドバイサイドアプリケーションを作成したりできます。
.NET ベースのレポーティングおよび分析ツールから Elasticsearch に接続できます:
Elasticsearch への標準 ADO.NET アクセス
Elasticsearch ADO.NET Provider は、任意の .NET アプリケーションから Elasticsearch データにアクセスする 最も自然な方法を提供します。従来のデータベースにアクセスするのと同じように、Elasticsearch Data Provider オブジェクトを使用して 接続とデータアクセスを行います。Visual Studio サーバーエクスプローラー、使い慣れたクラスを通じたコード、 DataGridView、GridView、DataSet などのデータコントロールで Elasticsearch Data Provider を使用できます。
CData ADO.NET Provider for Elasticsearch は、データアクセスの複雑さを隠蔽し、強力なセキュリティ機能、 スマートキャッシュ、バッチ処理、ソケット管理などを提供します。
DataAdapter、DataSet、DataTable などの使用
Elasticsearch Data Provider は、SQL Server や OLEDB 用のネイティブ .NET データプロバイダーと同じ ADO.NET アーキテクチャを持ち、 ElasticsearchConnection、ElasticsearchCommand、ElasticsearchDataAdapter、ElasticsearchDataReader、 ElasticsearchDataSource、ElasticsearchParameter などを含みます。 これにより、使い慣れた簡単な方法で Elasticsearch データにアクセスできるようになりました。
例:
using (ElasticsearchConnection conn = new ElasticsearchConnection("...")) {
string select = "SELECT * FROM DocumentDB";
ElasticsearchCommand cmd = new ElasticsearchCommand(select, conn);
ElasticsearchDataAdapter adapter = new ElasticsearchDataAdapter(cmd);
using (adapter) {
DataTable table = new DataTable();
adapter.Fill(table);
...
}
}
読み取り専用ではない:完全な更新/CRUD サポート
Elasticsearch Data Provider は読み取り専用機能を超えて、作成、読み取り、更新、削除(CRUD)操作を 完全にサポートします。エンドユーザーは、データベーステーブルを操作するのと同じくらい簡単に、 Elasticsearch Data Provider が提供するデータを操作できます。
using (ElasticsearchConnection connection = new ElasticsearchConnection(connectionString)) {
ElasticsearchDataAdapter dataAdapter = new ElasticsearchDataAdapter(
"SELECT Id, Where FROM DocumentDB", connection);
dataAdapter.UpdateCommand = new ElasticsearchCommand(
"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);
}
ADO.NET Provider パフォーマンス
従来のリモートアクセス方式では、パフォーマンスのボトルネックがアプリケーションに致命的な影響を与える可能性があります。 社内利用、商用プロジェクト、Web アプリケーション、モバイルアプリケーションなど、用途に関係なく、 パフォーマンスの低下はプロジェクトの失敗につながりかねません。リモートソースからのデータアクセスには、 これらの問題を引き起こす可能性があります。一般的な問題には以下が含まれます:
- ネットワーク接続 - 遅いネットワーク接続とレイテンシの問題は、モバイルアプリケーションでよく見られます。
- サービス遅延 - サーバーのハードウェアまたはソフトウェアの更新によるサービス中断が原因で発生する遅延。
- 大量データ - 意図的または意図しない大量データのリクエスト。
- 切断 - ネットワーク接続の完全な喪失。
CData ADO.NET Provider for Elasticsearch は、パフォーマンスを大幅に向上させ、アプリケーションのボトルネックを劇的に削減できる 強力なスマートキャッシュ技術をサポートすることで、これらの問題を解決します。
スマートキャッシュ
スマートキャッシュは、クエリされたデータをローカルデータベースに保存することで機能する設定可能なオプションです。 スマートキャッシュを有効にすると、リモートソースから取得したデータのレプリカを含む永続的なローカルキャッシュデータベースが作成されます。 キャッシュデータベースは小さく、軽量で、非常に高速であり、永続ストレージとして複数の接続で共有できます。
CData の ADO.NET Provider でのキャッシュは高度に設定可能で、以下のオプションがあります:
- 自動キャッシュ - すべてのリクエストでデータの自動ローカルキャッシュを維持します。プロバイダーは SELECT クエリを実行するたびに自動的にキャッシュデータベースにデータをロードします。クエリによって返された各行は、 キャッシュデータベース内の対応するテーブルに必要に応じて挿入または更新されます。
- 明示的キャッシュ - オンデマンドでのみキャッシュします。開発者は、キャッシュに保存するデータと 更新のタイミングを正確に決定します。明示的キャッシュは、CACHE ステートメントの明示的な実行を使用して、 キャッシュ内容を完全に制御できます。
- キャッシュなし - すべてのリクエストはライブデータのみにアクセスし、ローカルキャッシュファイルは作成されません。
この強力なキャッシュ機能により、アプリケーションのパフォーマンスが向上し、追加のローカルストレージや データのシリアル化/デシリアル化のコードを書くことなく、切断後も限定的な機能を継続できます。
ADO.NET Provider のキャッシュとキャッシュのベストプラクティスの詳細については、 付属のヘルプファイルをご覧ください。
Visual Studio 統合 & サーバーエクスプローラー
新しい Elasticsearch ADO.NET Provider の操作は簡単です。フルマネージド .NET Data Provider として、Elasticsearch Data Provider は Visual Studio 開発環境および任意の .NET アプリケーションとシームレスに統合します。
ADO.NET Data Provider として、Elasticsearch ADO.NET Provider を使用して Visual Studio サーバーエクスプローラーから 直接 Elasticsearch データにアクセスし、探索できます。
簡単です。標準の ADO.NET アダプターとして、開発者は標準のデータベースに接続するのと同じように サーバーエクスプローラーを Elasticsearch ADO.NET Provider に接続できます。
利用可能なすべてのデータを探索!Elasticsearch ADO.NET Provider により、Visual Studio からライブの Elasticsearch データに簡単にアクセスできます。
開発者統合:Elasticsearch へのデータバインド
Web、デスクトップ、モバイル .NET アプリケーションと Elasticsearch の接続は、SQL Server を操作するのと同じです。 コードを書かずに Elasticsearch ADO.NET Provider をアプリケーションに統合することも可能です。
開発者は、好みの方法で Elasticsearch ADO.NET Provider にアクセスできます。Visual Studio の Winforms または Webforms デザイナーを通じて視覚的に、またはコードから直接アクセスできます。
- オブジェクトのスマートタグを設定することで、Elasticsearch データソースをフォームコンポーネントに直接接続できます。
- サーバーエクスプローラーから新しいデータ接続を追加し、Elasticsearch データソースを選択します。次に、
オブジェクトに接続するフィード、ビュー、またはサービスを選択します。
完了!SQL Server に接続するのと同じです。