V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kikione
V2EX  ›  程序员

mysql 一个数据不断增长表,现在有百万数据了,每天取出更新的数据中,来进行数据处理,入另外一个库。

  •  
  •   kikione · 2021-09-10 14:19:51 +08:00 · 1950 次点击
    这是一个创建于 1166 天前的主题,其中的信息可能已经有所发展或是发生改变。

    1,这个表会越来越大

    2,每天可能有几 W 数据更新。

    3,偶尔可能停机,然后一次更新几十万,甚至上百万。

    这种场景下,我怎么处理数据比较好? 大家有什么好的方案,可以提出来,让我借鉴思考一下,谢谢!

    9 条回复    2021-09-13 20:19:14 +08:00
    nekoneko
        1
    nekoneko  
       2021-09-10 14:41:26 +08:00
    几百万数据也不多单表足够
    要优化 按日期分区就行
    Chinsung
        2
    Chinsung  
       2021-09-10 15:26:16 +08:00
    canal 订阅,取 update 语句的数据去同步到另外一个库?
    还是看具体业务场景,要做的是什么数据处理,无上下文的纯数据过滤清洗还好,要是有上下文的这种,可能就不适用了
    Jface
        3
    Jface  
       2021-09-10 15:33:49 +08:00
    这。。。搭建一个数仓平台吧,Hadoop + HIve + Spark 一套带走。
    xsm1890
        4
    xsm1890  
       2021-09-10 15:44:47 +08:00
    几百万数据对于现在版本的 mysql 真的不算问题哦
    james2013
        5
    james2013  
       2021-09-10 16:09:33 +08:00
    1.如果这个表的数据指定条件查询少,可以尝试按年分表,正好 1 年数据单表差不多 1kw
    2.如果这个表的数据指定条件查询多,可以尝试按业务字段分表,比如固定拆分为 10 张表,就可以用 10 年了
    c88155745
        6
    c88155745  
       2021-09-10 17:14:58 +08:00
    OrangeCrazy
        7
    OrangeCrazy  
       2021-09-10 17:42:34 +08:00
    看你需求,数仓中可以参考拉链表的概念.
    记录有变化的行.
    UINON ALL
    无变化的行.
    就是你要的全量数据.再往下游就看你需求怎么使用了.
    ospider
        8
    ospider  
       2021-09-13 08:45:34 +08:00
    你需要一个消息队列,比如 Kafka 。然后双写数据库和消息队列
    jaylengao
        9
    jaylengao  
       2021-09-13 20:19:14 +08:00
    几百 W 不是小意思吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5763 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 06:30 · PVG 14:30 · LAX 22:30 · JFK 01:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.