Django 如何扩展聊天应用程序数据库?

Django 如何扩展聊天应用程序数据库?,django,database,postgresql,cassandra,google-cloud-bigtable,Django,Database,Postgresql,Cassandra,Google Cloud Bigtable,我制作了一个聊天应用程序,目前我正在其中存储所有用户聊天的完整历史记录 我使用django作为后端,postgres作为数据库。我每天有近10万活跃用户,每天发送约100万条消息 所以我想知道如何水平缩放postgres数据?我听说切分在SQL数据库中并不简单,而且它们在扩展方面也有限制。我听说谷歌的大表可以扩展到100 PB,而postgres很难扩展到这个水平。这是真的吗?若否,目前如何进行规模调整?此外,如何处理消息历史,它们最终会变得太大而无法处理 另一个问题是,我是否应该转移到另一个数

我制作了一个聊天应用程序,目前我正在其中存储所有用户聊天的完整历史记录

我使用django作为后端,postgres作为数据库。我每天有近10万活跃用户,每天发送约100万条消息

所以我想知道如何水平缩放postgres数据?我听说切分在SQL数据库中并不简单,而且它们在扩展方面也有限制。我听说谷歌的大表可以扩展到100 PB,而postgres很难扩展到这个水平。这是真的吗?若否,目前如何进行规模调整?此外,如何处理消息历史,它们最终会变得太大而无法处理

另一个问题是,我是否应该转移到另一个数据集来处理像mongodb、Cassandra或其他任何东西这样的扩展,因为这让我担心最终我将不得不扩展到每月数十亿条消息的级别,如果我现在可以转移,那会更好。我不想过度思考或过度分析,只想了解如何去做

。。。我听说谷歌的Bigtable可以扩展到100 PB

Bigtable确实是一个PB级的数据库。请注意,有些人已经将商品PostgreSQL扩展到PB级,例如Yahoo!早在2008年:


如评论中所述,这似乎更像是一个堆栈设计问题,您可能还想看一看。

我认为这个问题最好在或处回答,检查。有趣的问题。你的备份有多大?这会让你知道你有多麻烦。显然,PostgreSQL会自动根据这一点进行一些表压缩。另外,我想知道你是否可以通过(1)给出回复和消息建议,然后(2)将它们压缩成神奇的代码来进行压缩。