【初心者向け】Cloud Spanner を触ってみましょう!

Google Cloud

2024.10.21

Topics

はじめに

こんにちは、Koo です。
今回の記事では、Google Cloud が提供しているデータベースである Cloud Spanner をご紹介します。
私も最近 Cloud Spanner を知ったばかりですが、このサービスの特徴と提供されている機能の魅力にハマってしまいました。
本記事では Cloud Spanner の魅力を皆さんにもご紹介します。
Cloud Spanner を学んで、実際に触ってみましょう!

Cloud Spanner とは

Cloud Spanner は、完全管理型、グローバル分散、強力な一貫性を提供するリレーショナルデータベースです。Cloud Spanner は SQL クエリに対応し、自動シャーディングを通じてデータの拡張性と性能を最大化します。
世界中にわたる同期複製を通じて高可用性(99.999%)を提供し、トランザクションの完全性を維持しながらもグローバルデータを処理することができ、大規模なアプリケーションに適しています。
Cloud Spanner は金融、ゲーム、電子商取引など大容量トランザクションが必要な企業が主に使用し、
自動拡張、ゼロダウンタイムスキーマ変更などの機能も提供します。

参考:Spanner ドキュメント

Cloud Spanner の特徴

Cloud Spanner が持っている特徴をいくつかご紹介します。

1.マルチリージョン構成

Cloud Spanner は複数のリージョンにデータを自動的に分散保存し、99.999%の可用性を提供します。
リージョン単位の障害にもかかわらず、データを安定的に管理することができます。

参考:リージョン構成とマルチリージョン構成

2.自動シャーディング

Cloud Spanner の核心機能の一つである自動シャーディングです。

自動シャーディングは、データを複数のシャードに分け、負荷を効率的に分散する機能です。
Cloud Spanner ではテーブルデータが自動的にスプリット単位に分割され、異なるコンピューティングリソースで処理されます。この仕組みにより、大規模なトラックに対しても、性能を低下させることなくスムーズにデータを処理できます。
特に、他の多くのデータベースと異なり、Cloud Spanner は書き込み作業もスケールできるため、
大量のデータを書き込む際にも性能を維持し、大規模なサービスでも効率的に動作します。

Cloud Spanner での自動シャーディングは次のようなメリットがあります。

■1.動的拡張 :
データ量が増加したり、トラフィックが急増したりすると、Cloud Spanner は自動的にスプリットを生成し、リソースを追加に割り当てることでパフォーマンスを維持します。

■2.負荷分散 :
Cloud Spanner は、各スプリットを異なるコンピュータリソースに配置して負荷を分散させます。
これにより、特定のリソースに過負荷がかかることなく、効率的にデータを処理できます。

■3.管理の便利さ :
ユーザー側では別途のシャーディング設定をする必要がなく、Cloud Spanner が自動的にシャーディングを管理してくれるため、複雑なデータ分割作業を気にしなくてもいいです。
このように Cloud Spanner の自動シャーディング機能は、大規模なデータとトラフィックを効率的に処理できる重要な役割を果たします。

3.SQL互換性

Cloud Spanner は SQL に対応し、Google SQL と PostgreSQL の互換モードを提供します。
これにより、既存の SQL ベースのアプリケーションを簡単に Cloud Spanner に移行できます。

参考:移行の概要

4.高性能トランザクション

グローバルに分散されたデータベースであるにもかかわらず、Cloud Spanner は高性能の読み取り / 書き込みトランザクションをサポートします。 これにより、高速で一貫したデータ処理が可能になります。

参考:トランザクションの概要

料金体系

次は Cloud Spanner の料金体系について解説します。
Cloud Spanner は以下に対して課金されます。

サービス カテゴリ 料金
コンピューティング容量 リージョン構成 $854.1 (月 / ノード)
マルチリージョン構成 $2,847 (月 / ノード)
データベースで使用しているストレージ リージョン構成 $0.39 (月 / GB単位)
マルチリージョン構成 $0.65 (月 / GB単位)
バックアップで使用しているストレージ リージョン構成 $0.1 (月 / GB単位)
マルチリージョン構成 $0.3 (月 / GB単位)
ネットワーク インバウンド データ転送 無料
同一リージョン内のデータ転送 無料
同じ大陸内のリージョン間のデータ転送(GB あたり) $0.01 (GB単位)

※ 試算は Tokyo(asia-northeast1)、マルチリージョンは Asia1(asia1) になります。

参考:Spannerの料金

Cloud Spanner を実際に触ってみましょう!

これからは Spanner のインスタンスを作成してみましょう!

1. Spanner の画面


Spanner の最初の画面です。
インスタンスを作成を押します。

2.エディションを選択する


基本的に「Enterprise 」が選択されてます。
他のエディションは「エディションの比較」を押すと詳細ページが出てきます。


マルチリージョンを使いたい方は「Enterprise Plus」を選んでください。
もちろん値段は違います。

3.インスタンスの名前を指定する


インスタンス名を入力して続行を押します。
インスタンス名を入力すると、インスタンス ID も自動に入力されます。

4.構成を選択する


この画面ではリージョンを選択します。
私は東京(asia-northeast1)を選択しました!

「COMPARE REGION CONFIGURATIONS」を押して、リージョン構成の比較することもできます。

5.コンピューティング容量を構成する


大規模なインスタンスを使用する場合は「ノード」を、細かくインスタンスのサイズを設定する場合は処理ユニット(Processing Unit)を選択しましょう。
スケーリングモードは「手動」と「自動」を選択することができます。
作成を押します。

6.インスタンス画面


インスタンスが作成できました!
この画面では私が選んだ「エディション」、「インスタンスID」、「構成」、「ノード数」などオプションを見ることができます。

まとめ

今回の記事では、Cloud Spanner の特徴をお伝えしつつ、実際に触ってみました。
Cloud Spanner がどのようなサービスかご理解いただけたでしょうか?
次回は Cloud Spanner が持ってる特徴の深い内容と、データベース、テーブル作成、データを追加する方法をご紹介します!
少しでも参考になれば幸いです。
最後までお読み頂きありがとうございました!

テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!

Koo

2024年新卒入社。
DBエンジニア。

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら