gpt4 book ai didi

python - 分片 Django 项目

转载 作者:行者123 更新时间:2023-11-28 22:58:44 29 4
gpt4 key购买 nike

我正在启动一个 Django 项目,需要对多个可能包含太多行的表进行分片。我浏览了这里和其他地方的线程,并遵循了 Django 多数据库文档,但我仍然不确定它们是如何缝合在一起的。我的模型具有会被分片破坏的关系,因此似乎可以选择放弃外键或放弃对各个模型进行分片。

为了论证,考虑经典的 Authot、Publisher 和 Book 场景,但加入书籍副本和可以拥有它们的用户。比如说书籍和用户必须被分片。你会如何处理?用户可能拥有不在同一数据库中的一本书的副本。

一般来说,您用于路由和分片本身的最佳实践是什么?您是否使用了 Django 数据库路由器,根据您的分片逻辑在命令中手动选择了一个数据库,或者重写了 ORM 的某些部分来实现这一点?

如果重要的话,我在 Ubuntu 上使用 PostgreSQL。

非常感谢。

最佳答案

过去我使用 Postgresql 做过类似的事情 Table Partitioning ,但是这只是在同一个数据库中拆分了一个表。这有助于减少表搜索时间。这也很好,因为您不需要对 Django 代码进行太多修改。 (确保使用用于约束的字段执行查询)。

但这不是分片。

如果你还没有看过,你应该看看Sharding Postgres with Instagram.

关于python - 分片 Django 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13620867/

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