LoginSignup
3
1

[TiDB] 各種BIツールからTiDB Serverlessへの接続方法

Last updated at Posted at 2023-12-16

はじめに

TiDB ServerlessにはTiFlashがあるので、データ分析にも活用できます。
ここではBIツールからTiDB Serverlessに接続する方法について説明します。

TiDB Serverlessの準備

クラスタの作成

データベースが無いとはじまらないので適当なデータベースを作ります。クラスタを作成して、
右下の?メニューから、Interactive Tutorialsを選択します。
image.png

S&P 500 Analysisを選択
image.png

データをインポートします。
image.png

データがインポートできたら以降のチュートリアルはスキップして構いません。

接続情報の取得

クラスタのOverviewに戻り、connectボタンを押して接続情報を表示します。
パスワードを生成して、Operating SystemでWindowsを選択してください。

最新の接続画面では、CAファイルがダウンロードできるようになっています。
この機能を利用するためにOperating SystemをWindowsにします。

CAファイルのダウンロードリンク(画像の赤丸部分)から、CAファイルを忘れずにダウンロードしてください。
スクリーンショット 2023-12-13 9.28.45.png

TiDB側の準備はこれで完了です。

LookerStudioからTiDB Serverlessへの接続

LookerStudioはGoogleアカウントがあれば利用できる無料のBIツールです。利用者も多いのではないでしょうか。

トップ画面からブランクレポートを作成します。
image.png

データソースではMySQLを選択します。
image.png

接続情報画面で、ホスト名、ポート、ユーザー名、パスワードを指定し、SSLを有効にしてCAファイルをアップロードします。
スクリーンショット 2023-12-13 9.38.49.png

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

後はデータソースを元にグラフを作成するだけです。
image.png

TableauからTiDB Serverlessへの接続

Tableau DesktopからTiDB Serverlessに接続します。MacOS上で試しています。

ドライバのインストール

Tableau DesktopからMySQLに接続するためには、iODBCドライバとMySQL 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ファイルを指定します。
スクリーンショット 2023-12-13 14.37.50.png

クエリ

カスタムクエリでLooker Studio同様のクエリを設定し、ワークシートに移ってグラフを作成します。
スクリーンショット 2023-12-13 14.45.35.png

PowerBIからTiDB Serverlessへの接続

PowerBI Desktopで試しています。

ドライバのインストール

MySQLに接続するためには、Connector/Netのインストールが必要です。ダウンロードしてインストールします。

PowerBIで、データを取得からMySQL データベースを選択します。
mysql.png

接続設定

MySQLの接続を設定します。

  1. ホスト名、データベース名を指定して、詳細設定で前述のクエリを設定します。
  2. 資格情報では、データベース を選択して、ユーザー、パスワードを入力します。

mysql4.png

利用

接続できたら、後は通常のデータソース同様に操作できます。
mysql3.png

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の証明書に対応しているようなので、同じように対応してほしいところです。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1