Yugabyte Japan Meetup #3 開催報告

2023年9月26日、第3回となるYugabyte Japan Meetupを開催しました。今回もリアルとバーチャルのハイブリッドにて、多くの方にご参加いただきました。ありがとうございました。

このブログ記事では、当日の内容を要約してお伝えしたいと思います。

FINOLABコワーキングスペースでの開催

Zero downtime with little effort

Yugabyte Japan Meetup #3 の最初のセッションは、AuthleteのHenrikさん、Zoloさん、ArnaudさんからAuthleteのID管理サービスで使用するデータベースをYugabyteDBにすることでゼロダウンタイム運用を実現した話をご紹介いただきました。

Authleteではアイデンティティ&アクセス管理のためのOAuth/OIDCをサービスとしてAPI提供しています。そのバックエンドでは、データベースが使われていますが、既存のCloudSQLでは、データベースの保守作業を行う場合、1–2分のダウンタイムが発生します。全体から見るとわずかな停止時間ですが、ID管理サービスを利用する顧客に事前通知することや、個別に実施タイミングを調整することが運用の負荷となっていました。また、今後のビジネス成長にともなうスケーラビリティやグローバル展開の課題を解決するためにVitness、Spanner、CockroachDB、TiDB、YugabyteDBを数年前から検討していました。

追加のDBA人材を必要としないマネージドのソリューションであること、Authleteがサービスのオプションとして提供しているオンプレミスでの稼働が可能なこと、良いサポートとパートナーシップの機会を得られることといった条件から、YugabyteDB Managedを選択して検証を実施しました。検証では、YugabyteDB Managedのパフォーマンス・アドバイザーに推奨されたチューニングやフラグの設定を行うだけで、満足できる結果を得ることができました。

この結果を得て、AuthleteはYugabyteDBを高可用性とスケーラビリティーを実現するオプションとして採用し、両社は戦略的パートナーシップを締結しています(プレスリリースはこちら)。

ScalarDB: Universal Transaction Manager for Polystores

続いてのセッションは、Scalar Labsの山田さんから、複数の異種データベース間でトランザクションの整合性を管理したり、それぞれのデータベースへのアクセスを抽象化する、ScalarDBについてご紹介いただきました。

異種混合のデータベース環境では、異なるアプリケーション間でのトランザクション管理や、データベースの移行に伴うアプリケーションの変更が開発や運用の負荷になります。ScalarDBでは、トランザクション・マネージャ機能をデータベースからScalarDBに移し、各データベースに対して抽象化レイヤを提供することで、インフラ環境やデータベース種類に依存しないデータレイヤーを実現します。

一方で、中央集中的にトランザクション管理を行うとパフォーマンスへの影響が懸念されます。ScalarDBでは、各データベースに書き込むレコードにトランザクション・メタデータを付加し、コーディネータでトランザクションのステータスを管理することで、クライアント側でコーディネートを行い、TrueTimeやHLCなどのClockを使用しないトランザクション・プロトコルを採用していることを説明いただきました。

ケーススタディから学ぶ、金融業界でYugabyteDBが選ばれる理由

3つ目のセッションは、YugabyteDBの伊津野からYugabyteDBの金融事例についてご紹介させていただきました。金融事例といっても、レガシーモダナイゼーションに取り組む大規模な金融機関から、グローバルな金融プラットフォームサービスを提供する企業まで様々です。今回のミートアップは、会場がFINOLABということもあり、アジアの最新Fintech事例を取り上げました。

中小企業向けの外国為替取引サービスを提供するAirwallex社は、グローバルでサービスを提供し、各国の法規制に対応する必要があります。YugabyteDBの柔軟なトポロジーやデータの保管場所が指定できるジオ・パーティションがデータベース選定の決め手となりました。

