MicroStrategy でCData JDBC Driver を使ってRabbitMQ に接続

加藤龍彦
加藤龍彦
デジタルマーケティング
CData JDBC Driver を使用してMicroStrategy Developer のRabbitMQ に接続します。

MicroStrategy は、データ主導のイノベーションを可能にする、モビリティプラットフォームです。MicroStrategy をCData JDBC Driver for API とペアリングすると、MicroStrategy からリアルタイムRabbitMQ へのデータベースのようなアクセスが得られ、レポート機能と分析機能が拡張されます。この記事では、MicroStrategy Developer でRabbitMQ のデータベースインスタンスを作成し、RabbitMQ のWarehouse Catalog を作成します。

CData JDBC ドライバーは、ドライバーに組み込まれた最適化されたデータ処理により、MicroStrategy でリアルタイムRabbitMQ と対話するための圧倒的なパフォーマンスを提供します。MicroStrategy からRabbitMQ に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をRabbitMQ に直接プッシュし、組み込みSQL エンジンを利用して、サポートされていない操作(一般的にはSQL 関数とJOIN 操作) をクライアント側で処理します。組み込みの動的メタデータクエリを使用すると、ネイティブのMicroStrategy データタイプを使用してRabbitMQ を視覚化および分析できます。

MicroStrategy Developer のRabbitMQ に接続

