楽天モバイルが認めた、新基準のオープン・ソース分散SQLデータベース「YugabyteDB」〜高可用性、パフォーマンス等、妥協なきプラットフォームの実現

吉田 行男

2022年1月26日 6:30

2021年11月17〜19日にオンラインで開催された「DB TECH SHOWCASE」にて、分散データベース「YugabyteDB」が紹されていたので、レポートしたいと思います。

YugabyteDBは、Google Spannerに着想を得て開発されたトランザクションやクラウドネイティブアプリケーションのための分散SQLデータベースです。インタフェースはPostgreSQL及びCasaandra互換で、分散ということで水平方向へのスケーリングが得意なだけではなく、トランザクションも担保できるようになっています。また、ノード数が増えても高可用性を維持し、問題発生時の回復力も充実しています。グローバルでも採用事例が増えてきているそうです。

YugabyteDBの3人の設立者は、RDBMS分野、特にOracle DBの技術者としての実績をもとに、Facebookでスケールするデータプラットフォームを構築する中で、アーキテクチャがどうあるべきかということを模索し、CassandraやHBaseといった成果物を生み出してきました。その後、ハイパーコンバージドインフラストラクチャーを提供するNutanixにて、エンタープライズで利用されるために必要とされる機能を蓄積し、生み出されのがYugabyteDBです。

クラウドネイティブというアプローチが広がる中、アプリケーションはスケールしやすいのに、DBはなかなかスケールできていないということが課題になってきていました。DBがスケールできないことにより、マイクロサービス化され、スケールしたアプリケーションからの要求にエラーが発生しないようにキャッシュやAPIを活用するという方法をとることになりますが、これだけでは根本的な問題の解決にはつながりません。

本来は、アプリケーションに合わせてDBもスケールできると良いわけですが、DBインスタンス同士の連携が必要になり、現状では機能を追加したり、クラウド側のサービスを活用したりすることで対応できます。しかし、単一のクラウド環境でも複雑な対応が必要であるのに、マルチクラウドになると更に話は複雑になり 、クラウド間で連携しなければいけないという大きな問題が発生します。現状では、このようにアプリケーションのスケールやアクセスパターンの変化にデータベースが追随できないというのが現状です。

この課題を解決するために開発されたのがYugabyteDBで、これを活用することで、アプリケーションのスケールに柔軟に対応することや、アクセスパターンに応じたシームレスな連携が可能になります。また、マルチクラウド環境でも異なるクラウド間のインスタンスにも一貫性のあるアクセスが可能になります。モノリシックなデータベースには「スケールしにくい」というような問題があり、一方、KVSのように「スケールしやすい」NoSQLでは、トランザクションには見劣りする部分があったり、SQLが使えないというのが弱点になりますが、これら一見すると相容れない要件を1つのプロダクトとして昇華させた形で提供できるのがYugabyteDBの強みです。

アーキテクチャとしては、シンプルでQueryを処理する部分とデータを処理する部分に分かれています。Query処理部分は基本的にPostgreSQLやCassandraの実装をそのまま利用しています。DocDBは、Facebookで実装されたものに影響されて開発したものです。このようにQuery部分を分けたことにより、今後新しいQueryに対応する場合もその部分のみを開発することで新しいQueryに対応できるようになります。

ドキュメントストアレイヤでは、tabletと呼ばれるシャーディングの単位でレプリケーションを実施しています。下図にあるように、各ノードの中からleaderが1つ選ばれ、他のノードがfollowerノードになります。さらにこのleaderが特定のノードに集中しないように配置される仕組みになっています。

次に、ユースケースとして以下の3つのパターンの紹介がありました。

  • 既存システムの拡張を想定した、ビジネスクリティカルなデータ運用
    Eコマースやペイメントシステムのようなクリティカルな環境でもサービスの状況に柔軟に対応しなければいけない場合やモダナイゼーションでレガシーDBを分散DBへの移行のニーズ場合
  • 予測しにくいデータアクセスに対するトランザクションプラットフォーム
    IoTやテレメトリ管理などのようにインフラが異なっても同じ操作性でアクセスやクラウドネイティブの環境にデプロイしたい場合
  • ビジネス継続のためのマルチクラウド、地理的分散同期・非同期データ連携
    グローバルでデータ連携をする必要があったり、散在したデータ資産を統合したいような場合

具体的には、ウォルマート、Amazonに次ぐ米国小売業3位のスーパーマーケットチェーンであるKrogerでは、shopping listサービスの導入時はSpannerや他の技術も検討されましたが、特定ベンダーのプロプライエタリな技術にロックインされることを回避すると同時に、クラウドサービスで起こり得る大規模障害から自社サービスへの影響を最小化できることを理由にYugabyteを採用しました。これが、Yugabyteの最初のお客様だそうです。また、米国シリコンバレーで各種金融機関にマーケット情報を提供するXigniteでは、1日あたり14Billionリクエストを全世界100箇所以上の取引所間で処理しています。さらに、ネット通販の配送・返品をサポートするNarvarでは、ブラックフライデーなどでの予測できないアクセスに対して、マルチクラウドとマルチアベイラビリティゾーンで対応しているそうです。

国内における事例としては、楽天モバイルにおける大規模導入事例が紹介されました。同社VP of Engineering Data & AI PlatformのJoji John氏から、国内の複数データセンターに跨った大規模クラスタの紹介、また導入に至った経緯として、通信事業を支えるサービスを提供するために、予測できないワークロードとハイパフォーマンス、回復性、複数拠点、クラウドネイティブといった課題を克服する必要があり、キャリアグレードの厳しい選定基準も設けながらも、最後まで残ったのがYugabyteDBだったという説明がされていました。

最後に、Yugabyteの目指すところが示されました。単なる分散データベースではなく、さまざまなワークロードに対応し、柔軟にスケールするような環境を提供することで、マルチクラウドでのデータ管理を実現する分散データプラットフォームの実現です。使い慣れたPostgreSQLのようなインタフェースで簡単に分散化できる環境が構築できれば、これまでクラウド移行を阻む要因となることの多かった従来型のデータベース技術に置き換わる新しい選択肢として、企業のクラウドジャーニーが加速されることが期待できるのでは、と考えます。

この記事のキーワード :

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30