› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
fatyoung
V2EX  ›  MySQL

周五思考题:关于分表和分区表导致的热点数据问题

  •  
  •   fatyoung · Nov 3, 2023 · 1355 views
    This topic created in 1058 days ago, the information mentioned may be changed or developed.
    以 mysql 为背景。假设我要把用户的发言记录(或者说朋友圈)持久化,因为用户量比较大,每个用户的发言记录数量不限制。

    我先想到的处理方法就是根据用户 ID 取模做分表存储,这样方便查询每个用户各自发表过的记录,但是可能存在热点数据的问题,分表数据量可能不均匀。

    还有一个疑问就是 mysql 是支持分区表的,这种场景下,使用用户 ID 取模的方式去分表是否合适?使用分区表或者分表去做,有什么区别吗?或者说优缺点?

    核心场景有两个:
    1.用户发言
    2.用户查看自己的发言记录

    ps: 大家请暂时忽略数据量问题,忽略 "这个数据量单表就能支撑"
    1 replies  •  2023-11-04 12:57:07 +08:00
    julyclyde
        1
    julyclyde  
       Nov 4, 2023
    可以做一个 router 函数,根据 id 进行人为分区
    代替取模这种和业务无关的纯计算方法
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2464 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 01:02 · PVG 09:02 · LAX 18:02 · JFK 21:02
    ♥ Do have faith in what you're doing.