TiDB User Day 2024のアーカイブ動画を公開中!詳細を見る
PR_No.1 DB_3600x1200

DXで必須のデータ活用、そのための大量データを扱う鍵がデータベースシステムだ。Oracle DatabaseやMicrosoft SQL Serverなどの商用リレーショナルデータベースがあり、オープンソースのPostgreSQLやMySQL、他にもNoSQLと呼ばれるデータベースがある。さらにAmazon Web Services(AWS)のAmazon Auroraなどクラウドベンダーのサービスも多様だ。それらの中から、最適なデータベースを選択するのはそう簡単ではない。様々なデータベースがある中、今注目を集めているのが「NewSQL」と呼ばれる存在だ。

DX時代のデータベース選定のポイントとは

インサイトテクノロジー CTO 宮地敬史氏

20年以上データベースエンジニアとして従事し、現在はデータ活用技術の専門家であるインサイトテクノロジーのCTO 宮地敬史氏は、データベース選定の前提として「業務系と分析系で重視すべきことが異なります」と話す。

その上で、データベースを選ぶ際の1つ目のポイントが「安定稼働」だ。これは、特に業務系データベースで重視される。ストレージやCPUなどに障害が発生しても、サービスが止まらない。あるいはサービスダウンや性能低下時間をできる限り短くしたい。そのための高い可用性があることは、ミッションクリティカルな業務システムでは極めて重要となる。

2つ目のポイントは「パフォーマンス」で、業務系でも分析系でも外すことはできない。業務系のデータベースではバッチ処理性能、並列処理実行数が増えても一定レスポンスが得られるなどの性能要件が重視される。分析系では、膨大なデータに対するアドホックなデータ抽出や複雑な検索処理の速度が重要だ。

3つ目は「コスト」。予算が十分にあれば、安定性の高い高性能なデータベースが手に入る。しかし予算は限られ、求める要件に対するコストパフォーマンスはユーザーが最も気にするポイントでもあるという。

これらに加え、開発や運用に携わるエンジニアが重視するポイントもある。1つが「メンテナンス性の高さ」。ユーザーインターフェイスが使いやすく、導入して使えるまでのリードタイムが短いことや、ノード追加などに手間がかからないことなどを、エンジニアは重視する。サポートの品質もチェックしたい。「日本では特に、ユーザーに寄り添ったサポートを求める傾向があります」と宮地氏。エンジニアの意図をくみ取り、問い合わせなどにレスポンスよく対応するベンダー製品は高い評価が得られる。

「米国企業のCIOやCTOは、今後の企業の成長を考え、それに対応できるかどうかで選んでいます」と言うのは、新しいオープンソースソフトウェアのデータベースである「TiDB(タイ・デー・ビー)」を開発するPingCAP(ピンキャップ)のCTO兼共同創業者 Ed Huang氏だ。ITの長い歴史の中、データベースはどちらかといえば縁の下の力持ち的な存在だった。それがDXの時代にはデータの重要性が増し、データベースの機能、性能の高さがデータ活用の“やりやすさ”に大きく影響する。増え続けるデータを活用するには、自社ビジネスの伸張に合わせて分散型で拡張できるデータベースが必要となるわけだ。「会社の10年先を見据えて、その成長を支えられるデータベースが求められます」とHuang氏は付け加える。

もう1つ、CTOやCIOが気にするのが「移行コスト」だ。「新しいテクノロジーで素晴らしいデータベースでも、従来とまったくシンタックスが異なり運用管理のやり方も違えば、価値を出すまでに多くのリソースを必要とします。それでは移行コストが膨大になります」と言う。この点は、宮地氏が指摘したコストパフォーマンスにもつながることだろう。

TiDBはMySQL互換の「分散データベース」

2022年11月に開催された国内最大級のデータベース技術カンファレンス「db tech showcase 2022 Tokyo」の来場者アンケートで、「今後、利用してみたいデータベース製品」の1位に選ばれたのが「TiDB」だった。この結果には、かなり驚かされたと宮地氏。選ばれた主な理由として、TiDBを開発しているPingCAPが国内での体制を強化したことにより、TiDBがどのような特長のあるデータベースであるかの認知が向上したことが考えられると言う。

