未来のデータベースは「NewSQL」だと確信
Huang氏は以前、大手インターネット関連企業でMySQLベースの環境の構築、管理などの業務に携わっていた。この会社は急激に伸びており、成長に合わせてMySQLデータベースの環境をシャーディングで拡張する必要があった。「1、2ヵ月でMySQLクラスターが倍増するような状況で、対応は大変でした。その上、サービスを止めることは許されませんでした」と言う。シャーディングの際のデータのリバランスも臨機応変に行うなど「今では信じられないようなことをしていました」と振り返る。
MySQLをシャーディングで拡張すると、JOINやGROUP BYの処理には制限があり、アプリケーション開発エンジニアは不満だった。彼らには柔軟な拡張性とアプリケーション開発は二律背反すると説明していたが、これらを両立したい課題があった。そのようなときに発表されたのが、NewSQLと呼ばれる分散データベースのGoogle Spannerの論文だった。「これはSQLとNoSQLの良いところ取りをしたもので、SQLが使え、その上で極めて柔軟な拡張ができるものでした」とHuang氏。これならデータベース管理者の負担もなく、未来のデータベースはNewSQLだと確信する。
Google CloudのCloud Spannerは素晴らしかったが、Google Cloudでしか使うことができない。ならば同様なものをオープンソースソフトウェアとして作ろうと考え、生み出されたのがTiDBである。当初は拡張性のある分散型のOLTPのデータベースとして開発され、MySQLとの互換性を持ち、シャーディングに代わるものとして提供された。
実績のないデータベースは、それが素晴らしいものでも本番システムとしてはなかなか使われない。そのためまず、基幹系システムのバックアップ用途でTiDBの利用が始まる。柔軟で高い拡張性があるため利用は徐々に拡がる。そうなるとOLTPだけではもったいないので、OLAPでも利用されるようになる。そのニーズにもより対応できるようにTiFlashの機能も追加、TiDBはHTAPのデータベースへと進化したのだ。
OLTPはOracleで、OLAPはSnowflakeでなど、データベースの選択、組み合わせに頭を悩ませるエンジニアは少なくない。「TiDBはどちらの処理も高速に行え、それを1つのデータベースで実現できます。ETLもいらないシンプルな構成が実現でき、これはユーザーが望む形です」とHuang氏。MySQLを大規模に利用してきたユーザーが待ち望んでいたデータベースであり、10年先を見据えた選択にTiDBはぴったりだと言う。
様々な新しいデータベースが登場しているが「エンジニアがデータを扱うには、今後もSQLが最適なものです。それをTiDBはフルでサポートします」と、SQLがフルスペックで使えることの重要性をHuang氏は改めて強調する。TiDBはSQLが使える分散データベースであることで、二律背反だった拡張性とアプリケーション開発の柔軟性の両立という課題を克服している。またOLTPとOLAPを1つのデータベースで対応できるHTAPである点は、複数データベースを扱う必要がなくアプリケーション開発をシンプルにすると自信を見せた。
現状でもTiDBはフルスペックのSQLが利用でき、十分な性能も発揮されていると宮地氏も評価する。しかしMySQLと高い互換性があるとは言え、ストアードプロシージャなど一部対応していないものもある。これに対し「大規模な分散データベースでストアードプロシージャに対応するのは簡単ではありませんが、たとえば将来的にLuaコードを書いてストアードプロシージャに近いことができるようにすることを考えています」とHuang氏。既にいくつか試していることもあり、AIによる自然言語処理技術などを用いてストアードプロシージャのリライトなどを実施し、良好な結果が得られているという。このようなAI技術との組み合わせにより、データベースは今後さらに進化していくとHuang氏は考えている。宮地氏は「ビジネスプロセスをストアードプロシージャで組むべきではないと思っていますが、既存のシステムの移行にはストアードプロシージャの対応は必要でしょう。対応できればより幅広いユーザーに支持されるはずです。TiDBのさらなる進化に期待します」と話した。
ビジネスが成長し続けているような企業では、高い拡張性のあるTiDBをぜひ使ってほしい。その上でエンジニアが不足しているような場合も、運用管理の手間が少ないTiDBは向いている。そして「アプリケーション開発者にもTiDBを使ってみてもらいたい。またデータを扱うことがビジネスのコアとなっているような企業には、TiDBがHTAPに対応しているところもぴったり合うはずです」とも言う。db tech showcaseに参加するような日頃からデータベースに高い関心を持つエンジニアに注目されているTiDB、今後はこれをDXのためのデータベースの選択肢に入れるべきだろう。
PingCAPについて
PingCAPは、エンタープライズ向けのソフトウェアサービスプロバイダーとして2015年に設立され、オープンソースでクラウドネイティブなワンストップのデータベースソリューションを提供することにコミットしています。
PingCAPの代表的なプロジェクトであるTiDBは、オープンソースの分散型ハイブリッドトランザクション/分析処理(HTAP)データベースで、水平方向の拡張性、強力な一貫性、MySQLとの互換性を備えた高い可用性を特徴としています。
インサイトテクノロジーについて
インサイトテクノロジーは、1995年の創業以来、企業におけるデータの価値を最大化するために何が必要かを常に考え、データベースの専門家集団として、必要な製品やサービスを提供し続けてきました。
また、同社が主催するデータ技術者向けカンファレンス「db tech showcase」には、世界中からデータ技術のエキスパートが講師として登壇し、毎年1,000名規模のエンジニアが参加しています。