PR
連載 :
  インタビュー

MySQL互換のTiDBを開発するPingCAP、日本での本格始動を開始

2021年10月14日(木)
松下 康之 - Yasuyuki Matsushita
TiKV/TiDBを開発するPingCAPが日本での活動を本格化するのに合わせて、代表にインタビューした。

TiDBはMySQL互換の分散データベースで、オープンソースとして公開されている。このTiDBを開発するPingCAPが、日本での活動を本格化させている。今回はWeWorkのオフィスに訪問し、日本法人であるPingCAP株式会社に所属する3名の社員にインタビューを行った。またPingCAP株式会社の技術顧問として就任したサイバーエージェントの長谷川誠氏も同席し、これから日本での活動に対してアドバイスを行う予定であることを明らかにした。

参加したのは、副社長の韓偉(Eric Han)氏とシニアソリューションアーキテクトの水戸部章生氏、シニアアカウントマネージャーの前田大輝氏だ。PingCAPは、CNCFにホストされていたTiKVの開発をリードしていることでも知られている(現在はGraduate済み)。TiKVについては2019年のKubeCon Chinaのキーノートでも紹介されているが、分散型キーバリューストアであるにも関わらず、トランザクショナルなアクセスが可能という特徴を備える。

PingCAPの社員、左から水戸部氏、前田氏、韓氏

PingCAPの社員、左から水戸部氏、前田氏、韓氏

参考:KubeCon China注目の初日キーノートはプロジェクトアップデート

PingCAPの沿革

PingCAPの沿革

PingCAPは、2015年に3人のデータベースエンジニアによって創立されたベンチャーだ。CEOのMax Liu氏はWandou Labs、JD.comなどで分散システムを手掛けていたという背景から考えれば、大量のトラフィックをどう捌くかについては多くの経験を持っていると言える。他の2名、Co-founderのDylan Cui氏とCTOのEdward Huangも同じWandou Labsの出身者だ。Wandou Labsは、中国のスマートフォンアプリの検索サービスを提供している企業だという。

ちなみに社名のPingCAPは、韓氏によればネットワークコマンドのPingと、分散システムにおけるCAP定理を組み合わせたもので、CAPにPingを打ち続けるという意図があるという。

またこの沿革で興味深いのは、MySQL互換のデータベースであるTiDBが先にオープンソースとして2015年9月に公開され、TiDBのデータストアであり、Google Spannerから発想したというTiKVが公開されたのはその後だということだろう。TiDBはMySQL互換のリレーショナルデータベースとして利用できるが、コアのデータストアにはTiKVを使って分散させている。韓氏によれば当初はHBaseをデータストアに使っていたが目的に適さないとして、後からTiKVを自作したという経緯だそうだ。

続いてソリューションアーキテクトの水戸部氏が、PingCAPの製品ラインナップを紹介した。ここではマネージドサービスとして提供されるTiDB Cloudと、サブスクリプションとしてオンプレミスもしくはパブリッククラウド上のインスタンスとして提供されるTiDB、TiKVそしてChaos Meshを紹介した。

PingCAPの製品ラインナップ

PingCAPの製品ラインナップ

:意外かもしれませんが、PingCAPはTiDB/TiKV以外にChaos MeshをオープンソースとしてCNCFに寄贈しています。CNCFがホストするオープンソースプロジェクトへのコントリビューションもGoogleやRed Hat、VMware、Microsoftなどに次いで6番目という評価を得ています。

長谷川:Chaos Meshは、カオスエンジニアリングというよりも高機能なテストツールと言えますね。とても良くできていると思います。

ここからは水戸部氏によるTiDBの解説となった。

TiDBの概要。OLTPとHTAPを両立させている

TiDBの概要。OLTPとHTAPを両立させている

このスライドのHTAPはHybrid Transactional and Analytical Processingの略でトランザクション処理とリアルタイムの分析処理を両立させていることを表現しているという。水戸部氏はHuaweiの前に日本のゲーム会社で働いていた経験があり、大量のトラフィックをトランザクションとして処理するシステムと分析のためのビッグデータ分析を行うシステムを両立させる難しさについては深く理解している。そして、その難しさを解決したソフトウェアがTiDBであることを強調した。

DBMSの進化の系図において最新となるのがTiDB

DBMSの進化の系図において最新となるのがTiDB

従来のOracle/MySQLなどのリレーショナルデータベースから、キーバリューストア/NoSQLを経てNewSQL(Google Spanner、CockroachDBなど)に至り、TiDBをその進化系として位置付けているのがわかる。

