我正在开发具有相当复杂的数据模型的GAE应用程序。Google App引擎和数据库“Views”
基于我的理解,使用noSQL数据库(特别是GAE)处理复杂数据模型的一个好方法是使用数据的非规范化“视图”。如果浏览器客户端想要更新某些数据,服务器会对某些核心数据执行写操作,并返回“200 OK”,以便客户端可以继续,然后使用任务队列更新写入数据可能已受到影响的任何“视图” 。
然后,无论客户想要查询某些通常需要SQL连接的对象,它都可以查询“视图”,它需要的所有数据都在同一“行”(或实体,在应用引擎的情况下)。
我遇到的问题是,所有这些创建和更新视图似乎都是图书馆应该做的事情,而不是我应该手动做的事情。是否有一种工具可以与GAE一起使用,您可以在其中指定数据的某些视图,然后期望它们将被正确创建和处理?我相信CouchDB可以做到这一点...
嘿,尼克,感谢您的回复。当一些数据更新被复制(非规范化)在很多其他对象中时,在实例中执行的正常事情是什么?例如,如果员工的名字改变了,并且他的姓名被复制到他多年来一直使用的1000多个约会中? – 2011-01-31 04:32:48