1

我正在为具有相当复杂的数据模型的 GAE 开发应用程序。

根据我的理解,使用 noSQL 数据库(尤其是 GAE)处理复杂数据模型的一个好方法是使用非规范化的数据“视图”。如果浏览器客户端想要更新一些数据,服务器对一些核心数据执行写入,返回“200 OK”以便客户端可以继续,然后使用任务队列更新写入数据可能影响的任何“视图” .

然后,每当客户端想要查询通常需要 SQL 连接的某些对象时,它可以改为查询“视图”,其中它需要的所有数据都在同一“行”(或实体,在应用引擎的情况下)中)。

我遇到的问题是,所有这些视图的创建和更新似乎都是图书馆应该做的事情,而不是我应该手动做的事情。是否有与 GAE 一起使用的工具,您可以在其中指定数据的某些视图,然后期望它们将被适当地创建和处理?我相信CouchDB会这样做......

4

1 回答 1

2

视图通常是 RDBMS 功能而不是非相关功能。不过,您所描述的内容听起来像是物化视图,虽然它们是一个有效的解决方案,但它们不是一个常见的解决方案,因此没有任何 App Engine 库(我知道)可以这样做这。

更常见的是简单地以促进高效读取的方式存储非规范化的数据,并在写入时直接更新数据。

于 2011-01-30T23:30:05.663 回答