銀行向けにバンキング・プラットフォームをSaaS提供するTrustt社は、マイクロサービスで様々な機能を実装し、それらをオーケストレートすることで多彩なサービスを展開しています。マイクロサービス間のトランザクションがACID準拠の強い整合性を提供できること、限られたDBA人材でもシンプルに運用できることが必須でした。開発効率、保守効率、コスト効率の観点から、YugabyteDBを選択しました。

インドでデジタル決済サービスを提供するMindgate社は、デジタル決済(UPI)市場の急速な成長に伴い、スケーラビリティの課題に直面していました。既存のOracle RACではスケールに限界があったことと、災害復旧 (DR) へのサイト切り替えに手間と時間がかかることから、無限のスケールと自動復旧が可能なYugabyteDBのストレッチ・クラスタに移行しました。

これらの事例に共通するのは、強い整合性と無停止、各種規制への準拠が求められる金融サービスでは、YugabyteDBによってシンプルかつ低コストにその基盤を構築することができるという点です。

ユースケースに適したデプロイメントオプションを選択する -YugabyteDBデプロイメントオプションの紹介-

4つ目のセッションは、SRA OSSの彭さんから、YugabyteDBのデプロイメント・オプションについてご紹介いただきました。

YugabyteDBは、クラスタを構成するノードを複数のアベイラビリティ・ゾーンや、複数のリージョンなど、柔軟に配置することができます。同期レプリケーション (Raftコンセンサス) を行うプライマリ・クラスタ内で、フォロワーリードによって読み取り性能を向上させたり、ジオ・パーティションでデータの保管場所を指定してユーザーに近いリージョンに配置することも可能です。

また、プライマリ・クラスタに加えて、非同期レプリケーションを行うデプロイメント・パターンもあります。リードレプリカを配置して読み取り性能を向上させたり、xClusterレプリケーションによって広域災害に対応できるようにしたり、要件に合わせた多様で柔軟な構成が可能です。

セッションでは、それぞれのデプロイメント・パターンの特徴と、どのようなユースケースに適しているのかをご説明いただきました。

データベース信頼性エンジニアリング紹介

最後のセッションは、スリーシェイクの中楯さんから、データベース信頼性エンジニアリング(DBRE)についてご紹介いただきました。スリーシェイクは、SRE (Site Reliability Engineering) をエンドツーエンドで支援するサービスを提供している企業です。

SREは、DevOpsを実現するアプローチの一つで、繰り返し作業(Toil)を減らしたり、インフラのコード化などのシステムの自動化を行ったりすることで、サイトやサービスの信頼性を高めることを目指します。DBREは、SREの中でもデータベースに特化した役割に位置付けされ、従来のDBAとは異なるアプローチであることを説明いただきました。

DBREの観点から見ると、YugabyteDBは分散処理による可用性の向上、障害からの自動回復等、シンプルな運用で信頼性を高める機能が組み込まれているところが魅力です。また頻繁なリリースが発生しても、テーブルロックを意識せずにオンラインでDDLを実行できること、PostgreSQLとの高い互換性によって移行が容易であることなどを利点として挙げていただきました。

第3回の開催を通じて

YugabyteDB のミートアップは今年開催を始めたばかりですが、これまでにご参加いただいた方と再会出来たり、これまではオンライン参加だった方に初めてオフラインでお会いできたり、だんだんとコミュニティとしての緩やかなつながりができていることを実感できました。

会場でのネットワーキングの様子

一方で、日本語/英語のミックスでの開催や、継続的なテーマやトピックがないなどのご意見もアンケート等からいただいています。皆様からいただいたご意見を、今後の運営に活かしていきたいと思います。

謝辞

今回はAuthlete様にスポンサーとしてご協力いただき、FINOLABコワーキングオフィスの会場をお借りして開催しました。Authleteの皆様、多大なるご支援をいただき誠にありがとうございました。

次回は、VMWare様に会場スポンサーとしてご協力いただき、2024年1月23日に開催予定です。是非ご参加ください。

また皆様にお会いできることを楽しみにしています!

--

--