みなさん、こんにちは!
タカハシ(@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によるアプリとそのデータ量に規模感が出てくると、前述の「スプレッドシートをデータベースにする弊害」とのトレードオフになってきます。
であれば、トライしても良いのではないでしょうか?
新しいことも学べますしね。
GASからCloud SQLを使用するための手順
GASからCloud SQLを使用するためには、以下のステップを踏む必要があります。
- GCPを使える状態にする
- Cloud SQLのインスタンスを用意する
- Cloud SQLのインスタンスにデータベースを作成する
- 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のJDBCサービスでCloud SQLのDBを操作する
GASのデータベースの多くはスプレッドシートを使用しますが、ちゃんとしたデータベースを使用したい場合があります。そこで、JBDCサービスを使ってCloud SQLを使用する方法をシリーズでお伝えしていきます。- GASのデータベースとして、なぜCloud SQLが有効なのか?その概要とメリット
- GASでデータベースとして使用するCloud SQLインスタンスを作成する方法
- GCPのCloud Shellを使ってCloud SQLインスタンスに接続する方法
- GCPのCloud SQLインスタンスにSQL文でデータベースを作成する方法
- GCPのCloud SQLデータベースにSQLでテーブルを作成する方法
- GCPのCloud SQLデータベースのテーブルにSQLでレコードを追加する方法
- GASのJDBCサービスでCloud SQLデータベースに接続をする方法
- GASのJDBCサービスでCloud SQLデータベースにクエリを実行する方法
- GASのJDBCサービスでCloud SQLにクエリを実行した結果を取り出す方法
- GASのJBDCサービスでCloud SQLのデータベースにレコードを追加する方法
- GASのJDBCサービスでCloud SQLのデータベースに複数のSQLを一括で実行する方法