Google App Engine Java端点是否适合存储大型数据集?

时间:2014-11-05 12:04:14

标签: java sql performance google-app-engine endpoint

Google App Engine(GAE)为开发人员提供了一个可用于向众多用户提供数据的平台。开发人员可以在Python, Go, PHP and Java

中对这些端点进行编程

我希望在GAE中创建一个广泛的用户数据库,可通过REST接口访问持久性Java应用程序。我知道平台有support for SQL databases这是一个传统的解决方案,但我想知道是否可以在Java中做同样的事情并利用语言通过JDO / JPA提供的功能,同时仍然提供标准SQL的性能和效率。

具体来说,我要求的是MySQL中的TABLE是否可以像Java中的@PersistenceCapable List<UserData>一样有效地实现,它位于这些GAE端点之一。

例如,这会导致"SELECT * WHERE _Name EQUALS 'bill'"

之间的权衡
final List<User> lMatchingUsers = new List<User>();
for(int i = 0; i < this.getUserList().size(); i++) {
  if(this.getUserList().get(i).getName().equals("bill")) {
     lMatchingUsers.add(this.getUserList().get(i));
  }
}
return lMatchingUsers;

我很难相信后者会有效!

1 个答案:

答案 0 :(得分:0)

假设您正在谈论Google Cloud Endpoints,它只是一种为您的应用程序提供REST API的服务 - 它们不提供存储。

对于Java,您可以正常编写业务逻辑,然后注释您的类以在REST API中公开它们。 Cloud Endpoints将生成您的客户端库(Android,iOS,Javascript),以便您远程调用API方法。

如何存储数据取决于您的应用程序 - 即您在Java中实现的内容。这可能是Cloud SQL,数据存储或其他在Compute Engine实例上运行的东西。