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

时间:2019-05-03 22:10:52

标签: django database postgresql cassandra google-cloud-bigtable

我已经创建了一个聊天应用程序,目前我正在其中存储所有用户的完整聊天记录。

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

所以我想知道如何水平缩放postgres数据?我听说SQL数据库中的分片并不简单,而且扩展规模有限。就像我听说过的那样,Google的大表可以扩展到100 PB,而postgres很难扩展到该级别。是真的吗如果没有,那么现在如何扩展?另外,如何处理消息历史记录,它们最终将变得太大而无法处理?

另一个问题是,我是否应该转移到另一个数据集以处理诸如mongodb或Cassandra之类的扩展,因为这使我担心最终我将不得不每月扩展至数十亿条消息,如果现在可以进行迁移,那会更好。我不想过度思考或过度分析,而只是想了解如何解决问题

1 个答案:

答案 0 :(得分:1)

  

...我听说Google的Bigtable可以扩展到100 PB

确实,Bigtable是PB级数据库。请注意,有些人肯定已经将商品PostgreSQL扩展到PB,例如雅虎!追溯到2008年:

https://www.quora.com/Who-has-the-largest-PostgreSQL-database

如评论中所述,这似乎更像是一个堆栈设计问题,您可能还想看看http://highscalability.com/