連載 :
  インタビュー

米YugabyteのCTOを務めるKarthik氏が語る、クラウド時代の分散SQLデータベース「YugabyteDB」の使いどころ

2022年10月5日(水)
吉田 行男

日本においても急速に注目度が高まっている分散SQLデータベース。そのリーディング・カンパニーでYugabyteDBの開発元である、米Yugabyte社の共同創業者でありCTOを務めるKarthik Ranganathan氏(以下、Karthik)と、Yugabyte社の国内初のサービスパートナーに認定されたウルシステムズ株式会社の会長を務める漆原 茂氏(以下、漆原)の両氏に、クラウド時代に求められるデータベース技術と、それがもたらすビジネス効果についてお話を伺いました。

自己紹介

  • Karthik私はYugabyte社の共同創業者の1人でありCTOです。Yugabyteを始める前の2016年にはNutanixで分散ストレージに取り組んでいました。
    Nutanixの前はFacebookに在籍していました。Facebook在籍中に、Apache Cassandraを開発し、日々急増するユーザを支えるデータプラットフォームを構築するとともに、Cassandra自体をオープンソース化することにも取り組みました。これらのプロジェクトを通じて、現在のYugabyteの共同創業者や製品開発のコアとなるエンジニアと多く出会えたことが当社の原点となっています。
  • 漆原私はずっとミドルウェアを開発してきました。中学生の頃から40年以上もプログラムを書いてます。大学卒業後は沖電気工業に入社し、自社OSやDBの開発、X/Openへ主要メンバーとして参画して分散トランザクションの標準化活動などに関与していました。
    その後、2000年にウルシステムズを創業し、現在は代表取締役会長を務めています。2006年にJASDAQに上場し、グループ全体で400名を超える規模に成長中です。先進技術が大好きなエンジニア集団です。JavaやCassandra、Geodeなどのコミュニティにも貢献しており、オープンソースやクラウド、アジャイルなエンジニア文化を大切にしています。

なぜYugabyteを作ろうと考えたのか

  • Karthik「スケーラビリティ」と「可用性」、まさにこれらの課題がYugabyteDBを開発するきっかけです。Facebookに在籍していた2007年当時は、どのデータベースもFacebookのニーズを満たしていませんでした。そこでスケーラビリティと可用性に優れたApache Cassandraを開発したのです。しかし、これはある特定の要件を満たすためだけに開発したものでした。当初は、データの一貫性やトランザクション処理は必要なく、シンプルなAPIを提供するだけで十分だったのです。その後、データの一貫性が強く求められるようになったためHBaseを開発し、一部のサービスを移行することになりました。システムの運用が一層複雑になってしまいますが、Facebook社内には大規模な運用チームがいたため、大きな問題にはなりませんでした。
    しかし時が経つにつれ、アプリケーション開発者からの要求が更に変化し始めました。当初必要としなかったトランザクション処理やJOINが必要となってきたのです。またマルチクラウド、マルチリージョン、ハイブリッドクラウドなど、可用性の要求も大きく変わりました。ダウンタイムゼロのクラウドネイティブなデータベースが求められるようになってきたのです。そうなるとHBaseでは全く要求に応えることができなかったのです。Cassandraも書き込みは問題ありませんが、読み込み処理に対する柔軟性がありません。

  • 米Yugabyte CTO Karthik Ranganathan氏

    米Yugabyte CTO Karthik Ranganathan氏

  • 漆原最初はとにかく高速な書き込み処理でFacebookの急成長を支える必要があったということですね。スケーラビリティが確保できればよかったところ、だんだんとデータ処理の要求が複雑になっていった。本格的にデータ利活用が必要になるにつれ、特化型データベースの組み合わせだけでは限界になってきた、というわけですね。運用も複雑になるし。
  • Karthikアプリケーション開発者からは「CassandraやHBaseにセカンダリインデックスを追加できないか」といった相談が増えてきましたが「言いたいことは分かるが、NoSQLでは出来ない」と言わざるを得ませんでした。その後、私はNutanixに転職しましたが、 Facebook内では新しいデータベースの開発が始まりました。現在ZippyDBとしてFacebookにおいて稼働されているものです。クラウドネイティブで、トランザクション処理に対応しながら、マルチゾーンにも対応したデータベースだと聞いています。
  • 漆原Facebookのような企業が成長と共にどのようにデータベースエンジンを進化、改良してきたかはとても興味深いです。シンプルな特化した要求が複雑化していくにつれ、技術も大きく変わっていった過程がよくわかりました。

