Node.js でGoogle Spanner を仮想MySQL データベースとしてクエリ

詳細情報をご希望ですか?

製品について詳細情報や無償トライアルをご案内します:

API Server



Node.js からGoogle Spanner に対してMySQL データベースとしてクエリを実行。

CData Connect Cloud を使って、MySQL インターフェースでGoogle Spanner をクエリすることができます。この記事では、Connect Cloud で仮想Google Spanner データベースを作成し、Node.js でGoogle Spanner をクエリする連携方法を説明します。

CData Connect Cloud は、Google Spanner データのクラウドto クラウドのインターフェースを仮想MySQL として提供し、Node.js からRDB のようにデータをSQL でクエリすることができます。CData Connect Cloud がNode.js から発行されるSQL クエリ(フィルタリングやJOIN も可能)をパースしてGoogle Spanner に送り、Node.js アプリ にGoogle Spanner からのデータを返します。インテリジェントなサーバーサイドプロセスで、多様なクエリをパフォーマンス良く利用できます。

Google Spanner の仮想MySQL データベースを作成

CData Connect Cloud は、直観的なPoint-and-click インターフェースでデータソースへの接続およびAPI エンドポイント作成を行います。

  1. Connect Cloud にログインして、[Databases]をクリックします。
  2. 利用できるデータソースアイコンから"Google Spanner" を選択します。
  3. Google Spanner に接続するために必要なプロパティを入力します。

    GoogleSpanner はOAuth 認証標準を利用しています。各ユーザーやドメイン内のユーザーの代わりに、本製品がGoogle API にアクセスすることを許可できます。詳しくは、ヘルプドキュメントの「OAuth の使用」を参照してください。

  4. Test Database]をクリックします。
  5. [Privileges]->[ Add]をクリックして、新しいユーザーを追加し、適切な権限を指定します。

これで、Google Spanner の仮想データベースが作成でき、MySQL クライアントからの連携が可能になりました。

Google Spanner データをNode.js からクエリ

以下のサンプルは、Node.js のMySQL モジュールからGoogle Spanner への接続を定義し、クエリを実行します。以下の情報が必要です:

  • Host nameaddressport:Connect Cloud のインスタンス名(myinstance.cdatacloud.net)とポート(3306)です。
  • Username およびpassword:Connect Cloud で登録された権限のあるユーザーおよびそのパスワード。
  • Database name:Google Spanner (googlespannerdb) のデータベース名。

Google Spanner に接続して、以下のコードでクエリを実行します:

var mysql      = require('mysql');
var fs         = require('fs');
var connection = mysql.createConnection({
  host     : 'myinstance.cdatacloud.net',
  database : 'googlespannerdb',
  port	   :'3306',
  user     : 'admin',
  password : 'password',
  ssl      : {
    ca : fs.readFileSync('C:/certs/myCA.pem')
  }
});
connection.connect();
connection.query('SELECT * FROM Customer', function(err, rows, fields) {
  if (err) throw err;
  console.log(rows);
});

connection.end();