こんにちは。ファンリピートの徳丸です。
今回は、AppSheetで大量のデータを利用する際の同期時間を減らして、よりストレス無く利用していく方法について紹介していきます。
Appsheetとは?
AppSheetとは、Google cloudの一部として提供されるノーコードアプリケーション開発のプラットフォームです。
大きな特徴として、プログラミングの知識が無くても、データベースやスプレッドシートといった様々なデータソースを参照しながらアプリを作成できる点が挙げられます。
AppSheetの同期処理について
AppSheetの同期処理は、下記のような流れで行われます。
- 同期処理開始
- クラウドに保存
- クラウドとDB同期
- クラウドからデータ取得
この同期処理のタイミングはSettingのPerformanceから設定出来ます。
Delayed syncをオフにするとデータの追加や変更等を行う度に同期処理が走るようになり、オンにすると手動で同期処理を実行しない限り同期しなくなります。
また、同期処理にてクラウドからデータを取得する際、基本的には全てのデータを取得します。
例えば一万件のデータが保存されていた場合、その全てを取得する為、処理がかなり重くなってしまいます。
セキュリティフィルターの活用
この処理が重くなってしまう問題を解決するのが、セキュリティフィルターです。
セキュリティフィルターは、ユーザーに表示させるデータを制限する為に使用されるものですが、これを使用する事でクラウドから取得するデータ量を減らすことができ、結果として処理の高速化を図ることができます。
セキュリティフィルターの活用方法
セキュリティフィルターは、各テーブルのTable settings上のSeccurityで設定する事ができます。
下記は設定する条件の例です。
例:メールアドレスで制限をかける
テーブル内に特定のメールアドレスを持たせるカラムがある場合、下記のような条件を設定する事で、自分のメールアドレスと一致するデータのみに絞って取得できるようになります。
例:日付で制限をかける
テーブル内に例えば作成日を持たせるカラムがある場合、下記のような条件を設定する事で、○日前(画像だと7日前)以降に作成されたデータのみに絞って取得できるようになります。
これらの制限を効果的に設定する事で、安全かつ高速なデータ取得を行えるようになります。
また、データの保存のみで取得の必要がないテーブルに関しては、セキュリティフィルター上部のプルダウンをオンにすることで、クラウドからデータの取得を行わないようにできます。
まとめ
今回はAppSheetの同期処理の仕様とその高速化について紹介していきました。
セキュリティフィルターは、安全性の確保と処理の高速化の両方を担える便利な機能です。これを効果的に活用して、使用者のストレスの少ないアプリの実装を行っていきましょう!