YugabyteDBのコンセプト

  • Karthik私がNutanixに在籍していた2016年頃の話です。後にYugabyteの共同創業者となるメンバーと久しぶりに集まり、皆で「今後多くのユーザーがクラウドに移行していくだろう」と話しました。スケーラブルかつトランザクションとインデックスを備え、標準的なSQLをサポートするデータベースのニーズは今よりもはるか増加すると感じた我々は、それを実現する新しいデータベースを開発しよう、ということになったのです。
    周囲の人たちにも相談しましたが、ほとんどの人が否定的で、新しいデータベースへの移行の難しさを指摘していました。しかしその理由をよく分析してみると、実は新しいデータベースのAPIに合わせてアプリケーションを変更することに抵抗を感じていることがわかりました。例えばCassandra、HBase、MongoDBなどの独自のAPIに合わせてアプリケーションを改修するには時間も労力もかかってしまう、ということです。
    そこで私たちは業界で最も標準的に利用されているNoSQLとSQLの2つのAPIを用意することにしました。NoSQLにはCassandra、SQLにはPostgreSQLを選びました。これなら開発者がAPIの差異に苦しむことなく慣れ親しんだ環境でクラウドネイティブなアプリケーション開発に没頭できると確信しました。
  • 漆原NoSQLのスケーラビリティと高可用性は本当に素晴らしいですよね。でもKarthikさんのおっしゃった通り、特定の狭い用途でしか活用できない、と私もかねてから感じていました。独自のAPIに合わせてアプリケーションを作り直すのも大変です。従来のSQLの利便性をよく知っている開発者にとっては、SQLを利用したままNoSQLの持つスケーラビリティと高可用性を得られるのはとても大きなメリットだと思います。
  • Karthik多くの人がSQLを使ったアプリケーション開発を好む一方、スケーラビリティと可用性の課題を抱えています。その課題を解決するために、これまではアプケーション側で独自に対応せざるを得なかったのです。用途に応じてSQLとNoSQLを併用してアプリケーションを複雑にすべきか、それともNoSQLを使わずにアプリケーションをシンプルにしスケーラビリティ、可用性の課題への対応は諦めるのか、常に難しい判断を迫られることになっていました。そこでPostgreSQLを標準的なAPIとして使いつつデータベース側をスケールアウトできればこれらの課題を解決できると考えました。
  • 漆原複雑でトリッキーなアーキテクチャは後々問題になり、いずれ運用が破綻してしまいます。アプリケーションレイヤーだけでの対処には限界があるのです。昔は数年に一度のシステム大改修のサイクルで頑張ってその課題を解決していたのですが、今はそんな時代ではありません。アジリティ(俊敏性)こそが競争力であり、システムにはユーザのフィードバックをすぐに取り入れる柔軟性が不可欠です。アジリティと柔軟性の実現のためにアプリケーションアーキテクチャはシンプルで明確でなければなりません。
    標準的なSQLを使いつつ、リレーショナルデータベースの積年の課題であったスケーラビリティや高可用性の課題を解決したYugabyteDBは、多くの分野で活用されることでしょう。
ウルシステムズ株式会社 代表取締役会長 漆原 茂氏

ウルシステムズ株式会社 代表取締役会長 漆原 茂氏

