「クラウドネイティブ」という言葉がなじんだ今、市場に登場した新たなデータベースやデータベースを支えるプラットフォームにまつわる情報を紹介していきます。今回は、Yugabyteの共同創業者で製品開発を担当しているKannan Muthukkaruppan氏に話を伺いました。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
「クラウドネイティブ」という言葉がなじんだ今、市場に登場した新たなデータベースやデータベースを支えるプラットフォームにまつわる情報を紹介する本連載。前回はデータベースエンジニアとして長年活躍されている渡部さんのインタビューをお送りしました。エンジニアとしてのキャリア、さまざまなデータベースへの知見など勉強になる部分が多くありました。
今回は、米国発のNewSQLベンダーの共同創業者の来日に合わせて、東京で開催されたラウンドテーブルの様子をお届けします。参加者からは既存のデータベースの問題点、将来の方向性などについてさまざまな質問が飛びました。
来日したのはYugabyteの共同創業者の一人で、製品開発を担当しているKannan Muthukkaruppan氏です。
Muthukkaruppan氏はOracleやMeta(旧Facebook)で、データベースについて豊富な経験を積み、Karthik Ranganathan氏(現同社CTO〈最高技術責任者〉)、Mikhail Bautin氏とYugabyteを立ち上げました。そして、2020年にエンタープライズビジネスで実績を持つBill Cook氏をCEOとして招聘(しょうへい)しました。2021年には日本法人を開設し、国内外で「PostgreSQL」互換の分散SQLデータベース「YugabyteDB」を中心としたサービス群を展開しています。
今回もインタビューの前提知識として、Yugabyteが提供するサービスを幾つかご紹介します。
本連載の過去回で日本法人の方々にインタビューをしているように、YugabyteDBはPostgreSQL互換のインタフェースを持ち、クラウドネイティブなアプリケーションに対応して水平方向のスケーラビリティを兼ね備えたデータベースです。高い可用性も備え、グローバル企業に必要となる地理分散型の大規模データベースを構築できます。
筆者の別連載でも、NewSQLの一つとしてYugabyteDBを紹介しています。
従来のリレーショナルデータベースの課題を解決するアプローチとしてNoSQLが生まれたものの、トランザクションサポートや一貫性などに課題がありました。YugabyteDBはアプリケーション開発を容易にするためにそれらの課題を解決し、SQLが利用可能なデータベースとして生まれてきた新世代のリレーショナルデータベースになります。
Yugabyteはフルマネージドの分散SQLデータベースサービスである「YugabyteDB Managed」を提供しています。
YugabyteDBには前述のように、これまでのリレーショナルデータベースにはない多くのメリットがありますが、一方で分散システムとして多様なコンポーネントを適切に配置して管理する必要が生じます。
YugabyteDB Managedでは各クラウドで展開されたデータベースサービスをユーザーが利用することができ、サービスの運用はYugabyteが責任を持ちます。また、「Amazon Web Services(AWS)」や「Microsoft Azure」「Google Cloud」といった主要クラウドへのサービス展開を完了し、さまざまな開発者がSQLデータベースを利用する際の有力な選択肢となっています。
分散SQLデータベースを使う上で大きな障壁となるのが、既存システムにおけるデータベースの移行作業です。現在稼働しているさまざまなデータベースからYugabyteDBへの移行をサポートするツールが「YugabyteDB Voyager」です。
YugabyteDB Voyagerでは、移行元のデータベースとして「Oracle」や「PostgreSQL」「MySQL」などが利用可能であり、AWSやGoogle Cloud、Microsoft Azureなどのマネージドなデータベースサービスにも対応しています。移行先としては、上述のYugabyteDB Managedやオンプレミスでユーザー自身が管理するクラスタを選択することも可能です。
データベースエンジンを変更する移行作業は以下のような流れで進みますが、YugabyteDB Voyagerでは各ステップのユーザー作業を効率的に支援します。
今回は、Kannan氏にはYugabyteDB Managedの利用状況や、その内部アーキテクチャも伺いました。
小林 YugabyteDB Managedとユーザー自身が管理するデータベース(self‐hosted)の利用率はどのような状況ですか?
Muthukkaruppan氏 前提として、YugabyteDB Managedは2022年以降に利用できるようになった新しいサービスだ。そのため、大きく見るとManagedの利用は全体の20%ぐらいで、self-hostedなデータベースが80%といったところだ。
さらに細かく見ると、self-hostedなデータベースの中にもオンプレミスで顧客のデータセンターで稼働しているものと、パブリッククラウドで動いているものに分かれる。これも割合で見ると、オンプレミスが40%でクラウドが60%とみている。self-hostedなデータベースがVM(仮想マシン)上で動いているのか、Kubernetesで動いているのかで見ると、およそ8割がVMで残り2割がKubernetesだと捉えている。
小林 YugabyteDB ManagedはプラットフォームとしてKubernetesを利用しているのでしょうか?
Muthukkaruppan氏: Kubernetesも使用しているが、データベースはVM上で稼働する。具体的には「YB-TServer」や「YB-Master」はVMにデプロイされる。これらのコンポーネントはパフォーマンスを最適化するためにC++で開発されている。一方で、YugabyteDB ManagedのコントロールプレーンはKubernetesで稼働する。コントロールプレーンはJavaベースの「YugabyteDB Anywhere」という製品や、それ以外にも「Terraform」などで構成されている。
ラウンドテーブルには、YugabyteDBやその他の分散データベースに関心を持つ7社のエンジニアが集まりました。企業での導入に向けてPoC(概念実証)をしていた各社から、Kannan氏へ示唆に富んだ質問が飛んでいましたので、幾つかご紹介します。
参加者 地理分散機能とそれを使ったマルチリージョンなデータベース展開は、YugabyteDBを使う大きなメリットだと考えている。それらで使われている同期/非同期のレプリケーションの仕組みにおいて、今後追加される新機能などはあるか。
Muthukkaruppan氏 NoSQLとYugabyteDBの分散技術やマルチリージョンの考え方は似ている部分があり、データベース単体で解決できない問題であるという点も同じだ。地理分散を要件とするビジネスには、それに適したアプリケーションとデータベースが必要になる。YugabyteDBではマルチリージョンの構成においても、データのローカリティに注目してリージョン内での処理を効率化するなどの仕組みがあり、そうした機能強化は今後も取り組んでいく。
参加者 YugabyteDBの大きな特徴はスケーラビリティだが、手動でスケールアウト/インを判断するのは難しく、運用も複雑になる。サーバレスのような管理負荷が下がる機能は今後出てくる可能性があるのか。
Muthukkaruppan氏 肝心なのはスケールアウト/インがシームレスにできるかどうかということであり、現時点で達成している。自動でキャパシティーを変更する機能はまだないが、オンラインで変更が可能だ。サーバレスもロードマップにはあるが、少し時間がかかるはずだ。
参加者 最近のNewSQLという文脈では分析系のワークロードの対応など、「HTAP」(ハイブリッド型トランザクション/アナリティカル処理)と呼ばれる機能が付随するサービスがある。YugabyteDBでは次のフェーズにそのような新機能を取り込む可能性はあるのか。
Muthukkaruppan氏 分析系では、それを専門とした優れたデータベースサービスが既に存在していると思う。企業が導入するデータベースを統合してシンプルな構成にすることにYugabyteも取り組んでいくが、1社だけでは達成できないこともある。ただし、YugabyteDBが得意とするような多数のノードで複雑なクエリを並列に処理する機能を生かして、分析処理やpgvectorなどの特殊なワークロードに挑戦する可能性はある。
参加者 現在のYugabyteDBはPostgreSQLのバージョン11に準拠したものだと聞いている。これを最新のバージョン16に対応するなど、PostgreSQLの新バージョンを追いかけるようなリリースは計画されているのか。
Muthukkaruppan氏 PostgreSQLのバージョン15互換に向けた開発を現在進めている。2024年7月のリリースを予定しているが、予定が変更となる可能性もあるのでYugabyteからも情報を発信していく予定だ。
参加者 分散データベースはよくできた仕組みだが、実際に自分で運用するのは難しい。Yugabyteが提供するマネージドサービスもあるということだが、どちらがおすすめなのか。
Muthukkaruppan氏 ご指摘の通り、われわれはマネージドサービスであるYugabyteDB Managedを提供している。ただ、オンプレミスや自社が管理するパブリッククラウド上でデータベースを展開、管理しているお客さまも存在する。われわれは引き続きお客さまへ選択肢を提供する。
参加者 エンタープライズに新しいデータベースを導入する際にカギとなるのはマイグレーション(データベースの移行作業)だと思う。ユーザーとしても製品のサポート終了などを受けて適切にデータベースを選定していきたいが、Yugabyteではマイグレーションをどのように考えているか。
Muthukkaruppan氏 われわれもデータベースのマイグレーションは簡単ではないと認識している。大きく分けてマイグレーションには、「1:アプリケーションの改修」「2:データベーススキーマの移行」「3:データの移行」の3つがあり、YugabyteDB Voyagerが2と3を手助けしていく。現在のYugabyteDB Voyagerはオフラインのデータ移行を前提としているが、オンラインで移行ができるように対応を進めている。1のアプリケーションを修正する作業には簡単な答えはないが、YugabyteDBはPostgreSQL互換なので、PostgreSQLのアプリケーションなら改修の負荷は下がる。もちろんYugabyteとしてもこうしたマイグレーションをサポートする体制は構築している。
今回はYugabyteDBの共同創始者の来日に合わせて行われたラウンドテーブルの様子をお届けしました。1時間半にわたったラウンドテーブルでは、Kannan氏と参加者の間で筆者も舌を巻くような高レベルのデータベース談議が繰り広げられました。こうした日本ユーザーからのフィードバックが、以降のYugabyteDBのバージョンアップで取り入れられていくことを参加者の一人として望んでいます。
ユーザーであったとしても、データベースの検証を基にしたフィードバックを開発者に伝える機会は少なく、貴重な機会を提供してくれたYugabyteの取り組み、オープン性については非常に好感が持てます。
本連載では、こうしたデータベースベンダーとのコアな対話もどんどん取り上げていきます。次回もお楽しみに。
Copyright © ITmedia, Inc. All Rights Reserved.