LINEヤフーはDB自動チューニング術を紹介――「KubeCon」で気になった最新のKubernetes×データベース運用ノウハウ「KubeCon+CloudNativeCon North America 2023」レポート

「クラウドネイティブ」という言葉がなじんだ今、市場に登場した新たなデータベースやデータベースを支えるプラットフォームにまつわる情報を紹介していきます。今回は「KubeCon+CloudNativeCon North America 2023」で気になった内容をお届けします。

» 2024年03月26日 05時00分 公開
[小林隆浩NTTデータグループ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 「クラウドネイティブ」という言葉がなじんだ今、市場に登場した新たなデータベースやデータベースを支えるプラットフォームにまつわる情報を紹介する本連載前回はNewSQLの一つである「YugabyteDB」のユーザーによるラウンドテーブルの様子をお届けしました。国内市場でもクラウドネイティブな新しいデータベースの盛り上がりを感じるイベントでした。

 さて、今回は2023年11月に開催された「KubeCon+CloudNativeCon North America 2023」から、データベース関連のセッションを中心にレポートをお届けします。本連載で紹介してきた、データベースのプラットフォームとして「Kubernetes」がどのように活用されているかなど、示唆に富む内容がたくさんありました。

KubeCon+CloudNativeCon North America 2023

 KubeCon+CloudNativeCon(以後、KubeCon)は、毎年北米で1回、欧州で1回開催されています。2023年11月には米国シカゴで開催され、世界中からクラウドネイティブとKubernetesに関心を持つ人たちが集まりました。延べ4日間にわたり、さまざまな分野のセッションや展示会場におけるベンダーの製品紹介などが行われる非常に大規模イベントとなりました。

 私が数年前からKubeConで注目しているのは、ステートフルなワークロード、つまりデータを扱うアプリケーションやミドルウェアをKubernetes上で動かそうという取り組みや事例の数々です。KubeConではCo-located Eventsとして、以下のような個別イベントが併催されます。

  • ArgoCon
  • IstioDay
  • Cloud Native Wasm Day
  • Observability Day

 それぞれ近年盛り上がっているテーマを取り上げていますが、本稿ではデータベースに関わる2つのテーマを取り上げます。

「DBaaS DevDay」

 DBaaS DevDayは、2023年にスタートしたイベントで、DBaaS(Database as a Service)の実現に向けたサーバレスや分散データベースに関する技術がテーマとなっています。TiDBのPingCAPPlanetScaleなども運営に関わり、ビジネス観点でDBaaSをどのように構築、運用していくかといった観点に注目が集まりました。

オープニングキーノートで講演したPlanetScaleのVeronica Ropez氏 オープニングキーノートで講演したPlanetScaleのVeronica Ropez氏

 そして、DBaaS DevDayには日本からLINEヤフーの松浦聖平氏が登壇しました。「Database Parameter Auto-Tuning Through CI/CD Pipelines」というテーマで行われたセッション内容の一部を紹介します。

 LINEヤフーは、統合以前からそれぞれ膨大な数のMySQLインスタンスを運用していました。それらの運用を簡素化し、ユーザビリティを高めるために社内向けの独自DBaaSを運用していたものの、そこには幾つか課題がありました。

 その課題の一つが、熟練のデータベース管理者(DBA)によるパラメーターチューニング作業です。少数のプロジェクトに対してなら、DBAがビジネス要件を理解して適切なチューニングが可能です。しかし、社内のDBaaS利用者が拡大するにつれて、ボリュームが増え続け、きめ細かな対応が難しい状況になったとのこと。そうした状況下でも最適なチューニングを実現しようと、機械学習(ML)を生かした自動チューニングに取り組んでいるそうです。

 松浦氏が発表したMLベースの自動パラメーターチューニングは、アプリケーションのCI/CD(継続的インテグレーション/継続的デリバリー)(参考記事)のプロセスに組み込まれます。つまり、アプリケーション同様に開発環境でテストされ、問題がなかったチューニングモデルが本番環境に反映される仕組みになっています。

(提供:松浦氏の講演資料より) (提供:松浦氏の講演資料より)

 MLベースのパラメーター自動チューニングという考えは以前から存在します。自動チューニングに特化した米国発のベンチャーとしてOtterTuneもあります。こうしたサービスでは、本番環境で現在稼働中のデータベースの統計値からチューニングするため、最適化までにある程度の時間がかかって瞬間的なピーク負荷増に対応できないことなどが問題でした。また、本来学習すべきでない統計値に最適化した結果、性能が落ちるケースなども懸念されたと、松浦氏は説明します。

 社内とはいえ、国内で例を見ないほどに大規模にDBaaSを運用しているLINEヤフーならではのアプローチであり、ユーザーが拡大するにつれて同様の問題を抱えるようになるであろう、他のDBaaS事業者にも参考になるセッションでした。

「Data on Kubernetes Day」

 データベースに関わるもう一つのイベントは、Data on Kubernetes Dayです。Kubernetes上でデータワークロードを動かすノウハウやベストプラクティスを共有することを目的としたコミュニティー(DoK)が主催しており、Co-located Eventsとして2020年から併催されています。対象となるワークロードはデータベースに限定されず、「Apache Kafka」や「Apache Spark」、そして分散ストレージを用いてAI(人工知能)/MLワークロードを動かす取り組みなども紹介されていました。

 その中から、NewSQLと複数のKubernetesクラスタを利用して、地理分散したデータベースの自動切り替え運用を実現する構成を紹介するセッション「Zero-Touch Fault Tolerance for Cloud-Native Geo-Distributed Databases」を紹介します。

 まず、Kubernetesを利用してデータベースを運用する場合、「Kubernetesクラスタは単一なのか?」「複数に分けるのか?」という点が課題になります。アプリケーションとクラスタを分割するという観点もありますし、今回は“地理分散”というキーワードもあります。例えると「東京と大阪でKubernetesクラスタをどう分割するのか」というような検討が必要です。

 もちろん、単一クラスタなら運用は簡素化されますが、クラスタ障害で全断のリスクがあり、地理的に分かれた環境で単一クラスタを構成するのは技術的に難度が高いため、今回のKubeConでもマルチクラスタをテーマとしたセッションが数多くありました。

 このセッションでは、マルチクラスタの課題を解決するツールとして「Elotl Nova」を使用した構成が紹介されていました(なお、他のマルチクラスタオーケストレータとしては、「Karmada」などがあります)。

 Elotl Novaはマルチクラウド/マルチクラスタのオーケストレータと呼ばれるもので、下図にあるように通常ワークロードが動く複数のKubernetesクラスタを監視して必要に応じてワークロードを移動させるなどの構成管理を担当します。

 Elotl Novaの利用イメージ Elotl Novaの利用イメージ

 セッションでは、Elotl Novaで構成した地理分散されたKubernetesクラスタ上で、YugabyteDBを稼働させ、クラスタ障害時に自動でスタンバイクラスタに切り替わる機能が解説されました。

 マルチクラスタでの障害復旧は以下のような流れで行われます。

  1. 3つのKubernetesクラスタを準備し、YugabyteDB(図ではYBDB)をデプロイ
  2. Region-CのWorkload Clusterで障害が発生。Monitoringコンポーネントが障害を検知
  3. Multi-Cluster OrchestratorがStandby RegionにYugabyteDBをデプロイ
  4. 「Istio」で経路を切り替え、データベースを復旧

 このような構成にしてデータ損失ゼロで復旧したり、復旧時間を短縮したりするには、YugabyteDBのようなデータベース側の機能も重要です。また別のセッションでは、「PostgreSQL」のような従来型のリレーショナルデータベースであっても、RPO(目標復旧時点)などを調整すれば、Elotl Novaの機能は利用できると説明されていました。

 こうしたセッションを筆頭に、他のData on Kubertes Dayのセッションでも、Kubernetes上でデータベースを動かすことは広く受け入れられつつあり、グローバルではそこから数歩進んでいる印象を受けました。

 データベースを運用する上で、高可用性や拡張性、地理分散などの要件は誰が、どこで確保するのかという課題があります。データベース側の機能としてそれを保証するケースが多く見られるものの、Kubernetesのエコシステム拡大を受けて、プラットフォームとしてそうした機能を実現するケースが今後、見られるようになるかもしれません。

「Cloud Native Community Japan」の発足

 こちらはデータベースと直接関連はありませんが、KubeConのキーノートで、KubeConを主催しているCNCF(Cloud Native Computing Foundation)の日本支部となる「Cloud Native Community Japan」の設立が発表されました(Linux Foundationの記事)。

 日本におけるクラウドネイティブの普及促進を図るとともに、同分野のOSS(オープンソースソフトウェア)コントリビューションおよび技術革新を促すことが目的とされています。いずれ、KubeConや今回紹介したようなデータベース関連のイベントが国内でも開催されることを期待しています。

おわりに

 今回はクラウドネイティブなデータベースの取り組みを中心に、海外で開催された大規模イベントのセッション内容の一部をお届けしました。

 筆者個人としてはデータベースのセッションを聞く機会が多かったものの、他にも日本から多くのエンジニアが参加して、さまざまなセッションを聴講しており、現地での交流会も催されました。上記で紹介した松浦氏以外にも、日本企業でクラウドネイティブに取り組む複数のエンジニアが登壇しており、国内の技術レベルの高さをアピールするとともに、日本コミュニティーの拡大を予感させる内容でした。

 今後も、こうした国内外のイベントレポートを積極的に公開していきますので、現地でお会いする機会があれば、よろしくお願いします。

筆者紹介

小林隆浩

さまざまなプロジェクトで基盤担当のエンジニアとして経験を積む。中でもデータベースに関する設計、運用、トラブルシューティングなどの業務で実績があり、得意とするDBMSはOracle DatabaseおよびPostgreSQL。データベースや基盤技術に関するコミュニティーに積極的に参加し、国内外のカンファレンスで登壇実績を持つ。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。