ユーザー事例に見るYugabyteDBの導入メリット

  • Karthik米国大手小売業のKrogerの面白い活用事例があります。KrogerのECサイトの重要なマイクロサービスの多くでYugabyteDBが使われています。彼らがデータベースに求めたのは、データの一貫性、高い可用性、スケーラビリティでした。オンラインでビジネスを展開する小売業にとって、ブラックフライデーに対応できるスケーラビリティとサービスダウンしない可用性は必達でした。サービスダウンは売上損失にも直結します。
  • 漆原大規模なECサイトでは性能だけでなく信頼性や可用性が大事になりますよね。他に、従来のRDBMSからYugabyteDBに移行したような事例はありますか?
  • Karthikサービスダウンが売上損失に直結する業種業界は小売業だけではありません。金融機関もその1つです。Fortune500にもリストされている、ある金融機関ではこれまでDB2を使っていましたが、アーキテクチャのモダナイズ(近代化)が必要となり、YugabyteDBを採用しました。彼らの導入動機もやはりスケーラビリティと可用性を兼ね備えたクラウドネイティブなマイクロサービス・アーキテクチャに移行したいというものでした。YugabyteDBはアクセス数が非常に多く、ダウンが許されないミッションクリティカルな業務システムに導入されています。とてもエキサイティングなユースケースです。

ビジネスを推進していく上で重要なこと

  • 漆原私たちはクライアントのビジネス成果を最も重視しています。YugabyteDBの素晴らしい技術がビジネスでどのような価値があるのかをお客様に理解してもらうのがとても大事です。技術がもたらすビジネス上の価値をわかってもらった上で正しくアーキテクチャーを決定していくことが、特にDXの成功には不可欠だろうと感じています。
  • Karthik漆原さんのおっしゃることは、全くその通りだと私も考えています。ビジネス側に提供できるYugabyteDBの価値はいくつもあります。
    1つ目のポイントは、アジリティです。アジリティは競合他社との差別化の源泉となることは疑いようがありません。そこで問題になるのが従来のデータベース技術です。ビジネスが成長するにつれ、アプリケーション側で可用性やスケーラビリティへの対応を工夫せざるを得ず、とても複雑なアーキテクチャとなってしまい、アジリティが失われていきます。可用性とスケーラビリティが1つにビルドインされたYugabyteDBであれば、より迅速にデータベースクラスタを構築できます。
    2つ目のポイントは、従来のSQLとNoSQLのAPIがそのまま使えることです。アプリケーションアーキテクチャをシンプルに保ちつつ、必要なスケーラビリティや可用性を享受できます。ビジネスニーズに応じてマルチクラウド、ハイブリッドクラウド、オンプレミス、エッジコンピューティング全てに柔軟に対応できます。クラウドベンダーに中立なのでロックインされることはありません。将来、何らかの理由で、ある特定のクラウドサービスから別のクラウドサービスに変更したいと思ったとき、それをすぐに実行できます。
  • 漆原既存のAPIを使いつつ、スケーラビリティと可用性をアジリティ高くデプロイできるということですね。そんなYugabyteDBにはどのようなプロダクトラインナップがあるのですか?
  • KarthikYugabyteDBのコアとなる部分はオープンソースとして公開し、コミュニティを形成して開発を主導しています。有償版は2つ提供しています。1つは、デプロイやモニタリングなどDay2運用の利便性を高めるYugabyteDB Anywhere。これを使うことでオンプレでもクラウドでも同じ運用性を実現でき、アジリティにも貢献します。データを地理的に分散しつつ、GDPRや各国の法規制のために特定のデータを国内のデータセンターや特定の地域に置いておく場合にも活用できます。
    もう1つは、フル・マネージド・サービスのYugabyteDB Managedです。数クリックで指定したクラウド上にデータベースクラスタを構築できます。素早くサービスリリースをしたい、少ないチームでより大規模なシステム運用したい、といったケースに最適です。いずれもコアのデータベースは100%オープンソースで公開されているコードと同一です。コスト削減のために、将来はオープンソース版を使って自社で運用する、という選択も可能となります。
  • 漆原将来の様々な顧客要求にも素早く柔軟に対応できるというわけですね。スピーディな開発生産性を維持しながら、スケーラビリティや可用性を享受できることがよくわかりました。アーキテクチャがシンプルなので運用コストも低減できますね。
    YugabyteDBのような新しい技術を推進するうえで、必要なものが2つあると考えています。1つは、エンジニアの教育です。使いたいと思っているエンジニアに対して何かサポートはありますか? またもう一方で必要なのがビジネス側を味方につけるための行動で、これが非常に難しく時間もかかります。もっともっと啓蒙活動をやっていきたいです。
  • Karthik「ユガバイト・ユニバーシティ(YBU)」というものがあります。これはオンラインでYugabyteDBの技術情報を自習できるもので、はじめてYugabyteDBに触れるエンジニアに最適です。片方のウィンドウでインストラクションを見ながら、もう一方のウィンドウで実際のCLIコマンドラインを実行し、試しながら学習できます。
    ビジネス担当者向けには、サクセスストーリーのページで事例を紹介するなど、さまざまな取り組みを始めています。また9月には北米で「Distributed SQL Summit」を開催しました。毎年2回、今年で4回目です。多くのお客様から導入事例を発表してもらいました。各社のリーダーがビジネスや組織の観点でYugabyteDB導入の動機、導入時の課題、そして導入効果を共有してくれています。導入を検討いただいている多くの日本の皆様にも非常に参考になる内容だと思います。

    distributedsql.orgにアクセスいただければ、オンデマンド視聴も可能です。ぜひご覧いただければと思います。また、アジア地域では今年の3月に開催し、日本を含むアジア地域から2,000名以上の参加者がありました。分散SQLデータベースへの関心度の高さを感じています。

