0

我有一个将用户数据存储在 SQLite 数据库(包含 4 个表)中的 Android 应用程序。每个表都有一个整数主键(自动递增)。

要了解规模:

其中 3 个表的字段少于 7 个,预计条目数不会超过 10 个。1 个表有 8 个字段,平均每天大约有 5 个条目。

我想要的是将数据库同步到云 - 出于多种原因,包括

  1. 要在所有用户设备上同步的数据
  2. 如果用户选择加入,为了研究目的收集匿名数据。

我意识到我需要一个多租户数据库。我想知道一种有效的方法来做到这一点。

如果我在 Web 服务器上使用 MySQL 数据库,这会有效吗?在这种情况下,我如何处理多租户?

或者,我是否需要使用像 Google App Engine 这样的云服务?(这对我来说是全新的)

4

1 回答 1

1

是的,您应该考虑使用 GAE 及其数据存储。它还支持 SQL,但我认为您的应用程序非常适合数据存储。

您的数据存储区将有 5 种“种类”(这些类似于表)-您在上面列出的四种和一个用户种类。您的四种类型将有一个关键路径,将它们分组到各自的用户之下。这将处理多租户并且非常高效:检索和编写这些组(由关键路径层次结构定义)既高效又便宜。

为了快速介绍数据存储的这些概念,我推荐这个objectify 文档页面。

GAE 支持 Java,因此您不仅可以在客户端和服务器上使用相同的语言,还可以共享代码。在组织代码时需要小心一点(并注意日志记录),但这有相当大的好处,特别是如果 Android 是您唯一的客户端。

于 2013-08-14T15:50:47.240 回答