CData JDBC Driver for API に基づくデータベースインスタンスを追加することにより、MicroStrategy Developer のRabbitMQ に接続できます。* 開始する前に、MicroStrategy Developer のインスタンスが接続されているMicroStrategy Intelligence Server をホストとするマシンにJDBC Driver for API をインストールする必要があります。

  1. MicroStrategy Developer を開き、[Project Source]を選択します。
  2. [Administration]->[Configuration Managers]->[Database Instances]と進み、右クリックして新しいインスタンスを追加します。 新規データベースインスタンスの作成
  3. インスタンスに名前を付け、データベース接続タイプとしてGeneric DBMS を選択し、新しいデータベース接続を作成します。 新規データベース接続の作成
  4. データベース接続ウィザードで接続に名前を付け、新しいデータベースログイン名を作成してRabbitMQ のユーザーとパスワードを設定します。 新規データベースログインの作成
  5. 接続ウィザードの[Advanced]タブで、追加の接続文字列パラメータを以下のように設定します。
    • JDBC キーワードを接続文字列に追加します。
    • MSTR_JDBC_JAR_FOLDER をJDBC ドライバーのJAR ファイルを含むディレクトリのパスに設定します。(C:\Program Files\CData JDBC Driver for API\lib\ on Windows.)
    • DRIVER をドライバークラスであるcdata.jdbc.api.APIDriver に設定します。
    • URL をRabbitMQ ドライバーのJDBC URL に設定します。これには、必要な接続プロパティが含まれています。

      RabbitMQ Management HTTP API について

      RabbitMQ は、複数のメッセージングプロトコルをサポートするオープンソースのメッセージブローカーです。RabbitMQ Management HTTP API は、RabbitMQ サーバーの管理データと監視データに HTTP 経由でアクセスする手段を提供します。この API では、仮想ホスト、エクスチェンジ、キュー、バインディング、コネクション、チャネル、コンシューマー、ユーザー、権限、ポリシー、クラスター全体の統計情報を取得できます。

      HTTP API を利用するには、RabbitMQ サーバーで Management プラグインを有効化する必要があります。デフォルトでは、管理インターフェースはポート 15672 でリッスンします。

      Basic 認証の設定

      RabbitMQ Management HTTP API は HTTP Basic 認証を使用します。RabbitMQ 管理ユーザーのユーザー名とパスワードを指定する必要があります。

      管理 API へのアクセスを有効にするには、以下のステップで進めます:

      1. サーバーで RabbitMQ Management プラグインが有効になっていることを確認します(rabbitmq-plugins enable rabbitmq_management)。
      2. 既存の管理ユーザーを使用するか、適切な管理タグ(management、policymaker、monitoring、または administrator)を持つユーザーを作成します。
      3. RabbitMQ Management HTTP API の完全なベース URL を控えておきます(例:http://localhost:15672)。

      RabbitMQ サーバーを設定したら、以下の接続プロパティを設定して接続します:

      • AuthScheme:Basic に設定します。
      • URL:RabbitMQ Management HTTP API のベース URL に設定します(例:http://localhost:15672)。
      • User:RabbitMQ の管理ユーザー名に設定します(例:guest)。
      • Password:RabbitMQ の管理パスワードに設定します。

      接続文字列の例:

      Profile=C:\profiles\RabbitMQ.apip;AuthScheme=Basic;URL=http://localhost:15672;User=guest;Password=guest;
      

      利用可能なテーブル

      RabbitMQ プロファイルでは、以下のテーブルにアクセスできます:

      • Overview - クラスター全体の統計情報と RabbitMQ ノードに関する情報
      • Nodes - RabbitMQ クラスター内の個々のノードに関する情報
      • NodeMemory - 特定のクラスターノードの詳細なメモリ使用状況の内訳
      • Connections - ブローカーへのすべてのオープンな AMQP コネクションの一覧
      • Channels - すべてのコネクションにわたるオープンな AMQP チャネルの一覧
      • Consumers - すべてのキューに登録されたコンシューマーの一覧
      • Exchanges - すべての仮想ホストで宣言されたエクスチェンジの一覧
      • Queues - すべての仮想ホストで宣言されたキューの一覧
      • Bindings - エクスチェンジとキュー間のすべてのバインディングの一覧
      • VirtualHosts - ブローカーに設定された仮想ホストの一覧
      • VhostPermissions - 特定の仮想ホスト内のユーザー権限
      • Users - すべての RabbitMQ ユーザーの一覧
      • Permissions - すべての仮想ホストにわたる全ユーザーの権限レコード
      • TopicPermissions - 全ユーザーのトピックレベルの権限レコード
      • Policies - 仮想ホスト内のキューおよびエクスチェンジに適用されたポリシーの一覧
      • OperatorPolicies - 仮想ホスト内のキューに適用されたオペレーターポリシーの一覧
      • Parameters - 仮想ホストごとのコンポーネントパラメータ(例:federation、shovel)の一覧
      • GlobalParameters - すべての仮想ホストに適用されるグローバルパラメータの一覧
      • VhostLimits - 特定の仮想ホストに設定されたリソース制限
      • UserLimits - 特定のユーザーに設定されたリソース制限
      • FeatureFlags - フィーチャーフラグの一覧と、ノード上での有効/無効の状態
      • DeprecatedFeatures - 非推奨機能の一覧と、その使用状態
      • AuthAttempts - ノードの認証試行統計
      • ClusterName - RabbitMQ クラスターの名前
      • WhoAmI - 現在認証されている管理ユーザーに関する情報
      • ExchangeBindingsSource - 特定のエクスチェンジがソースとなっているバインディング
      • ExchangeBindingsDestination - 特定のエクスチェンジが宛先となっているバインディング
      • QueueBindings - 仮想ホスト内の特定のキューのバインディング

      ビルトイン接続文字列デザイナ

      JDBC URL の構成については、RabbitMQ JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

      java -jar cdata.jdbc.api.jar
      

      接続プロパティを入力し、接続文字列をクリップボードにコピーします。

      接続文字列ビルダーでJDBC URL を作成

      JDBC URL を構成する際に、Max Rows プロパティを定めることも可能です。これによって戻される行数を制限するため、可視化・レポートのデザイン設計時のパフォーマンスを向上させるのに役立ちます。

    以下は、一般的な追加の接続文字列プロパティです。

    JDBC;MSTR_JDBC_JAR_FOLDER=PATH\TO\JAR\;DRIVER=cdata.jdbc.api.APIDriver;URL={jdbc:api:Profile=C:\profiles\\RabbitMQ.apip;AuthScheme=Basic;URL=http://localhost:15672;User=guest;Password=guest;};
    
    Configuring the connection toRabbitMQ のデータusing JDBC.
  6. ODBC データソースが選択されていないことを確認し、(これによりMicroStrategy がトリガーされ、追加の接続文字列パラメータを使用してデータベースインスタンスが構築されます)[OK]をクリックします。
  7. [OK]をクリックし、データベースインスタンスウィザードを閉じます。
  8. [Project Source]でプロジェクトを右クリックし、[Project configuration]を開きます。
  9. [Database Instances]に移動し、新しく作成したデータベースインスタンスを選択して[OK]をクリックします。 Adding the new database instance to the project.
  10. MicroStrategy Developerを閉じ、接続されたMicroStrategy Intelligence Server を再起動してデータベースインスタンスの作成を完了します。

データベースインスタンスを構成すると、Warehouse Catalog およびData Import からRabbitMQ に接続できるようになります。

Warehouse Catalog からRabbitMQ のデータに接続する

JDBC Driver for API に基づいてデータベースインスタンスを作成すると、Warehouse Catalog のデータに接続できます。

  1. プロジェクトを選択し、[Schema]->[Warehouse Catalog]をクリックします。 Creating the Warehouse Catalog
  2. [Read Settings for the Catalog]で[Settings]をクリックし、スキーマを取得するためのクエリを設定します。
    • テーブルのリストを取得するには、以下のクエリを使用します。
      SELECT
        *
      FROM
        SYS_TABLES
              
    • 選択したテーブルの例のリストを取得するには、以下のクエリを使用します。
      SELECT DISTINCT
        CatalogName NAME_SPACE,
        TableName TAB_NAME,
        ColumnName COL_NAME,
        DataTypeName DATA_TYPE,
        Length DATA_LEN,
        NumericPrecision DATA_PREC,
        NumericScale DATA_SCALE
      FROM
        SYS_TABLECOLUMNS
      WHERE
        TableName IN (#TABLE_LIST#)
      ORDER BY
        1,2,3
              
    Custom metadata queries.
  3. プロジェクトで使用するテーブルを選択します。 Selecting tables to be used in the project.

MicroStrategy のCData JDBC Driver for API を使用すると、RabbitMQ で安定したビジュアライズとレポートを簡単に作成できます。詳細については、MictroStrategy でのRabbitMQ への接続MicroStrategy Desktop でのRabbitMQ への接続 に関するほかの記事をお読みください。


NoteJDBC Driver を使用して接続するには、3層から4層のアーキテクチャが必要です。

はじめる準備はできましたか?

API Driver で RabbitMQ のライブデータに接続

RabbitMQ に接続