gpt4 book ai didi

mysql - 需要帮助选择正确的 mysql 数据库分片、集群或分区方法

转载 作者:行者123 更新时间:2023-11-29 00:56:33 24 4
gpt4 key购买 nike

我正在开发一个将使用三个表的应用程序。1 - 100 万行产品。2 - 5 亿行用户。3 - 100 亿行用户喜欢的产品。表格会随着时间的推移而增长,但会保持在这些数字附近。我想为这种数据库选择正确的方法。我真的不太了解分片、集群或分区,但如果你们中的一些人能告诉我这个问题的最佳解决方案,我会专注于它,这将是一个巨大的帮助。我只想要支持 mysql 的方法,如果我需要多个服务器来处理这种数据库?谢谢。

最佳答案

您可以非常轻松地对该数据集进行分片,但您可能不必分片,具体取决于您尝试进行的分析类型。如果这只是每个用户喜欢的历史记录,那么您可以使用 database partitioning按日期范围对数据进行分区,然后按 user_id 进行子分区。

如果您要经常更新日期(用户可以“不喜欢”事物),那么您可能需要考虑分片。这里有一个示例分片实现:Shard-Key-Mapper .您可以在此处对数据集执行分布式并行查询(如 SQL 的 map/reduce):Shard-Query .

如果你分片,我应该建议按 user_id 分片并将产品表保留为“共享”表,在每个分片上复制。您应该使用基于目录的分片方法,允许您在分片之间移动用户。关于单个用户的所有信息,以及关于他们喜欢什么的信息将一起存储在一个分片上。

关于mysql - 需要帮助选择正确的 mysql 数据库分片、集群或分区方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5857845/

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