• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hooopo
V2EX  ›  程序员

PostgreSQL 到 MySQL 到 TiDB 迁移实践

  •  1
     
  •   hooopo ·
    hooopo · Jun 25, 2021 · 7356 views
    This topic created in 1965 days ago, the information mentioned may be changed or developed.

    AskTUG 论坛迁移实战:Discourse 从 PostgreSQL 到 MySQL 到 TiDB

    https://asktug.com/t/topic/93923

    27 replies  •  2021-12-28 09:31:17 +08:00
    Aoang
    Aoang
    Jun 25, 2021 via Android
    1
    看了看文章,觉得很赞。

    不过它的这个业务需求及业务量,PostgreSQL + Citus 就完事了,省时省心省力,最后玩不转了,商业支持也不会比 TiDB 差
    hooopo
    hooopo
    OP
    Jun 25, 2021
    2
    @Aoang Citus 不错,之前也有关注过。但好像国内 PG 方面的 dba 太少了
    min
    min
    Jun 25, 2021
    3
    按照数据量看,这么搞意义不大啊
    beginor
    beginor
    Jun 25, 2021
    4
    就问你一句,用上了 postgis 怎么迁?
    hooopo
    hooopo
    OP
    Jun 25, 2021
    5
    @beginor 有点难,引入 ES 或 redis geospatial 可以
    bthulu
    bthulu
    Jun 25, 2021
    6
    浪费时间, 毫无意义, 直接上阿里云 PolarDB, 一个上午就搞定了
    bthulu
    bthulu
    Jun 25, 2021
    7
    刚看完了, 基本就是为了 TIDB 论坛应该使用 TIDB 数据库而迁移, 并不是达到了业务瓶颈.
    迁移过程中大量改动了原有的 sql 语句, 并加了很多魔法修改, 对其他人来说, 没有什么实际意义.
    blakejia
    blakejia
    Jun 25, 2021
    8
    Discourse 是一个典型的 HTAP 型应用,它的管理后台有很复杂的报表查询,随着论坛数据量增加,单机 PostgreSQL 很容易出现性能瓶颈。而 TiDB 5.0 引入的 TiFlash MPP 计算模型正好满足了这种应用场景需求。通过引入 TiFlash 节点,对一些复杂的统计分析类查询做并行处理,达到加速的效果。并且不需要改动 SQL 和复杂的 ETL 流程。

    ---------

    具体的性能瓶颈能说下么?一笔带过没有啥技术讨论的意义。从 postgres 转向 mysql 的能解决哪些问题? mysql 转向 TIDB 又能解决哪些问题?
    roundgis
    roundgis
    Jun 25, 2021 via Android
    9
    @hooopo 如果重度依賴 postgis

    redis 那個也無法替換

    需要自己實現,不見得容易
    ynkkdev
    ynkkdev
    Jun 25, 2021❤️3
    10
    @beginor #4 解决了 TiDB 数据库官方论坛 AskTUG 的 web 服务,使用 PostgreSQL 作为数据库的窘境
    victor
    victor
    Jun 25, 2021
    11
    「 7000+ 注册用户,沉淀了 1.6w+ 问题和 300+ 技术文章」到「 Discourse 是一个典型的 HTAP 型应用,它的管理后台有很复杂的报表查询,随着论坛数据量增加,单机 PostgreSQL 很容易出现性能瓶颈。」

    是 PostgreSQL 太差还是 Discourse 的管理后台报表查询复杂上天了,这点数据量会性能瓶颈?
    sykp241095
    sykp241095
    Jun 25, 2021
    12
    可以理解为这次迁移是产品测试的一环。
    NoirStrike
    NoirStrike
    Jun 25, 2021❤️1
    13
    TiDB 同时兼容 MySQL 协议和生态,迁移便捷,运维成本极低
    .........
    TIDB 运维成本很低? 上家用的时候都是大佬在伺候
    cstj0505
    cstj0505
    Jun 25, 2021
    14
    从数据库功能看不出有什么迁移的必要
    hooopo
    hooopo
    OP
    Jun 25, 2021
    15
    @bthulu 据我了解 PolarDB 并不是一款 HTAP 数据库,应用场景不 match

    对于其他人的意义,就是如果有从 PG 向 MySQL 迁移的需求,文章里应该覆盖了大部分不兼容的列表和处理方法,可以少走很多弯路。就是一个纯技术分享,也并不是说 MySQL 比 PG 好,只是因为更熟悉而已。
    hooopo
    hooopo
    OP
    Jun 25, 2021
    16
    @blakejia 这里写的确实有点简陋了,由于篇幅原因,之后有时间可以做详细的对比。

    Discourse 这个项目虽然看起来简单,但功能还是很复杂的,报表之类的查询其实没有太多优化空间,OLTP 数据库里一般聚合查询都是全表扫再加上计算,单机很容易出现瓶颈。聚合查询慢也不能算瓶颈吧,有时候就是慢,看个人的忍受程度了,但快一定不是坏事。

    MySQL 转 TiDB 只是一个过渡手段,因为 TiDB 是几乎兼容 MySQL 的。引入 TiFlash 之后,就可以通过增加机器来实现报表查询的加速效果。
    hooopo
    hooopo
    OP
    Jun 25, 2021
    17
    @roundgis 确实。
    sirnay
    sirnay
    Jun 25, 2021
    18
    所以并不是 PostgreSQL 转到 MySQL 再转到 TiDB ?
    只是为了转到 TiDB 所以先转成了 MySQL ?
    hooopo
    hooopo
    OP
    Jun 25, 2021
    19
    @youngce 同样是 9 年义务教育,为什么你那么优秀!
    hooopo
    hooopo
    OP
    Jun 25, 2021
    20
    @sirnay 是的!过河拆桥
    hooopo
    hooopo
    OP
    Jun 25, 2021
    21
    @victor 都很优秀,报表生成可能还需要其他维度的数据,比如用户点击、用户行为,这种表体量会更大一些。
    dayeye2006199
    dayeye2006199
    Jun 26, 2021
    22
    PG 的生态其实特别有意思,国内大家用 mysql 太多,关注 PG 少。

    像这种报表比较多的数据需求,有 https://greenplum.org/ ,citus 我记得也是支持列式存储来更好支持分析型数据需求。也有专门做插件来支持并行执行,列式索引的商业公司: https://swarm64.com/

    文档型数据,PG 也原生支持 JSON 数据类型和 JSON 索引,简单的需求直接上 PG 就行。

    PG 的 FDW ( Foreign Data Wrapper )也非常好玩,可以实现直接接驳对象存储实现数据查询的好玩操作
    hooopo
    hooopo
    OP
    Jun 26, 2021 via Android
    23
    realpg
    realpg
    Jun 26, 2021
    24
    @victor #11
    这点数据量,SQLITE 觉得我都行
    hooopo
    hooopo
    OP
    Jun 26, 2021 via Android
    25
    @realpg 你觉得行你来试试
    adoal
    adoal
    Jun 26, 2021 via iPhone
    26
    一个屁股决定脑袋的案例,只是为了证明自家的狗粮可以吃。有点像以前微软买了 hotmail 之后服务器迁移操作系统。
    freebsdjlu
    freebsdjlu
    Dec 28, 2021
    27
    就像是 oug 论坛,后面不用 db2 一样,从数据量来看,这应该不是技术问题。gitlab 不比这个大多了,不也用 pg 做支撑么。 而对普通用户来讲,用官方不支持的产品,是给自己以后挖坑。个人认为,这不是一个好的示范。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3806 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 05:41 · PVG 13:41 · LAX 21:41 · JFK 00:41
    ♥ Do have faith in what you're doing.