🛫

『マルチクラウドデータベースの教科書』が発売になりました。

2024/08/08に公開

2024年8月6日、翔泳社さんより「マルチクラウドデータベースの教科書 クラウドロックインを乗り越えるデータベースの構築ノウハウ」が発売になりました。

https://www.amazon.co.jp/dp/4798185175

ぜひ、皆さんに手に取って欲しい本ではありますが、、、購入をためらう人が居たとしても気持ちは分かります。

「マルチクラウドとか全然イメージできないし。」
「うちはAWS(Azure/Google Cloud)って決まってるから、マルチクラウドじゃないし」
「そもそもデータベース、そんなに得意じゃないし。」

ですよね、でもそんな方々にも伝えられることがあるんじゃないかと思って、

  • そもそもマルチクラウドなデータベースとは、どんな構成を指すのか
  • そのマルチクラウドなデータベースは、利用者にどんな価値を提供するのか
    (※あとがきより一部抜粋)

という所を基礎から説明できるように、共著者3人で頭を悩ませながら執筆を続けてきました。

ということで、今回は読んでみるべきかの判断の助けとなるよう、「マルチクラウドデータベースの教科書」がどう生まれたかを少し解説してみます。

始まりは2023年夏前

この頃、個人的に色々あってベンダーに忖度せずに自由に執筆ができるようになっていた時期でした。
共著者の一人から、「マルチクラウドネットワークの教科書のデータベース版の企画があるんですけど、一緒に書きません?」とお誘いを頂きます。

一言でいいましょう。「そんな本書けるか?」と、話をもらった時には思いました。

今回の書籍は以下の5章構成です。

Ch1. 一般論としてのマルチクラウド
Ch2. 「データベース」から見たマルチクラウド
Ch3. 4大クラウドにおけるデータベースの状況
Ch4. マルチクラウドデータベースへの道のり
Ch5. マルチクラウドデータベースの構成パターン

Ch1からCh3までは2023年時点で書くべきことが凡そ決まっていたと記憶しています(もちろん、それでも簡単に書けたという事ではありません)。
ただ、私が担当したCh4とCh5は「何を書くべきか」が決まっていませんでした。

普段、半分ふざけてDBソムリエを名乗っている私ですが、過去にインタビューしてきた情報などをかき集めてもピタリと当てはまるデータベースサービスが思いつきませんでした。

この2章を書くための長い旅が始まります。

マルチクラウドとデータベースの関係

これを解き明かし、データベースに詳しい方にもそうでない方にも分かりやすく説明しよう。そう考えて、2023年末に私が登壇したセッションでは、何度か視点や対象を変えて類似の話をさせてもらいました。

例えば、以下で紹介されているCloudNative Days Tokyo 2023のキーノートです。
https://thinkit.co.jp/article/22687

ここではクラウドで利用するDBaaSを選ぶ際に、DevOpsの "Dev" の視点だけでなく、 "Ops" の視点も同じぐらい重要なんだよという話をしています。この辺りから出発して、アプリケーションを開発・運用している企業にとっても、マルチクラウドなDBaaSを利用することで自社サービスのポータビリティを高められるという解説を本書のCh4で行っています。

これは、2023年以前に私が話に出したことのある、クラウド障害に備えた高可用性のためのマルチクラウドとは別の視点です。

もちろん、高可用性についても重要な視点になりますので、詳しく知りたい方は本書のCh4、Ch5でそれらの知識も得られるはずです。

クラウドストラテジー

そして、自分の中で高可用性とポータビリティの2軸でマルチクラウドデータベースの有用性を整理していた際に、「クラウドストラテジー」という書籍に出会います。

https://x.com/tzkb/status/1745028848113377485

こちらはデータベースに関する内容ではないのですが、企業がクラウドを利用していくにあたって必要な意思決定が、事細かに解説されています。

特に私が感心したのは、マルチクラウドの選択肢としてあげられていた分類方法です。

  • 任意(Arbitrary)
  • 分割(Segmented)
  • 選択(Choice)
  • 並列(Parallel)
  • 可搬(Portable)

の5つで分類されていますが、(詳細な定義はクラウドストラテジーをお読み頂くのが良いとして)「任意」のマルチクラウドに嵌っているユーザーは意外と多いように思います。

そして、今回の執筆においてもこちらからヒントを得て、マルチクラウドデータベースを3つに分類しています。

パラレルクラウドとクロスクラウド

Ch5では、言葉の定義として以下の関係を示しています。

つまり、シングルクラウドと対立する概念としてマルチクラウドがあり、そのマルチクラウドに含まれるものとしてパラレルクラウド、そしてクロスクラウドという概念を提示しています。

簡単に言えば、パラレルクラウドは複数のクラウドに同じ種類のデータベースを配置する構成を意味しますが、データベース間でデータが同期されているかなどは問いません。具体的には、TiDB CloudなどのようにAWSやGoogle Cloudの双方で利用できる状態のことを指しています。

一方、クロスクラウドは「クラウド障害に対応した高い可用性」を実現するために、異なるクラウド間でデータを同期するDBaaSを指します。本書のCh5でクロスクラウドの例としてあげているのは、Crunchy Bridge、そしてMongoDB Atlasです。

Ch5で個人的に訴えたかった点は以下であり、実はこの点はベンダーだけでなく、ユーザーの意識という点でも変革が必要だと考えています。

NewSQLベンダーも今まではこの姿勢で良かったかも知れません。
ただ、執筆中に発表されたOracleとGoogleの提携など、メガクラウドがクロスクラウドに先に踏み込んでくる可能性も高まっており、予断は許さない状況です。

さいごに

執筆の経緯をご紹介しようという記事でしたが、ちょっと方向性が変わってしまったかも知れません。

実際、著書たちも執筆を続け議論を深める中で、色々な迷いがあり、発見がありました。
マルチクラウドデータベースという技術分野は発展途上であり、現状ですべての疑問に解答が示されている訳ではありません。

その中で、
「マルチクラウドは自分の会社に必要なのか?」
「マルチクラウドは誰にでも必要になるのか?」

という議論を続けていくことが、データベースでも重要なのだと感じています。

そうした疑問に今担当されている事業の目線で明快な解答をお持ちの方、まだお持ちでない方、ぜひとも本書を手に取り、お会いした際やネット上で我々と議論して頂ければと思います。

Discussion