NewSQLのTiDBはBigQueryに比肩するOLAP性能を叩き出せるか? データ分析基盤を運用するプレイド社が検証結果を明らかに[PR]
今回は「NewSQLのTiDBはBigQueryに比肩するOLAP性能を叩き出せるか? データ分析基盤を運用するプレイド社が検証結果を明らかに[PR]」についてご紹介します。
関連ワード (代表的、余地、最適化等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
Webサイトやモバイルアプリケーションなどにおける優れた体験とは、単に高速にWebページが表示されることや分かりやすいユーザーインターフェイスが提供されるだけにとどまりません。
それぞれのユーザーがどのような目的でWebサイトに訪れたかを理解した上で、適切なコンテンツを適切なタイミングで表示すること、適切なルートで目的を達成できるように誘導すること、再訪につなげるためのクーポンなどの施策が実行されることなど、高度な処理が求められるようになってきています。
さらにはWebサイト上のユーザーの行動履歴を分析することでより優れたWebサイトにするための改善のヒントを得るための、データ蓄積と分析能力も欠かせません。
株式会社プレイドは、こうしたCX(Customer Experience:顧客体験)を実現するプラットフォームである「KARTE」(カルテ)や、プロダクト開発のためのユーザー行動分析ツール「Wicle」など、データを活用するさまざまなプラットフォームを提供する企業です。
その同社が、代表的なNewSQLデータベースの1つであるTiDB(タイデービー)のデータ分析機能を中心に評価した内容と結果を、2023年7月に行われたイベント「TiDB User Day 2023」において「プロダクト分析サービスの超高速集計レイヤーとしてのTiDB」と題したセッションで発表しています。発表者はLead Product Engineer 小川拓也氏です。
同社が大規模データの分析基盤として導入しているBigQueryなどと比較して、TiDBの分析能力はどう評価されたのでしょうか。その内容をダイジェストで紹介しましょう。
分析基盤のアーキテクチャと課題
同社の主力製品であるKARTEは、Webサイトやモバイルアプリのユーザー行動をリアルタイムに解析し、一人一人の行動や状態に応じた顧客体験を提供するプラットフォームです。
主な機能には柔軟な条件で統計値を出力する機能、ユーザーの行動を詳細分析する機能、分析結果をシームレスに可視化する機能などがあり、累計ユーザー数は199億、ピーク時には秒間13万4000ものイベントデータが発生します。
このKARTEを支えるデータベース基盤が、Google CloudのSpanner、BigQuery、BigTableの3つのサービスです。
左側のユーザーが、KARTEを導入しているWebサイトやモバイルアプリにアプリにアクセスすると、サーバがリアルタイムでデータの解析を行い、ユーザーの状態や行動に適した対応を1秒以内に判断します。
それぞれのデータベースの役割は、Spannerでは外部データ付加やCRMデータ管理、メインDBとなるBigQueryでは全イベントデータと全ユーザーデータの保存、BigTableはユーザー解析のためのユーザー統計値やイベントデータを保存します。
重視しているのは速度だと、講演を行った小川氏は次のように説明します。
「最高の体験を追求するためには、分析機能の速度はとても重要だと考えています。だからこそ分析結果を1秒以内に出すことを目指しています」
小川氏は、現在採用されているBigQueryはとても強力で、数十TB以上の規模のデータ集計処理でもスケールすると話す一方で、「アンコントローラブルな部分も多く、ユーザーに直接対応する層のデータベースとしては向かない側面も多い」と課題も述べました。
そのために小川氏は現在もユーザーに直接対応する層のデータベースとして分析処理に特化したスケーラブルなデータベースを模索中だとします。
Apache Druid、ClickHouse、Apache Pinot、Unistore、そしてGoogle AlloyDBなど、さまざまな選択肢に着目するなかで、TiDBもその候補にあがりました。
TiDBの評価ポイントと検証構成
小川氏はTiDBを評価する理由と気になる点について、次のように話します。
「TiDBはOLTPとOLAPを両立させるコンセプトで、アーキテクチャをシンプルにできるところが魅力です。性能面の事例も豊富にあります。
現時点ではトランザクションの性能要件では課題感はなかったので、大量かつスキーマレスな性質における分析特化型データベースにTiDBがどれだけ対抗できるのかが気になりました。そのためOLAP性能が最も気になるポイントでした」。
TiDBにはオプションとして列指向データベースによる高速なOLAP機能を提供するTiFlashが追加機能として用意されています。今回の検証は、このTiFlashのOLAPの性能が主な対象となりました。
検証前、小川氏は「TiDBでは列指向型(TiFlash)が従来苦手としているオンライン更新処理を実現する設計になっているので、その代わりに読み取りのレイテンシーなど何かがトレードオフとなっているのでは」と考えていたと吐露します。
一方で「TiDBはオープンソースであり、ブラックボックスが少ないのは信頼できます。各コンポーネントが独立して開発されていて、選択的に導入して拡張できる構成でありながら、シンプルなオペレーションが実現できるモダンな作りであることも魅力的でした。
性能面では、水平スケール性が重視されていて、多様なお客様の大量データを扱うマルチテナント型サービスのDBとして十分な可能性を感じました」と、TiDBへの期待もあったことを合わせて説明しました。
BigQueryとTiDBでデータ同期を行い検証
検証環境ではBigQueryをデータソースとして、定期的にTiDBにデータを同期しつつTiFlashでOLAPのクエリを実行しています。
検証時には小川氏がスキーマやパラメータをチューニングしつつ行われました。
前述の通り、TiDBには追加機能としてTiFlashを組み込み、高速なOLAPの処理が可能ですが、どのようなクエリをTiFlashで処理するかはTiDBによって判断されます。
そこで小川氏は検証の中でクエリによって適切にTiFlashが選択されているかを実行計画から確認し、検証対象のクエリにおいて良好なパフォーマンスが出せたと話します。
BigQueryとTiDBの比較については、両者のデータベースは方向性やリソース確保などで違いがあるため、直接の比較は無理があるが、と前置きしたうえで、「エンドツーエンドの簡易的なレイテンシの比較を行ったところ、TiDBはまだチューニングできる余地を残しつつも、同等のデータ量をさばく機能で大きな速度改善が見られる」と期待を込めてコメント。
TiDBはOLAP特化型データベースに比肩しうる性能がある
そしてTiDBについての総合評価を次のようにまとめました。
「TiDBはOLAP特化型データベースに比肩しうる性能があります。TiFlashの水平スケール性の高さもあり、サービス成長とともに非線形的にデータ量やワークロードが増加する環境でもTiDBは十分なポテンシャルがあると思います。
当初は『バランスはいいけど(弊社のユースケースには)ハマりきらないだろう』と想像していましたが、OLTPとOLAP両面で高い水準の性能を出せることが分かり、ユースケースの懐は深いという印象に変わりました。
また、フルマネージドのTiDB CloudがあることとPingCAP社によるサポートの存在は大きいと感じました。ただしコスト効率は評価を深めたいところです。規模が増加した時にコストがどう増加するのか、他と比較してどうなるかは今後注視したいです。
TiFlashが進化してオートスケーリング機能やクラスタリングなどデータレイアウトの最適化が向上すると、利用規模が柔軟になりスタートアップで使いやすくなると感じました。今後の進化を期待して活用を進めていきたいと考えています」。
≫アーカイブ動画は「TiDB User Day 2023」でご覧いただけます
≫12月13日には、PingCAP主催イベント「Google Cloudの分析基盤の最新情報と使いどころ徹底解説セミナー」が開催されます。
(本記事はPingCAP株式会社提供のタイアップ記事です)