【发布时间】:2011-05-15 22:05:20
【问题描述】:
我正在考虑编写一个应用程序,每个用户必须存储少量记录(>1000)。 我对一个平台进行了一些研究,该平台允许从小规模开始并在需要时进行扩展,但我被 App Engine 卡住了,但我不确定它是否适合它,尤其是数据存储。
如果我有一个用户实体和一个消息实体并将所有用户和消息存储在这些实体中,我将如何使其扩展?我认为实体中的记录数量会变得非常大,并且过滤即用户的所有消息会变得昂贵。这是一个问题还是谷歌会处理这个问题?我是否必须引入多租户并为每个用户创建一个命名空间,以便我只能看到与用户相关的实体中的记录?命名空间的数量有限制吗?对数据存储区中的数据进行建模的正确方法是什么?
我真的不知道如何处理 App Engine 数据存储区以及它是否适合我。
【问题讨论】:
-
明确一点,你没有用户实体和消息实体,你有一个用户实体 kind 和一个消息 kind ,由用户模型和消息模型定义。你所说的“记录”是一个实体。
-
所以要正确理解:模型是类型,实体是该类型的实例?如果是这样的话,每种类型的实例数量是否重要(处理过滤的时间、最大配额限制)或只有我通过过滤检索到的实例数量?
标签: google-app-engine google-cloud-datastore data-modeling scaling