日本マーケットに期待すること

  • Karthikすでに日本でも、例えば楽天モバイル様のようなお客様が導入しています。日本には技術を深く理解し、本質的な利点に共感してくれる人たちが多いので、今後の展開をとても楽しみにしています。
  • 漆原日本の経済市場規模は世界第3位と大きいです。潜在的な顧客は非常に多く、クラウドビジネスが成長すればするほど分散データベースの需要は高まります。先ほどの楽天モバイル様以外にも、クラウドネイティブソリューションを待ち望んでいる人たちが国内にたくさん出てくるだろうと確信しています。
    私たちはRDBMSの限界もよく知っているので、特定の目的のために早くからNoSQLを導入してきました。しかしもはやRDBMSとNoSQLを別々にデプロイする時代ではなく、両方の特性を持つ分散SQLデータベースソリューションを心から待ち望んでいました。YugabyteDBとのパートナーシップにとてもワクワクしています。YugabyteDBの優れた技術サポートや実際の導入事例に期待しています。私たちなりにコミュニティの活性化にも貢献したいと思っています。
    日本で両社が協力して、良いクライアントプロジェクトを成功させましょう。それが今後の両社のビジネス展開にもプラスになります。リレーショナルデータベースの課題であったスケーラビリティ、高可用性の課題を解決したYugabyteDBは分散SQLデータベースの大本命だと思います。

* * *

技術に造詣の深いお2人の対談はとどまるところを知らず、大変興味深いものでした。クラウドネイティブ環境の構築がさらに進んで行く中で不可欠な存在となる分散SQLデータベースが、今後どのように成長していくのかは大いに気になるところです。その意味で、引き続きYugabyteDBにも注目していきたいと思います。

2000年頃からメーカー系SIerにて、Linux/OSSのビジネス推進、技術検証を実施、OSS全般の活用を目指したビジネスの立ち上げに従事。また、社内のみならず、講演執筆活動を社外でも積極的にOSSの普及活動を実施してきた。2019年より独立し、オープンソースの活用支援やコンプライアンス管理の社内フローの構築支援を実施している。

連載バックナンバー

運用・管理インタビュー

本当に役立つプロダクト開発を目指し、ユーザーとなる社内の営業に向き合う

2024/11/13
15分という限られた時間で印象を残すには? KDDIアジャイル開発センターの、アジャイルな営業ツール開発とは
設計/手法/テストインタビュー

現場の声から生まれた国産テスト自動化ツール「ATgo」が切り開く、生成AIを駆使した次世代テスト自動化の最前線

2024/11/6
六元素情報システム株式会社のテスト自動化ツール「ATgo」概要と開発の背景、今後のロードマップについて、同社の石 則春氏と角田 聡志氏に聞いた。

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

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

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

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