我正在考虑编写一个应用程序,每个用户必须存储少量记录(< 300),但希望有很多用户(>> 1000)。 我做了一个平台的研究,如果有需要这样做并且可以使用App Engine,那么允许从小规模和小规模开始,但我不确定它是否是适合它的工具,尤其是数据存储区。
如果我有一个User实体和一个Message实体并将所有用户和消息存储在该实体中,我将如何进行扩展?我认为实体中的记录数量会变得非常大,过滤即用户的所有消息都会变得昂贵。这是一个问题还是Google会处理这个问题?我是否必须引入多租户并为每个用户创建命名空间,因此我只看到与用户相关的实体中的记录?命名空间的数量是否有限制?在数据存储区中建模数据的正确方法是什么?
我真的不知道如何处理App Engine数据存储区以及它是否适合我。
答案 0 :(得分:2)
App Engine数据存储区明确设计用于处理此类可伸缩性。查询的执行时间与返回的记录数成比例,因此无论系统中有多少用户,获取所有用户的消息都将花费相同的时间。
答案 1 :(得分:1)
我认为使用这些数字你可以在可扩展性方面做得很好。任何严肃的数据存储都可以轻松处理300,000到数百万条记录。
答案 2 :(得分:1)
在项目的初期阶段考虑扩展是不可取的。你的第一步应该始终是构建一个应用程序/产品并启动它...扩展后来大多数推出这些的应用程序/产品几天从来没有达到他们需要扩展的水平..即使你做了或推出这样的网站/产品/应用程序,受到大量的流量,你需要扩展,然后欢欣鼓舞!因为你已经达到了这个水平..但是如何达到这个水平应该始终是第一个问题......
我不是试图让你失去理智,而是试图帮助你集中注意力...感谢阅读并祝你的应用好运!可能你需要扩展,正如Toby所说,即使是最基本的App Engine配置也足以处理成千上万的记录......