特にMySQLの限界である容量制限とシャーディングについては、インターネットサービス時代の膨大なデータ量を捌ききれずに運用側に多大な労力を掛けているとして、TiDBが登場した背景を紹介した。

従来型データベースの限界を解説

従来型データベースの限界を解説

それを解決するのがTiDBであるとして、自動シャーディング、サイジングが不要でオンラインで拡張ができること、さらに同じシステム上で分析もできることを解説した。

TiDBが解決したMySQLの限界

TiDBが解決したMySQLの限界

このアーキテクチャー図ではコントローラとしてTiDBが複数用意され、その下にデータストアとしてTiKVが複数台稼働することで規模の拡大に柔軟に対応できることを解説した。

複数のTiDBがトランザクションを処理し、複数のTiKVがデータストアを担当

複数のTiDBがトランザクションを処理し、複数のTiKVがデータストアを担当

また複数のプロセスが同期して稼働する部分には、コンセンサス合意のアルゴリズムであるRaftを採用しているという。RaftはKubernetesのデータストアであるetcdでも採用されている技術で、複数のプロセスについてマスターを固定せずにダイナミックに協調させるためのアルゴリズムであり、クラウドネイティブなシステムでは常識的な手法だ。

TiDBのアーキテクチャー

TiDBのアーキテクチャー

TiDBのエコシステム

TiDBのエコシステム

このスライドでは、アプリケーションからはTiDBがMySQLのインスタンスとして利用できることと、SparkからはTiKVがビッグデータのデータストアとして利用できることが示されている。これまでの常識的なシステムエンジニアリングであれば、トランザクション処理はMySQL、ビッグデータ処理はSpark/Kafkaによって分離することになるが、TiDBにおいては一つのシステムとして完結できるところが最大の特徴だろう。

:TiDBのユースケースを見てもらえば、インターネットのファイナンシャルサービスやオンラインゲームなどのトラフィックを処理するユースケースが多いことがわかります。従来型のリレーショナルデータベースではもう限界である分野と言えます。

水戸部:特にトランザクション処理と分析処理を一つのデータベースシステムで対応できるというのが最大の利点だと思いますね。通常であれば、MySQLのシャーディングを運用するというのは相当面倒な仕事ですから。

国内の事例として挙げられたU-NEXT

国内の事例として挙げられたU-NEXT

U-NEXTの事例からも、MySQLの容量増大に対応するシャーディングの限界について解説が行われた。他にはPayPayのエンジニアが2020年に行ったプレゼンテーションでは、TiDBがAuroraをリプレースする背景を解説している。

参考:TiDB at PayPay : Why we chose & How we operate

この資料では、AWSのAuroraの欠点とTiDBのアドバンテージがかなり明確に解説されている。

これ以降はビジネス面での質疑となった。

日本法人が2021年4月に設立ということですが、今後のビジネス面での戦略を教えてください。

:TiDBはビジネスのコアとなるデータベースを受け持つことになりますから、やはりエンタープライズ企業やサービスプロバイダーへの営業活動を、パートナーと一緒になって行う必要があると思いますね。

エンタープライズに採用されるためにはユースケースが必要とよく言われますが、それに関しては?

:ユースケースやパートナーシップについては近々発表できるものがいくつかありますので、それを期待していてください。

日本の大企業、特に伝統的な製造業や金融業は情報システム子会社がシステムの実装を受け持つということが多いと思います。そういう企業に対するアプローチは?

:それも必要だと感じています。トップに向けてのメッセージを発信することも必要です。一方TiDBはオープンソースですので、自社で評価するということも商用のソフトウェアに比べて容易です。ボトムアップとしての啓蒙も必要だと思います。

MySQLの限界を解決するためのシステムとしては、TiKV/TiDB以外にCNCFからGraduationしたVitessが存在する。YouTubeが利用していたシャーディングされた複数のMySQLをリプレースしたのがVitessだ。韓氏によればVitessはミドルウェアとしてジオロケーションに特化したデータベースであるのに対して、TiDBはスケールする水平分散とトランザクション処理と分析処理を同時に実行できる、さらに進化したデータベースという位置付けだという。日本のオープンソースコミュニティでの経験が豊富な長谷川氏の参画によって、今後の日本での活動がどのように活性化するのか、PingCAP株式会社の動向に注目したい。

TiDBの公式サイト:https://pingcap.com/products/tidb

TiDBの公式ドキュメント:TiDB Introduction

Chaos Meshの公式サイト:A Powerful Chaos Engineering Platform for Kubernetes

TiDBのノベルティ。デザインに控えめさとまじめさが表れている

TiDBのノベルティ。デザインに控えめさとまじめさが表れている

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています