「スケールアウトできる『PostgreSQL』」――Yugabyte Japanに聞く「分散SQLDB」のメリット:「Distributed SQL Summit Asia」の模様をレポート
なぜ「分散SQLDB」が注目を集めているのか。日本国内における分散SQLDBの普及に注力しているYugabyte Japanに「分散SQLDB」とその利点を伺いました。記事後半では2022年3月に開催されたアジア圏向けイベント「Distributed SQL Summit Asia」の内容を紹介します。
本連載第4回では、DBエンジニアの祭典「db tech showcase」のイベントレポートをお届けしました。同イベントで多くのデータベース(DB)が紹介された中でも、分散DBのトピックが注目を集めている印象を受けました。
そこで今回は、日本国内における分散SQLDBの普及に注力しているYugabyte Japan カントリーマネジャーの松尾達也氏、ヘッドオブソリューションエンジニアリングの市村友寛氏に話を伺いました。記事の後半では、Yugabyteが2022年3月末に開催した「Distributed SQL Summit Asia」のJapanese Trackの講演内容を要約して紹介します。
そもそも「YugabyteDB」とはどのようなDBなのか
「YugabyteDB」とはそもそもどのようなDBなのでしょうか。NewSQLを代表するDBとして語られるYugabyteDBについて、松尾氏は以下のように説明します。
「RDB(リレーショナルデータベース)のトレードオフを排除した、クラウドネイティブなアプリケーションをサポートするDBです。お客さまからは『スケールアウトできるPostgreSQL』という感想を頂くこともあります」
YugabyteDBはPostgreSQLとの互換性が高く、アプリケーション開発の生産性向上に貢献するためのアップデートが多く行われている印象を受けます。しかし、国内では新しいDBの知名度はまだ低く、ユーザーが採用する段階で課題があるようにもみえます。Yugabyteはどのように顧客にアプローチをしているのでしょうか。松尾氏は大きく分けて2つのケースがあると言います。
- イベントなどを通じて、Yugabyteからユーザーに接触するケース
- ユーザー自身が分散DBを調査していて、YugabyteDBを見つけるケース
国内でもメディアやイベントなどの露出を通じて、YugabyteDBのみでなく、「TiDB」や「CockroachDB」などの分散SQLDBに関する知識を持つユーザーも着実に増えています。本連載第3回でも紹介したように、新しいテクノロジーの普及にはコミュニティーをベースとした活動が重要です。YugabyteDBにはグローバルでユーザーが参加するSlackが用意されています。2020年時点では約2000人が参加しており、2022年現在は5000人超と2倍以上の規模に急成長しています。
アプリケーション開発者の視点から見ると、YugabyteDBを利用することにどのようなメリットがあるでしょうか。Yugabyte Japanで国内の技術的な役割を担う市村氏は以下のように語ります。
「YugabyteDBはPostgreSQLと互換性があり、PostgreSQL用に開発されたアプリケーションはかなりのレベルで動かすことができます。もちろん、分散DBとしての性能を引き出すために、専用の『JDBCドライバ』を利用するなど、最適化について考慮すべき点もあります」
長年にわたって分散DBに関わってきた市村氏は、上記の最適化を支援し、データ分散に必要なキー設計なども助言しています。下図のようなYugabyteDBの構成をユーザーに理解してもらい「なぜ書き込みもスケールアウトできるのかを知ってもらうことが重要だ」と言います。
アジア圏向けに開催された「Distributed SQL Summit Asia」の講演内容を紹介
2022年3月30〜31日の2日間で「Distributed SQL Summit Asia」が開催されました。イベントの背景を松尾氏は次のように説明してくれました。
「2019年に北米でDistributed SQL Summitが開催されました。それ以来、Yugabyteのフラグシップイベントとして毎年開催されています。そして、北米以外でも参加したいというお客さまの要望を受けて、アジア圏向けの開催が実現しました。2022年は日本語でのセッションも設けて、日本国内の市場にも強くアピールしています」
ここからは、3月31日に実施されたJapanese Trackの内容を簡単に解説していきます。
「Welcome to DSS Asia 2022 Japanese Track」
松尾氏のセッションです。日本国内でも外部環境の変化に伴いアプリケーションとインフラのモダナイゼーションが求められており、YugabyteDBの採用を後押ししていることを紹介しました。モダナイゼーションによりデータレイヤーも進化を迫られており、それを支えるのが分散SQLDBという位置付けです。
松尾氏はセッションの中で「YugabyteDBに適したワークロードは高スケーラビリティと高可用性を必要とするOLTP(オンライントランザクション処理)用途のクラウドネイティブアプリケーションだ」と主張しました。それ以外の分析処理やバッチ中心の処理など全ての処理に有効なDBではないことも、ユーザー目線で紹介していました。
「The State of Distributed Database in Japan」
筆者である私が講演したセッションです。これまでのRDBが抱えてきた課題を、分散SQLDBではどのような技術を用いて解決しているか解説しました。
私が主催する「Cloud Native Database Meetup」で紹介された分散SQLDBの利用例などをあらためて紹介し、YugabyteDBがマルチインタフェースでマルチプラットフォームの特徴を持つ、次世代のクラウドネイティブDBであることを紹介しました。
「How to assess your cloud native workloads for migration to a Distributed SQL Database」
ウルシステムズ 山河征紀氏のセッションです。クラウドネイティブ時代におけるDBの要件を以下の4点で整理しており、本連載とも視点の重なる、共感できる内容でした。
- Database on Kubernetes(KubernetesをプラットフォームとしたDBの稼働)
- Database per Services(マイクロサービスにおけるサービス単位のDB分割)
- スケーラビリティ
- 高可用性
DBベンダーが主張していない点として、現在の分散SQLDBにはスケーラビリティや高可用性と引き換えに、レイテンシやスループットが単一インスタンスのRDBより低下するケースがあります。山河氏はベンチマークの結果に基づいてレイテンシやスループットがどう変わるのか客観的に解説していました。その過程で上述のYugabyteDB JDBC Driverを利用した性能改善も検証しており、商用環境でYugabyteDBを利用する際に役立つ情報が盛りだくさんでした。
「Introduction to Spring Data YugabyteDB: Accelerating Developer Productivity」
タグバンカーズ 小川岳史氏のセッションです。YugabyteDBは開発者が多い「Spring Framework」との連携機能も充実しています。先述したようにPostgreSQLと互換性を持つため「Spring Data JDBC」や「JPA(Java Persistence API)」も利用可能でありながら「Spring Data YugabyteDB」を使うことで、以下の分散SQLDB固有の機能もサポートされることを紹介しました。
- クラスタノードの自動検出とロードバランス
- トポロジーに対応したノードへのルーティング
- ジオパーティショニングのサポート
- Follower Readのサポート(現時点ではロードマップとしての公開)
「YugabyteDB Technical Overview」
市村氏のセッションです。YugabyteDBの安定版である「v2.12.1」や、最新版の「v2.13」の機能を紹介していました(YugabyteDBのバージョニングは、本連載第2回でも紹介しています)。
当セッションのまとめで市村氏は「YugabyteDBは高機能でありながら、従来のようにオプション料金が発生しない『シンプルな分散SQLDB』だ」と説明しました。
全てをビルトインしたクラウドネイティブなDBは、これからのアプリケーション開発を大きく助けるものになるでしょう。なお、イベント当日のセッションはこちらから視聴できます。
まとめ
Yugabyteのアジア圏向けイベントに参加して講演もさせていただき、日本国内での分散SQLDBに関する反応をリアルに伺うことができました。分散DBに積極的に取り組む企業の声を今後も本連載で取り上げていきたいと考えています。ご興味があればぜひお問い合わせください。よろしくお願いします。
Copyright © ITmedia, Inc. All Rights Reserved.