我想请教一下如何高效地构建数据模型来实现以下简单系统。我对非关系型思维还比较陌生,希望能避免明显的陷阱。据我所知,一个基本原则是“存储便宜,不要担心数据重复”,这与规范化的关系型数据库管理系统有所不同。
我想建立的模型是:
一篇博客文章可以被赋予0至n个标签。许多博客文章可以共享相同的标签。在检索数据时,希望能够检索与标签匹配的所有文章。在许多方面,这与stackoverflow采取的方法非常相似。
我的正常思维方式是在标签和博客文章之间创建多对多关系。然而,在GAE的上下文中,我认为这可能会很昂贵,尽管我已经看到了一些例子。
也许可以使用ListProperty将每个标签作为文章实体的一部分,并使用第二个数据模型来跟踪添加和删除的标签?这样就不需要任何关系,而ListProperty仍然允许查询任何匹配列表元素的结果。
您对在GAE上最有效的方法有什么建议吗?
我想建立的模型是:
一篇博客文章可以被赋予0至n个标签。许多博客文章可以共享相同的标签。在检索数据时,希望能够检索与标签匹配的所有文章。在许多方面,这与stackoverflow采取的方法非常相似。
我的正常思维方式是在标签和博客文章之间创建多对多关系。然而,在GAE的上下文中,我认为这可能会很昂贵,尽管我已经看到了一些例子。
也许可以使用ListProperty将每个标签作为文章实体的一部分,并使用第二个数据模型来跟踪添加和删除的标签?这样就不需要任何关系,而ListProperty仍然允许查询任何匹配列表元素的结果。
您对在GAE上最有效的方法有什么建议吗?