マルチ・ワークロード・クラスターの使用
DSEドライバーは、さまざまなワークロード・タイプのクラスターをクエリーできます。
DataStax Enterpriseに保存されているデータをクエリーするには、いくつかの異なる方法があります。これらのアクセス・パターンは、DSEでワークロードと呼ばれるものによって有効になります。DSEドライバーは、さまざまなワークロード・タイプのクラスターをクエリーできます。以下は、開発者にマルチ・モデル・エクスペリエンスを拡張するためにDSEが提供するさまざまなワークロードです。
- DSE Core:トランザクション。通常は標準のCassandra CQLクエリーを使用
- DSE Search:フィルタリング。通常はLuceneクエリーを介する
- DSE Analytics:計算。通常はSparkジョブを介する
- DSE Graph:関係。通常はTinkerPop探索を介する
アプリケーションを開発する場合、ワークロードの種類ごとに、ワークロードがカバーするユース・ケースを効果的に活用するためのさまざまな手法が必要です。
アプリケーションを作成する前に、DSEデプロイ・アーキテクチャーを研究して理解してください。開発者は、DSEクラスターを構成するデータ・センターとサポートされるワークロードを把握して、さまざまな種類のクエリーを適切なデータ・センターに送信する必要があります。
たとえば、アプリケーションでsolr_queryを使用するには、ターゲットのデータ・センターでDSE Searchが有効になっている必要があります。アプリケーションからグラフ探索を実行するには、接続されているデータ・センターでDSE Graphが有効になっている必要があります。このコア機能はすべてのワークロードに存在するため、通常、トランザクション・クエリーは任意のデータ・センターに対して作成できます。
DataStaxドライバーは、アプリケーションから操作する手段として、ロード・バランス・ポリシーを公開しています。ロード・バランス・ポリシーは、実行プロファイル内で提供することも、ドライバー・クラスターとセッション・オブジェクトの構成中に提供することもできます。クエリーを指定されたデータ・センターに制限するには、データ・センター認識ポリシーを使用します。
実行プロファイル
実行プロファイルをサポートしているドライバーには、アプリケーションで使用されるさまざまなワークロードに対して個別のプロファイルを定義します。たとえば、DSE Searchが有効で、DSE Coreのみが有効な2つのデータ・センターがある場合は、SearchExecutionProfile
を使用してDSE SearchクエリーをDSE Searchデータ・センターに送信します。SearchExecutionProfile
の場合は、DSE Searchデータ・センターをDCAware
ロード・バランス・ポリシーのローカル・データ・センターとして渡します。このプロファイルは、クエリーでDSE Searchインデックスを使用するすべての実行メソッドに渡すことができます。これらのクエリーは、DSE Searchワークロードをサポートするデータ・センターに送信されます。
ワークロードごとのドライバー・インスタンス
実行プロファイルをサポートしていないドライバーには、アプリケーションで使用されるさまざまなワークロードに対して個別のドライバー・インスタンスを使用します。これは、ドライバー・インスタンスの作成時にローカル・データ・センターがロード・バランス・ポリシーに渡されること以外は、実行プロファイルの仕組みに似ています。たとえば、DSE Searchデータ・センターをロード・バランス・ポリシーのローカル・データ・センターとして構成したSearchSession
を作成します。アプリケーション内で、DSE Searchインデックスを使用するすべてのクエリーにこのSearchSession
を使用します。
DSE CoreおよびDSE Search
DSE Searchに対してsolr_query
構文を使用するプレーンCQLクエリーとCQLクエリーは、同期および非同期の実行メソッドを通じてDataStaxドライバーでネイティブにサポートされます。
C/C++ | C# | Java | Node.js | PHP | Python | Ruby |
DSE Graph
DSE Graphクエリーは、専用のグラフ・メソッドを通じてDataStaxドライバーでサポートされています。グラフ・クエリーは、DSE Graph Fluent API(TinkerPopのByteCode APIに類似)を使用して実行することを強く推奨します。Fluent APIをサポートしていないドライバーには、String APIも利用できます(TinkerPopのスクリプトAPIに類似)。
C/C++ | C# | Java | Node.js | PHP | Python | Ruby |