1
9
您指定了网站需要提供的两个特定“视图”:
不可能的 . 我会仔细检查每个问题:
如果#1和#3返回的项目数量足够少,那么GAE几乎肯定会是 在允许的范围内这样做。这应该足以满足你的个人需求-听起来你主要需要它来工作,而不需要它来扩展到大量的用户(不会)。 改进建议:
其他不太具体的改进意见:
|
2
7
正如你所注意到的,这种设计无法扩展。它需要4(!!!)DB查询以呈现页面。太多了3个:) 使用appengine数据存储的主流概念是,在编写某些内容时,您希望尽可能多地进行工作,因此在检索和呈现某些内容时,几乎不需要做任何事情。与呈现数据的次数相比,您大概只写了很少的次数。 正常化同样也是你努力追求的目标。数据存储没有在规范化中放置任何值——这可能意味着更少的数据不一致,但也意味着读取数据要慢很多(4次读取?!!)。由于您的数据读取的频率远高于写入的频率,请针对读取进行优化,即使这意味着您的数据偶尔会被复制或在短时间内不同步。 与其考虑数据存储时的外观,不如考虑数据显示给用户时的外观。尽可能靠近该格式存储,即使这意味着在数据存储中存储预呈现的HTML。阅读速度会很快,这是一件好事。 task queue 是给你的。将您认为模型的“基本必需品”存储在数据存储中,然后启动一个任务队列将其拉回来,生成要呈现的HTML,并将其放在后台。这可能意味着在任务完成之前,您的模型可以立即显示,因此在这种情况下,您需要优雅地降级,即使这意味着在数据完全填充之前以“慢方式”渲染它。任何进一步的阅读都将是闪电般的快。 总之,我没有任何与您的数据库直接相关的具体建议——这取决于您希望用户看到数据时数据的外观。 可以
|
3
2
|