V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Geon97
V2EX  ›  问与答

[讨论] 关于 MySQL 和 postgraSQL

  •  
  •   Geon97 · 2022-08-01 16:29:40 +08:00 · 4188 次点击
    这是一个创建于 606 天前的主题,其中的信息可能已经有所发展或是发生改变。
    关于开源关系型数据库,为什么国内使用 MySQL 更多,而不是更强功能更安全的 postgraSQL ?学校里教这个的也少?
    当然,postgraSQL 也有缺点,在这我就不一一举例和横纵向对比了
    现在各位 V 友公司用的什么开源数据库?
    第 1 条附言  ·  2022-08-01 17:46:26 +08:00
    打错字了,是 PostgreSQL ,输入法默认提示是 postgra...没仔细看
    36 条回复    2022-08-03 19:54:59 +08:00
    ipwx
        1
    ipwx  
       2022-08-01 16:30:51 +08:00
    ——如果可以复制修改老代码解决问题的话,为什么要使用新的数据库?

    这就是答案
    devinww
        2
    devinww  
       2022-08-01 16:40:39 +08:00 via iPhone
    MySQL oracle
    wxf666
        3
    wxf666  
       2022-08-01 16:43:51 +08:00
    不是一堆人把数据库当 kv 用的吗?那么多功能对他们有啥用?
    TWorldIsNButThis
        4
    TWorldIsNButThis  
       2022-08-01 16:53:02 +08:00 via iPhone
    听说是因为早期 Postgresql 不支持 replica ?
    Geon97
        5
    Geon97  
    OP
       2022-08-01 17:02:27 +08:00
    @TWorldIsNButThis 大概很早前不支持,现在支持。MySQL 是基于 binlog ,postgrasql 是基于 wal ,可以做到同步复制。postgrasql 好像也支持异步复制
    billzhuang
        6
    billzhuang  
       2022-08-01 17:23:15 +08:00
    这个问题我也奇怪,为什么不用 pg
    sunnysab
        7
    sunnysab  
       2022-08-01 17:27:13 +08:00 via Android
    Fix: 是 PostgreSQL ?
    我个人更喜欢 pg ,感觉国内现在也用的越来越多...
    hidemyself
        8
    hidemyself  
       2022-08-01 18:23:21 +08:00
    历史包袱
    singerll
        9
    singerll  
       2022-08-01 18:25:46 +08:00 via Android
    最大的问题还是 pg 入门有难度,开发人员需要学习成本,不像 mysql 基本上开箱即用。
    ScepterZ
        10
    ScepterZ  
       2022-08-01 19:04:20 +08:00
    大概是惯性吧,用过 pg 的人少,新项目刚开始的时候各种压力都小,选型不太重要,做大了之后再换也就难了
    GopherDaily
        11
    GopherDaily  
       2022-08-01 19:22:19 +08:00
    pg 相对于 MySQL 没有颠覆性创新;市场上的 MySQL 相关从业人员远远多于 pg
    hash
        12
    hash  
       2022-08-01 19:23:30 +08:00
    为什么国内那么多人用 CentOS 呢,因为当年"师傅"带我入门的时候用的就是 CentOS 啊
    BarryPan
        13
    BarryPan  
       2022-08-01 19:23:44 +08:00 via iPhone
    要不是业务用到的 timescaledb 基于 postgre ,我可能永远停留在 mysql
    liprais
        14
    liprais  
       2022-08-01 20:02:10 +08:00
    pg 对 mysql 没有颠覆式创新....
    光 window function 就是写进标准里的巨大创新好么....
    ChicC
        15
    ChicC  
       2022-08-01 20:21:23 +08:00
    因为<<学校里教这个的也少>>
    westoy
        16
    westoy  
       2022-08-01 20:29:21 +08:00
    postgresql 、freebsd 和 perl 其实差不多, 早年反而属于强势的那种, 最早的 CP 空间都支持 postgresql 的

    但是后来互联网公司推动了 linux + php + mysql + x86 服务器组合, 形成创业公司事实标准的时候, 这三个连续 N 年就跟死了一样.........等于一点挣扎都没有就把位置给人让出来了.......

    @TWorldIsNButThis mysql 在 3.x 和 4.0x 大杀特杀的时候甚至连事物和子查询都不支持........
    LeegoYih
        17
    LeegoYih  
       2022-08-01 21:07:03 +08:00
    互联网用数据库就存个数据,根本不用特性,计算都通过应用服务。
    公司有一套 MySQL 的生态,而且开发者比较熟悉 MySQL ,也就没有理由换其他数据库了。
    同理,如果有公司熟悉 PostgreSQL ,那他也没有理由换成 MySQL 。

    除非 PostgreSQL 宣布下个版本支持高性能分布式,否则 MySQL 不会被替代。
    QlanQ
        18
    QlanQ  
       2022-08-01 22:55:41 +08:00
    最主要的是,PHP 火的时候,mysql 是标配,然后 mysql 对其他语言的支持更好,然后就是现在的局面了
    pppguest3962
        19
    pppguest3962  
       2022-08-02 02:20:11 +08:00 via iPhone
    市场上找会 MySQL 的人容易
    msg7086
        20
    msg7086  
       2022-08-02 06:02:04 +08:00
    MySQL 系用起来比较无脑,我搞个 Postgres 还得花很久查文档。之前搞过一次,搞完再也不想搞了。
    documentzhangx66
        21
    documentzhangx66  
       2022-08-02 06:39:29 +08:00   ❤️ 1
    1.Mysql 与 PostgreSQL 都属于半斤八两的玩意。但 Mysql 因为用的人多,各种场景解决方案更多,因此 Mysql 比 PostgreSQL 更稳。

    2.最近两年 PostgreSQL 热度突然提高,原因是各大、中、小厂里的 DBA ,因为 MySQL 方向已经被玩烂,涨不了 KPI ,于是这帮人开始带 PostgreSQL 的节奏,甚至有些人,自称是 PostgreSQL 布道师,居然厚着脸皮拿 PostgreSQL 与 Oracle 进行对标,还搞出一张功能对比表,把 PostgreSQL 的优点拿去与 Oracle 的缺点比,新人们千万别上当。

    3.新项目能用 Oracle 的最好无脑 Oracle ,毕竟地球第一数据库,怕版权问题就放内网运行,关掉外网访问。

    4.如果不能用 Oracle ,选 MSSQL 也比 MySQL 与 PostgreSQL 好。
    shinession
        22
    shinession  
       2022-08-02 08:36:50 +08:00
    当我还是小白的时候,因为业务需要建个数据库,单表一百万的数据,全部默认设置没有索引没有主键,
    mysql 一个查询要 100 多秒,
    postgresql 同样查询只要 0.6 秒,
    从此就用 postgresql 了
    xaplux
        23
    xaplux  
       2022-08-02 08:43:27 +08:00
    MySQL 用的人多,所以用的人多
    Pg 用的人少,所以用的人少
    dbskcnc
        24
    dbskcnc  
       2022-08-02 08:51:02 +08:00 via Android
    15 年+pg 用户路过, 越来越好用了
    privil
        25
    privil  
       2022-08-02 08:52:15 +08:00   ❤️ 5
    @documentzhangx66 #21 见过鬼扯的,没见过那么鬼扯的,小数据量用啥都差不多,大数据量自然会有更好的选择,还有劝人用盗版,真是流弊
    Geon97
        26
    Geon97  
    OP
       2022-08-02 08:54:58 +08:00
    @shinession MySQL 属于中小型数据库
    zjsxwc
        27
    zjsxwc  
       2022-08-02 09:03:42 +08:00   ❤️ 1
    我业务里用数据库连写存储过程的机会都很少,
    也就普通 orm/sql 写写,
    为什么要 postgresql 替换 mysql ,
    维护公司老系统确实不少存储过程,但都是用微软的 sql server ,
    再怎么也轮不到用 postgresql 。
    privil
        28
    privil  
       2022-08-02 11:17:03 +08:00
    @Geon97 #26 MySQL 调优之后 单边千万级是没问题,PostgreSQL 完全不调优,随随便便几千万行,就挺离谱的,我司单表二点五亿行才发现自己代码有 bug 会重复操作导致表迅速膨胀。
    leonhao
        29
    leonhao  
       2022-08-02 14:35:33 +08:00   ❤️ 1
    @documentzhangx66 自己不熟悉的领域不要乱评价,容易被人笑话
    dcsuibian
        30
    dcsuibian  
       2022-08-02 22:11:57 +08:00
    从使用者的角度说:
    我本来就是轻度使用,对数据库的了解并不深,就算要花时间学,主要就是应付面试和以后工作需要。这种时候选 MySQL 才是更优的。

    就算我来决定数据库选型,我也不敢轻易使用 PG ,毕竟 MySQL 用的人多,解决方案多,说白了就是生态。出了问题好找人解决,也不容易被人挑毛病。

    另外就是性能的问题,就跟算法题似的,你的程序比我的快,但咱俩的都是 O(n)。就算换了一个,还是治标不治本嘛。


    但我是真心希望 PG 能流行起来,至少国内问起来大家都能知道。毕竟免费的性能提升有谁不爱呢
    documentzhangx66
        31
    documentzhangx66  
       2022-08-03 01:44:16 +08:00
    @privil
    你看不懂,无法理解,就认为是鬼扯,这种说法我见多了。

    行业内用 Oracle 盗版的多着去了。
    documentzhangx66
        32
    documentzhangx66  
       2022-08-03 01:46:51 +08:00
    @leonhao

    你要本事,就直接指出,我哪句话,说的有什么问题。

    你没这本事,只会放屁,你说你是不是个笑话?
    leonhao
        33
    leonhao  
       2022-08-03 09:46:48 +08:00
    @documentzhangx66 恼羞成怒了,你做过 PG 和 Mysql 的 admin 吗,你完整看过 PG 的文档吗,你对比过 Mysql 和 PG 的性能和特性吗,你是怎么得出 Mysql 和 PG 半斤八两的结论的
    leonhao
        34
    leonhao  
       2022-08-03 10:06:22 +08:00   ❤️ 1
    @Livid @documentzhangx66 还劝人用盗版不是坑人吗,承担法律风险是一件有趣的事情? Oracle 法律团队吃干饭的?不起诉你只是你公司太小,没啥油水,先养着。
    rim99
        35
    rim99  
       2022-08-03 10:33:26 +08:00
    @GopherDaily 论新功能 PG 比 MySQL 可太多了。PG 的查询可以编译后执行,MySQL 还在解释执行。PG 的 hash 索引都多少年了,MySQL 还在自适应 hash 索引。

    再回答楼主,MySQL 用的多是历史原因。早期 PG 的多进程架构和 Vacumm 功能等等对系统资源要求更高,MySQL 简单好用,所以流行很快。现在硬件比以前强太多了,PG 的架构优势就发挥出来了。稳定,而且性能更高。
    documentzhangx66
        36
    documentzhangx66  
       2022-08-03 19:54:59 +08:00
    @leonhao

    1.在整个主流数据库梯队里,Mysql 与 PG 就是半斤八两的货色。

    而且两个矮子比高,Mysql 因为有 Oracle 的改进,比 PG 更胜一筹。比如聚集索引,甚至官方的集群结构,秒了 PG 不知道多少条街。


    2.行内多少用 D 版的,只是你不知道而已,这是常态。而且我也已经提了风险的问题。

    Oracle 法律团队吃不吃干饭我不知道,但 Oracle 法律团队肯定干不过防火墙,因为他们没有千里眼顺风耳。你可能对网络原理、防火墙这类本科的知识不理解。没关系,回家补课吧。


    3.你 at 站长的样子,像极了小朋友说不过就告状的样子,恼羞成怒?到底是谁恼羞成怒了嘛?你又菜又急又告状还反咬一口的样子,好好笑哦。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2771 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 12:50 · PVG 20:50 · LAX 05:50 · JFK 08:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.