MicroStrategy Web でRabbitMQ ODBC Driver を使用
MicroStrategy は、データドリブンイノベーションを可能にする分析およびモバイルプラットフォームです。MicroStrategy とCData ODBC Driver for API を組み合わせると、MicroStrategy からデータベースと同じ感覚でリアルタイムRabbitMQ のデータにアクセスできるようになり、より高度なレポートと分析が行えます。この記事では、MicroStrategy Web に外部データとしてRabbitMQ を追加し、RabbitMQ のデータの簡単なビジュアライゼーションを作成する方法について説明します。
CData ODBC ドライバーは、ドライバーに組み込みの最適化されたデータ処理により、MicroStrategy でリアルタイムRabbitMQ のデータとやり取りする上で最高のパフォーマンスを提供します。MicroStrategy からRabbitMQ に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をRabbitMQ に直接プッシュし、サポートされていない操作(主にSQL 関数とJOIN 操作)は、組み込みのSQL エンジンを利用してクライアント側で処理します。ビルトインの動的メタデータクエリを使用すると、ネイティブのMicroStrategy データ型を使用してRabbitMQ のデータをビジュアライズおよび分析できます。
CData ODBC ドライバとは?
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
- RabbitMQ をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
- 多様なアプリケーション、ツールにRabbitMQ のデータを連携
- ノーコードでの手軽な接続設定
- 標準 SQL での柔軟なデータ読み込み・書き込み
CData ODBC ドライバでは、1.データソースとしてRabbitMQ の接続を設定、2.MicroStrategy Web 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData ODBC ドライバのインストールとRabbitMQ への接続設定
まずは、本記事右側のサイドバーからAPI ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
RabbitMQ への接続に関する情報と、Windows およびLinux 環境でのDSN の設定手順を以下で説明します。(ODBC Driver for API は、接続されたMicroStrategy Intelligence Server をホストしているマシンにインストールする必要があります。)
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 へのアクセスを有効にするには、以下のステップで進めます:
- サーバーで RabbitMQ Management プラグインが有効になっていることを確認します(rabbitmq-plugins enable rabbitmq_management)。
- 既存の管理ユーザーを使用するか、適切な管理タグ(management、policymaker、monitoring、または administrator)を持つユーザーを作成します。
- 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 - 仮想ホスト内の特定のキューのバインディング
DSN を構成する際にはMax Rows 接続プロパティも設定できます。これにより返される行数が制限されるため、レポートやビジュアライゼーションを作成するときのパフォーマンスを向上させることができます。
Windows
接続プロパティが未設定の場合は、まずODBC DSN(データソース名)で設定します。これはドライバーインストール時の最後の手順にあたります。Microsoft ODBC データソースアドミニストレーターを使ってODBC DSN を作成および設定できます。
Linux
CData ODBC Driver for API をLinux 環境にインストールする場合、ドライバーのインストールによってDSN が事前に定義されます。DSN を変更するには、システムデータソースファイル(/etc/odbc.ini)を編集し、必要な接続プロパティを定義します。
/etc/odbc.ini
[CData API Sys] Driver = CData ODBC Driver for API Description = My Description Profile = C:\profiles\\RabbitMQ.apip AuthScheme = Basic URL = http://localhost:15672 User = guest Password = guest
これらの設定ファイルの使用方法については、オンラインのヘルプドキュメントを参照してください。
MicroStrategy Web を使用してRabbitMQ のデータに接続し、ビジュアライズする
MicroStrategy Developer でデータベースインスタンスを作成してプロジェクトに接続すると、MicroStrategy Web からRabbitMQ のデータのデータインポートを実行できます。もしくは、ODBC Driver を使用して新しいデータソースを作成することもできます。*
- MicroStrategy Web を開き、プロジェクトを選択します。
- 「Add External Data」をクリックし、「Databases」を選択して「Import Option」として「Select Tables」を選びます。
- 「Import from Tables」ウィザードでクリックして新しいデータソースを追加します。
- DSN Data Source を選択します。
- DSN プロパティを、以前構成したDSN(CData API Sys)に設定します。
- Version プロパティをGeneric DBMS に設定します。
- User プロパティとPassword プロパティを設定(もしくはフィラー値を使用)します。
- Data Source Name を設定します。
- データソースを作成したらカタログオプションをクリックして編集し、以下のクエリを設定して「OK」をクリックします。
- 以下は、データソースで使用可能なテーブルを取得するためのSQL ステートメントです。
SELECT CatalogName NAME_SPACE, TableName TAB_NAME FROM SYS_TABLES - 以下は、選択したテーブルのカラムを取得するためのSQL ステートメントです。
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
- 以下は、データソースで使用可能なテーブルを取得するためのSQL ステートメントです。
- テーブルをペインにドラッグします。
Note:ライブ接続を作成するので、テーブル全体をインポートして、MicroStrategy 製品に固有のフィルタリングおよび集計機能を利用できます。 - 「Finish」をクリックして、ライブ接続するオプションを選択してクエリを保存し、新しいドシエを作成するオプションを選択します。

- ビジュアライゼーションを選択して表示するフィールドを選択し、フィルタを適用してRabbitMQ のデータの新しいビジュアライゼーションを作成します。データ型は、動的なメタデータ検出によって自動的に検出されます。可能であれば、フィルタと集計によって生成された複雑なクエリはRabbitMQ にプッシュダウンされ、サポートされていない操作(SQL 関数とJOIN 操作を含む)は、ドライバーに組み込まれたCData SQL エンジンによってクライアント側で管理されます。

- ドシエの設定が完了したら、「File」->「Save」とクリックします。
おわりに
このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。
Note:ODBC Driver を使用して接続するには、3- または 4-Tier Architecture が必要です。