Elasticsearch ADO.NET Provider
カスタム .NET アプリケーションおよび SSAS 向けに、ADO.NET を通じて Elasticsearch に SQL ベースでアクセスできます。
Elasticsearch ADO.NET Data Provider を使用すると、.NET アプリケーションから Elasticsearch のデータ に簡単に接続できます。 Elasticsearch 連携のパワフルな.NET アプリケーションを素早く作成して配布。
Elasticsearch .NET Connectivity Features
- サーバーアドオン不要で Elasticsearch データへ SQL-92 アクセス
- すべての Elasticsearch サブスクリプション (Basic から Platinum まで) に接続
- Elasticsearch v.2.2 以降に完全対応
- 書き込みアクセス、検索タイプロジック、配列、ネストされたオブジェクト、JOIN など高度な機能をサポート
- Elasticsearch NoSQL データで SQL-92 機能を有効化。
- 柔軟な NoSQL フラット化 - 自動スキーマ生成、柔軟なクエリなど。
- Elasticsearch JDBC Driver でライブの Elasticsearch データに接続し、リアルタイムにデータアクセス
- SQL クエリでのデータ集計と複雑な JOIN を完全サポート
- Elasticsearch Connector を介して、主要な BI、レポーティング、ETL ツールやカスタムアプリケーションとシームレスに統合。
対象サービス、API
当ドライバは REST API 経由で Elasticsearch クラスタに接続します。Amazon OpenSearch を含む Elasticsearch 5.x、6.x、7.x、8.x バージョンをサポートします。
スキーマ、データモデル
マッピングからの自動スキーマ推論により、Elasticsearch インデックスをテーブルとしてモデル化します。フラット化オプション付きのネストされたオブジェクトと配列をサポートします。
主要オブジェクト
Indexes (テーブルとして)、Documents (行として)、Fields (列として)、Aliases。ネストされたタイプや geo タイプを含むすべての Elasticsearch データ型へのアクセス。
操作
Elasticsearch Query DSL に変換された SQL クエリ。フィルタリング、集計、ソート、全文検索をサポートします。バージョンによっては一部の書き込み機能を備えた読み取り操作。
認証
Username/Password による Basic 認証、API キー、Amazon OpenSearch 向けの AWS 認証、SSL/TLS サポート。HTTP/HTTPS エンドポイント経由で接続します。
30 日間の無料トライアルを今すぐ開始
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 へのデータバインド
Web、デスクトップ、モバイル .NET アプリケーションと Elasticsearch の接続は、SQL Server を操作するのと同じです。 コードを書かずに Elasticsearch ADO.NET Provider をアプリケーションに統合することも可能です。
開発者は、好みの方法で Elasticsearch ADO.NET Provider にアクセスできます。Visual Studio の Winforms または Webforms デザイナーを通じて視覚的に、またはコードから直接アクセスできます。
- オブジェクトのスマートタグを設定することで、Elasticsearch データソースをフォームコンポーネントに直接接続できます。
- サーバーエクスプローラーから新しいデータ接続を追加し、Elasticsearch データソースを選択します。次に、
オブジェクトに接続するフィード、ビュー、またはサービスを選択します。
完了!SQL Server に接続するのと同じです。
CData CLI で AI 支援開発
スキーマを理解する AI で Elasticsearch 連携を高速に構築
スキーマを自動検出する AI
AI コーディングツールは CData CLI を通じて Elasticsearch のスキーマにアクセスできます。テーブル名やカラム型を推測する必要はもうありません — AI は ADO.NET Drivers と同じメタデータを参照します。
AI は SQL を理解している
テーブル名・カラム名の探し方や SQL の生成方法は、AI が膨大な学習データからすでに熟知しています。カスタマイズ不要、ハルシネーションなし。AI が Elasticsearch のドメインスペシャリストとして機能します。
精度は上がり、トークンは減る
CData CLI はスキーマを自動検出し、フィルターや集計、JOIN を正確にプッシュダウンする高効率なクエリを実行します。これにより AI は、より少ないトークン使用量でより高い精度を実現します。
人気の ADO 動画:
今すぐ Elasticsearch ADO.NET Driver をダウンロード!
CData を使用して ADO.NET であらゆる場所からのリアルタイムデータに接続する方法について詳しく知りたいですか?以下からお問い合わせください。