GASのデータベースとして、なぜCloud SQLが有効なのか?その概要とメリット


みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Google Apps Script(GAS)でそこそこの規模のアプリケーションを作成していると、スプレッドシートでのデータの扱いが限界に達したり、やりづらくなったりといったことが起きてきます。

そこで、一歩踏み出してトライしてみたいのが、Cloud SQLをデータベースとして使用するという選択肢です。

Cloud SQLでは「ちゃんとしたデータベース」を使えますので、スプレッドシートよりもより大量のデータを、より高速、かつより強固に扱うことができます。

このシリーズでは、GASからJDBCサービスを使ってCloud SQLを操作する方法を、順を追ってお伝えしていきます。

初回の今回は、GASのデータベースとして、なぜCloud SQLが有効なのか?その概要とメリットについてお伝えします。

では、行ってみましょう!

スポンサーリンク

スプレッドシートをデータベースにする弊害

皆さんが作っているGASのアプリについて思い起こしてみましょう。

主にデータの置き場、つまりデータベースとしてスプレッドシートを使用している場合が圧倒的に多いことでしょう。

ただし、スプレッドシートをデータベースとして使用し続けていると、色々と問題が出てきます。

このようなものです。

  • データが増えてくると動作が重くなる、ていうか500万セルまでしか受け付けない
  • うっかり権限与えると、気ままにいじられる

これらを回避するために、複数のスプレッドシートにデータを分散させたり、スプレッドシートに保護をかけたり、様々なテクニックを駆使するのですが、そうするとスクリプトの行数が増えて、メンテナンスが大変になってきます。

そこで、一つの選択肢として検討したいのが、Cloud SQLをデータベースとして使用することです。

Cloud SQLとは?なぜ使うの?

Cloud SQLというのは、Google Cloud Platform(GCP)内で提供されているデータベースサービスです。

GCPというのは、簡単にいうと、クラウド上の色々な役割を持つサーバーを使えるサービスで、アプリケーションを配置したり、機械学習を使用したり、今回の目的のようにデータベースを作成して使用したりすることができます。

どちらかというと、全体的に本職のITエンジニア向けのサービスで、ちょっと敷居が高いように思えます。

また、GCPはG Suiteとは別サービスで、その利用状況によって別途課金が発生します。

ただ、GASによるアプリとそのデータ量に規模感が出てくると、前述の「スプレッドシートをデータベースにする弊害」とのトレードオフになってきます。

Cloud SQLを使い始める技術的なハードル + Cloud SQLを利用するための料金 <= スプレッドシートをデータベースにする弊害

であれば、トライしても良いのではないでしょうか?

新しいことも学べますしね。

GASからCloud SQLを使用するための手順

GASからCloud SQLを使用するためには、以下のステップを踏む必要があります。

  1. GCPを使える状態にする
  2. Cloud SQLのインスタンスを用意する
  3. Cloud SQLのインスタンスにデータベースを作成する
  4. GASのJDBCサービスでCloud SQLのデータベースに接続し、SQLで操作をする

Cloud SQLとインスタンス

Cloud SQLについては本シリーズで手順とともに解説をしていきますので、それほど構えなくても大丈夫です。

ざっくり解説すると、インスタンスというのが仮想的なサーバーのひとつひとつのことです。

GCP上にCloud SQLのインスタンスを(お金さえ払えば)たくさん作れます。

その中に、データベースを作ることができ、その作成したデータベースに、テーブル(表)を作成、データを格納していくわけです。

JDBCサービスとは

JDBCサービスはGASのScript Servicesに含まれるサービスで、Cloud SQLをはじめとするいろいろな種類のデータベースに接続して、命令を実行するためのサービスです。

GASの書き方と、データベースについての概要がわかっていれば、すぐに理解できると思います。

こちらも随時解説していきますね。

SQLとは

SQLというのは、データベースの操作をするための言語です。

「SELECT」「INSERT」「DELETE」「CREATE」などの命令文を使って、データベースのデータを抽出、挿入、削除、テーブルの作成などといった操作を行うことができます。

また、新しい言語かよ~となるかも知れませんが、SQLを学ぶメリットは多くあります。

  • Cloud SQLに限らず、さまざまな種類のデータベースで共通で使用できる
  • Googleのデータ解析ツールBigQueryでも使える
  • スプレッドシートのQUERY関数にも応用できる

といったように、かなり「潰し」の効くスキルということ。SQLは一度学べば横展開が可能で、分析系の業務では非エンジニアでもマスターされる方が増えています。

まとめ

以上、GASのデータベースとして、なぜCloud SQLが有効なのか?その概要とメリットについてお伝えしました。

これを機に、データベースの世界に少し足を踏み入れてもよいのではないでしょうか。

GASでのデータの扱いがこうあるべき、みたいなところもより見えてくるものと思います。

次回から、実際にGCPを触って、Cloud SQLのインスタンスの作成からはじめていきましょう。

GASでデータベースとして使用するCloud SQLインスタンスを作成する方法
GASからJDBCサービスを使ってCloud SQLのデータベースにアクセスする方法をシリーズでお伝えしています。今回は、GASでデータベースとして使用するCloud SQLインスタンスを作成する方法です。

どうぞお楽しみに!

連載目次:GASのJDBCサービスでCloud SQLのDBを操作する

GASのデータベースの多くはスプレッドシートを使用しますが、ちゃんとしたデータベースを使用したい場合があります。そこで、JBDCサービスを使ってCloud SQLを使用する方法をシリーズでお伝えしていきます。
  1. GASのデータベースとして、なぜCloud SQLが有効なのか?その概要とメリット
  2. GASでデータベースとして使用するCloud SQLインスタンスを作成する方法
  3. GCPのCloud Shellを使ってCloud SQLインスタンスに接続する方法
  4. GCPのCloud SQLインスタンスにSQL文でデータベースを作成する方法
  5. GCPのCloud SQLデータベースにSQLでテーブルを作成する方法
  6. GCPのCloud SQLデータベースのテーブルにSQLでレコードを追加する方法
  7. GASのJDBCサービスでCloud SQLデータベースに接続をする方法
  8. GASのJDBCサービスでCloud SQLデータベースにクエリを実行する方法
  9. GASのJDBCサービスでCloud SQLにクエリを実行した結果を取り出す方法
  10. GASのJBDCサービスでCloud SQLのデータベースにレコードを追加する方法
  11. GASのJDBCサービスでCloud SQLのデータベースに複数のSQLを一括で実行する方法

タイトルとURLをコピーしました