また、TiDBは利用できる環境を用意しやすいことも興味を持たれている理由の1つだろう。注目度の高いAmazon AuroraやAzure Synapse Analyticsなどは、それぞれのクラウドサービス上でしか利用できない。一方、TiDBはオープンソースソフトウェアで、AWSやGoogle Cloud上でフルマネージドサービスである「TiDB Cloud」としても提供されている。エンジニアが自らセットアップして、様々な環境で使えることはエンジニアの負担を下げることにもつながる。

さらに「機能の良さもあるでしょう。エンジニアは良いものでなければ使いたいと思いません」と宮地氏。たとえばTiDBは広く使われているMySQLと互換性があり、MySQLベースの既存アプリケーションをほぼ書き換えずに利用できる。この点もエンジニアが、関心を持つところだという。

またPostgreSQL互換の分散データベースはいくつかあるが、MySQL互換のものはなく、それも興味を持つポイントだと指摘する。様々なところでデータが生まれ、その量は増加するばかりだ。それらを効率的に蓄積し、分析などを高い性能で処理したい。この要望に応える際に、データベースがMySQLであれば、シャーディングしか方法がない。しかしMySQLのシャーディングは、1ノードあたりのリード/ライト(Read/Write)処理に限界があり、ノード追加にも手間がかかる。シャーディングを行えば、アプリケーションの改修も必要だ。一方TiDBはノード追加も容易で、それだけで処理が負荷分散される。Amazon Aurora MySQLともよく比べられるが、Auroraはリードレプリカができてもライト処理のオフロードはできない。それもエンジニアが関心を持つポイントだろう。

もう1つ拡張の柔軟性もTiDBが評価されるポイントだ。ユーザーやデータが増えた際に、データベースノードだけ、あるいはストレージだけをオンラインで追加し拡張できる。この点はトータルでのコストパフォーマンスにも影響する。そしてハイブリッドトランザクション/分析処理のHTAPに対応している点もTiDBの魅力だ。OLTPのデータはTiDBのローストアに保存され、ほぼリアルタイムにカラム型の「TiFlash」にも保存される。TiFlashのデータを使えば、高速な分析処理ができるのだ。「このようにTiDBでは、エンジニアがやりたいことをすべて満たしています」と宮地氏は言う。

未来のデータベースは「NewSQL」だと確信

Google CloudのCloud Spannerは素晴らしかったが、Google Cloudでしか使うことができない。ならば同様なものをオープンソースソフトウェアとして作ろうと考え、生み出されたのがTiDBである。当初は拡張性のある分散型のOLTPのデータベースとして開発され、MySQLとの互換性を持ち、シャーディングに代わるものとして提供された。

PingCAP CTO兼共同創業者 Ed Huang氏

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はぴったりだと言う。

PingCAPについて

PingCAPは、エンタープライズ向けのソフトウェアサービスプロバイダーとして2015年に設立され、オープンソースでクラウドネイティブなワンストップのデータベースソリューションを提供することにコミットしています。

PingCAPの代表的なプロジェクトであるTiDBは、オープンソースの分散型ハイブリッドトランザクション/分析処理(HTAP)データベースで、水平方向の拡張性、強力な一貫性、MySQLとの互換性を備えた高い可用性を特徴としています。

インサイトテクノロジーについて

インサイトテクノロジーは、1995年の創業以来、企業におけるデータの価値を最大化するために何が必要かを常に考え、データベースの専門家集団として、必要な製品やサービスを提供し続けてきました。

また、同社が主催するデータ技術者向けカンファレンス「db tech showcase」には、世界中からデータ技術のエキスパートが講師として登壇し、毎年1,000名規模のエンジニアが参加しています。

出典:EnterpriseZine – 「今後利用したいデータベース」1位の『TiDB』はなぜ支持される?──“10年先を見据えた選択”を」(2023年1月30日)参考資料:db tech showcase 2022 – TiDB関連セッション動画および資料

本件に関するお問合わせ先 

PingCAP株式会社 広報部

Email:pingcapjp@pingcap.com