はじめに
TiDB ServerlessにはTiFlashがあるので、データ分析にも活用できます。
ここではBIツールからTiDB Serverlessに接続する方法について説明します。
TiDB Serverlessの準備
クラスタの作成
データベースが無いとはじまらないので適当なデータベースを作ります。クラスタを作成して、
右下の?メニューから、Interactive Tutorials
を選択します。
データがインポートできたら以降のチュートリアルはスキップして構いません。
接続情報の取得
クラスタのOverviewに戻り、connect
ボタンを押して接続情報を表示します。
パスワードを生成して、Operating System
でWindowsを選択してください。
最新の接続画面では、CAファイルがダウンロードできるようになっています。
この機能を利用するためにOperating SystemをWindowsにします。
CAファイルのダウンロードリンク(画像の赤丸部分)から、CAファイルを忘れずにダウンロードしてください。
TiDB側の準備はこれで完了です。
LookerStudioからTiDB Serverlessへの接続
LookerStudioはGoogleアカウントがあれば利用できる無料のBIツールです。利用者も多いのではないでしょうか。
接続情報画面で、ホスト名、ポート、ユーザー名、パスワードを指定し、SSLを有効にしてCAファイルをアップロードします。
Authorizationがうまくいったら、CUSTOM QUERYで下記のSQLを貼り付けてデータソースを作成します。
SELECT sector,
COUNT(*) AS companies,
ROW_NUMBER() OVER (ORDER BY COUNT(*) DESC ) AS companies_ranking,
SUM(market_cap) AS total_market_cap,
ROW_NUMBER() OVER (ORDER BY SUM(market_cap) DESC ) AS total_market_cap_ranking,
SUM(revenue_growth * weight) / SUM(weight) AS avg_revenue_growth,
ROW_NUMBER() OVER (ORDER BY SUM(revenue_growth * weight) / SUM(weight) DESC ) AS avg_revenue_growth_ranking
FROM companies
LEFT JOIN index_compositions ic ON companies.stock_symbol = ic.stock_symbol
GROUP BY sector
ORDER BY 5 ASC
TableauからTiDB Serverlessへの接続
Tableau DesktopからTiDB Serverlessに接続します。MacOS上で試しています。
ドライバのインストール
Tableau DesktopからMySQLに接続するためには、iODBCドライバとMySQL ODBCドライバをインストールする必要があります。それぞれ、下記のサイトからダウンロードしてインストールします。
- iODBC - https://www.iodbc.org/dataspace/doc/iodbc/wiki/iodbcWiki/Downloads#Mac%20OS%20X
- MySQL ODBCドライバ - https://dev.mysql.com/downloads/connector/odbc/
Apple SiliconのMacを使っている人も、X86用のドライバをダウンロードしてください。ARM版には下記のバグがありました。
https://community.tableau.com/s/question/0D58b0000AfZtGhCQK/mysql-versions-older-than-411-are-not-supported-by-this-version-of-tableau
接続設定
MySQLを選択して、ホスト名、ポート、データベース、ユーザー名、パスワードを設定します。
SSLを有効にして、CAファイルを指定します。
クエリ
カスタムクエリでLooker Studio同様のクエリを設定し、ワークシートに移ってグラフを作成します。
PowerBIからTiDB Serverlessへの接続
PowerBI Desktopで試しています。
ドライバのインストール
MySQLに接続するためには、Connector/Netのインストールが必要です。ダウンロードしてインストールします。
PowerBIで、データを取得
からMySQL データベース
を選択します。
接続設定
MySQLの接続を設定します。
- ホスト名、データベース名を指定して、詳細設定で前述のクエリを設定します。
- 資格情報では、
データベース
を選択して、ユーザー、パスワードを入力します。
利用
QuickSightからTiDB Serverlessへの接続
2023年12月現在、QuickSightからTiDB Serverlessに接続することはできません。
(TiDB Dedicatedは可能です)
QuickSightのMySQLアクセス(TLS)は、認定済みのCAから発行された証明書を利用している必要があります。
https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/configure-access.html#ca-certificates
これにはLet's EncryptのCAは含まれていないため、残念ながら現状ではTLS接続が必須のTiDB Serverlessに接続することはできません。
PowerBIも一緒だと思うのですが、 PowerBIはLet's Encryptの証明書に対応しているようなので、同じように対応してほしいところです。