Datastax の Cassandra へ CData Cassandra Driver から接続する方法

by 杉本和也 | 2021年09月14日

f:id:sugimomoto:20210914153546p:plain

こんにちは。CData Software Japan リードエンジニアの杉本です。

オープンソースのNoSQL で有名な Cassandraですが、現在様々なクラウドサービスでスケーラビリティかつ簡単に扱えるようになっていますね。

その中でも今回はとても手軽に環境構築ができる Datastax というサービスで提供されている Cassandra へ CData Driver で接続する方法を紹介したいと思います。

www.datastax.jp

f:id:sugimomoto:20210913141854p:plain

www.cdata.com

f:id:sugimomoto:20210913141902p:plain

Datastax のアカウントについて

まず、接続先となるDatastaxの環境を用意しましょう。

Datastax アカウントは2021年09月現在、無料で作成することができ、そのなかのApache Cassandra のマネージド・サービスである「Astera DB」は毎月最大80GBまで無料で利用できるようになっています。

今回はこの無料枠を利用して環境を作成しました。

https://www.datastax.jp/

f:id:sugimomoto:20210913141908p:plain

データベースの作成

アカウントを作成したら、Databaseを追加しましょう。

管理画面にログインして「Create Database」をクリックします。

f:id:sugimomoto:20210913141913p:plain

任意の Database Name と最初に構成する Keyspace の Name を入力します。

また Datastax はGoogle Cloud、 Amazon Web Service、Microsoft Azure の中から構成する先の環境を選ぶことができます。

今回は特に理由が無かったので、普段からよく使っている AWSベースで構成してみました。

f:id:sugimomoto:20210913141920p:plain

Create Databaseを実行すると以下のようにDatabaseの構成が開始されます。このStatus が「Active」になればOKです。

f:id:sugimomoto:20210913141925p:plain

サンプルデータをロードする

せっかくなので接続した際わかりやすいようにサンプルデータもロードしておきましょう。

対象のDatabaseに移動して「Load Data」をクリックします。

f:id:sugimomoto:20210913141930p:plain

「Option 2:Load an example dataset」から「Movies and TV Shows」のデータをロードしてみます。

f:id:sugimomoto:20210913141935p:plain

次の画面でサンプルデータの中身とテーブル名の指定

f:id:sugimomoto:20210913141940p:plain

併せて partition key や clustering column を指定します。

f:id:sugimomoto:20210913141945p:plain

最後に Load 先の Database と Keyspace を選択すればOKです。

f:id:sugimomoto:20210913141951p:plain

Application Token の作成

続いて Driver から接続する際に必要となる「Application Token」を作成します。

「Connect」→「Document API」に移動し、以下の「here」をクリックして、Token Management 画面に移動します。

f:id:sugimomoto:20210913141957p:plain

Token Management画面に移動したら、任意のRoleを選択してTokenを作成します。

f:id:sugimomoto:20210913142002p:plain

これで以下のようにClientID・ClientSecret・Tokenが生成されるので、控えておきます。

f:id:sugimomoto:20210913142008p:plain

接続用の各種証明書ファイルを入手する

CData Driverからの接続には Application Token と併せて、各種証明書の情報が必要になります。

この証明書は「Connect」→「Java」→「Download Bundle」で入手できます。

f:id:sugimomoto:20210913142014p:plain

ZIPファイルがダウンロードできるので、解凍すると以下のようにca.crt、cert.pfx などの各種証明書が確認できます。

f:id:sugimomoto:20210913142019p:plain

また、config.jsonに接続先のサーバー情報なども可能されているので、確認しておきましょう。

f:id:sugimomoto:20210913142024p:plain

以上でDatastax側の準備は完了です。

CData Cassandra Driver から接続する

それでは、CData Cassandra Driver から接続を試してみましょう。

今回は CData Cassandra ODBC Driver を使いますが、基本的接続方法はJDBCやADO.NET、Excel Add-inでも共通です。

以下のURLから30日間のトライアルをダウンロードしてきて

www.cdata.com

f:id:sugimomoto:20210913142029p:plain

セットアップを実行しましょう。

f:id:sugimomoto:20210913142037p:plain

セットアップが完了すると、ODBC DSNの接続構成画面が立ち上がるので、今まで取得した情報を元に以下のように設定を行います。

プロパティ名 備考
Server 例)83dcfcce-d66f-4e15-8e5e-36e9563cebfb-ap-southeast-1.db.astra.datastax.com config.json の Host の値を指定します。
User 例)tKYtFNEGDhGYeDlazreXXPYH 生成したApplication Token のClient IDを指定します。
Password SG3hJ252kfYKLTdteoteFZXjuyo8I9yulsrTl_vCES1i9blOULaefl-2Pq_G2rkqtj7PMTn_9ExE6QfbRx4AuqAGe5aoY1e0+diT2fTLKMrAdxnRwb0BOCXY2ec4O9hI 生成したApplication Token のClient Secret を指定します。
Server 例)samplekeystore 接続したいkey store を指定します。
UseSSL True
SSLClientCert C:\Work\Datastax\secure-connect-sample\cert.pfx cert.pfx ファイルのパスを指定します。
SSLClientCertType PFXFILE
SSLClientCertPassword 例)xEl8V06tBX73rJwQY XXXX
SSLServerCert C:\Work\Datastax\secure-connect-sample\ca.crt ca.crt ファイルのパスを指定します。

f:id:sugimomoto:20210913142043p:plain

入力完了後、「接続テスト」をクリックして、以下のようにメッセージが表示されればOKです。

f:id:sugimomoto:20210913142048p:plain

「OK」をクリックして設定を保存しましょう。

Power BI から接続する

接続構成が完了したので、任意のツールから接続を試してみましょう。

今回はODBC接続が利用できる Microsoft の BIツール、Poewr BI Desktop を試してみました。

powerbi.microsoft.com

Power BI Desktop を立ち上げて「データを取得」をクリックし

f:id:sugimomoto:20210913142052p:plain

接続先の一覧から「ODBC」を選択します。

f:id:sugimomoto:20210913142057p:plain

ODBCのDSN名で先程構成したDSNを選択すると

f:id:sugimomoto:20210913142101p:plain

以下のようにCassandraのKeyspaceに含まれる先ほど登録したサンプルデータが確認できました。

f:id:sugimomoto:20210913142107p:plain

これでデータの読み込みを行うと、以下のようにPower BI にCassandraのデータがスムーズに取り込めます。

f:id:sugimomoto:20210913142112p:plain

あとはPower BIの機能でビジュアライズが可能です。

f:id:sugimomoto:20210913142117p:plain

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。