ユーザーのデータをSQLiteデータベース(4つのテーブルを含む)に保存するAndroidアプリケーションがあります。各テーブルには整数の主キー(自動インクリメント)があります。
スケールのアイデアを得るには:
これらのテーブルのうち3つは、7つ未満のフィールドを持ち、10を超えるエントリを持つことは想定されていません。8つのフィールドを持つ1つのテーブルは、平均して1日あたり約5つのエントリを取得します。
私が欲しいのは、データベースをクラウドに同期させることです-以下を含む多くの理由で
マルチテナントデータベースが必要になることを理解しています。これを行うための効率的な方法を知りたいです。
WebサーバーでMySQLデータベースを使用する場合、これは効率的ですか?この場合、どのようにマルチテナンシーにアプローチしますか?
または、Google App Engineのようなクラウドサービスを使用する必要がありますか?(これは私にとってまったく新しいものです)
はい、GAEとそのデータストアの使用を検討する必要があります。SQLもサポートしていますが、アプリケーションはデータストアに適していると思います。
データストアには5つの「種類」(これらはテーブルのようなもの)があります。上記の4つとユーザーの種類です。4種類には、それぞれのユーザーの下にグループ化するキーパスがあります。これによりマルチテナンシーが処理され、非常に効率的になります。これらのグループ(キーパス階層によって定義される)の取得と書き込みは効率的で安価です。
データストアのこれらの概念を簡単に紹介するには、objectifyドキュメントのこのページをお勧めします。
GAEはJavaをサポートしているため、クライアントとサーバーで同じ言語を使用できるだけでなく、コードを共有することもできます。コードを整理するとき(およびロギングに注意するとき)は少し注意が必要ですが、特にAndroidが唯一のクライアントである場合、これにはかなりの利点があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加