gpt4 book ai didi

python - AppEngine 数据策略来处理每个用户的大索引?

转载 作者:行者123 更新时间:2023-12-01 06:14:18 25 4
gpt4 key购买 nike

我正在用 Python 构建一个 AppEngine 应用程序。

为了便于讨论,假设我正在构建一个 Gmail 克隆。除了每个用户有一百万封短电子邮件。

关键是,每个用户都会有一个很大的搜索索引,全部属于自己;就像 Gmail 一样,每个用户都有自己内容的个人“搜索引擎”。

现在想象一下,其中许多消息属于多个用户(例如邮件列表电子邮件或抄送一百个用户)。不是全部,但有一些合理的部分。

在不过早优化的情况下,存储数据和索引的最佳选择是什么?

最佳答案

如何在每封邮件中存储用户 key 列表?这是假设一条消息不会被超过一百个左右的用户所拥有。

class User(db.Model):
"usual properties like name, etc"

class Message(db.Model):

# list of users that have this message
users = db.ListProperty(db.Key)

如果您想要无限数量的用户*消息关系,您可以使用另一个表:

class UserMessage(db.Model):

user = db.ReferenceProperty(User)
message = db.ReferenceProperty(Message)

这里有几篇关于 GAE 上的关系建模的好文章:

http://code.google.com/appengine/articles/modeling.htmlhttp://blog.notdot.net/2010/10/Modeling-relationships-in-App-Engine

关于python - AppEngine 数据策略来处理每个用户的大索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4120468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com