「数据库迁移」MariaDB 和 Mysql 怎么选? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MonkLuf
V2EX    问与答

「数据库迁移」MariaDB 和 Mysql 怎么选?

  •  1
     
  •   MonkLuf 2014-07-10 02:41:33 +08:00 11490 次点击
    这是一个创建于 4190 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在我们公司的数据采用的是Mongodb,但是不支持事物,现在正好赶上系统重构,准备采用关系型数据库。

    现在就在考虑该怎么选MariaDB和Mysql。

    MariaDB是为替代Mysql而生,我主要对MariaDB有以下疑问:

    #1 MariaDB 和 Mysql不同的地方在哪?
    #2 MariaDB 现在稳定么?
    #3 MariaDB 兼容性真的很好嘛?
    #4 MariaDB 文档支持怎么样?
    #5 如何判断MariaDB和Mysql的发展趋势?

    希望使用过MariaDB的朋友来帮忙回答一下这几个问题,并留下你的建议和理由 :-)
    26 条回复    2014-07-11 23:19:29 +08:00
    em70
        1
    em70  
       2014-07-10 02:45:40 +08:00 via Android
    MariaDB非常不稳定,
    blacktulip
        2
    blacktulip  
       2014-07-10 03:08:50 +08:00
    我能投 PostgreSQL 一票么...
    abscon
        3
    abscon  
       2014-07-10 05:05:44 +08:00 via Android
    我能投 PostgreSQL 一票么...
    abscon
        4
    abscon  
       2014-07-10 05:10:56 +08:00 via Android
    我能投PostgreSQL一票么...
    molinxx
        5
    molinxx  
       2014-07-10 05:47:34 +08:00 via iPhone
    我也投PostgreSQL一票…
    xupefei
        6
    xupefei  
       2014-07-10 06:00:32 +08:00
    @em70 可以详细描述一下吗?我最近正打算把一个论坛迁移到 MariaDB 上呢……
    msg7086
        7
    msg7086  
       span class="ago" title="2014-07-10 06:02:48 +08:00">2014-07-10 06:02:48 +08:00   1
    现在全线maria,暂时没遇到什么问题。据说maria5.5合并了mysql5.6的更改,所以差别应该就是在mysql基础之上的改动。

    主要的不同点就是aria<=>myisam与XtraDB<=>innodb,总之就是在基础上改进了。是否稳定嘛你得自己试咯,不过就算有问题的话也可以导出重装再导入的。而且Percona也有不少商业环境是用的XtraDB,应该还是比较靠谱的。

    话说3楼好像被折叠了ww
    abscon
        8
    abscon  
       2014-07-10 06:19:07 +08:00 via Android
    @msg7086 三楼是我,因为我复制了二楼的内容。livid看来是不允许天涯那种叠罗汉的队形。
    一个项目历史上用mysql也就罢了,现在有机会要新选一个,为啥不用PostgreSQL?用在这里学的一句话说,MySQL逼格不够高
    20150517
        9
    20150517  
       2014-07-10 07:08:34 +08:00 via Android
    肯定上postgresql啊
    msg7086
        10
    msg7086  
       2014-07-10 07:11:38 +08:00
    @abscon (刚刚打了很久结果浏览器崩了,所以简单说

    迁移pg会造成学习成本很高。要学习新的东西,比如怎么搞账号系统,怎么搞自增主键,怎么搞主从备份。SysAdmin要重新培训,程序员要重新适应环境。做个新系统还要全员培训一下,很多企业不一定愿意付出这个代价。

    而且mysql用了那么久了,该掉的坑都掉过了,转到pg还要重新找坑点,万一数据库傲娇一下你系统就挂了。
    整个迁移过程代价就太大了。
    sky888
        11
    sky888  
       2014-07-10 08:39:39 +08:00
    PostgreSQL+pdo稳定吗,速度快吗,可用吗,比php+mysql来说。
    initialdp
        12
    initialdp  
       2014-07-10 08:59:43 +08:00
    我觉得跟着系统走吧。如果系统自带的是mysql,就用mysql。MariaDB目前还只有fedora,openSUSE等几个发行版本默认采用吧。

    实际上,至少到目前为止,从mysql转mariadb也不复杂,基本上都是兼容的。我们测过一个已有系统转mariadb,无痛转换。
    xiandao7997
        13
    xiandao7997  
       2014-07-10 09:03:15 +08:00 via Android
    不是说 Wikipedia 已经转到 MariaDB 上了吗
    ipconfiger
        14
    ipconfiger  
       2014-07-10 09:40:31 +08:00
    pg相当的稳定
    codingpp
        15
    codingpp  
       2014-07-10 09:43:16 +08:00
    稳定是什么概念mysql也很稳定啊
    wy315700
        16
    wy315700  
       2014-07-10 09:45:33 +08:00 via Android
    RHEL 7都自带Maria 了
    chaixl
        17
    chaixl  
       2014-07-10 09:53:37 +08:00
    建议MariaDB,我们之前在生产环境使用MariaDB 5.5,子查询速度秒杀mysql 5.5,不过据说mysql 5.6也已经优化了。
    arslion
        18
    arslion  
       2014-07-10 10:15:02 +08:00
    CentOS 7.0 可以预装MariaDB
    msg7086
        19
    msg7086  
       2014-07-10 10:41:07 +08:00
    @initialdp debian 8 里也已经由软件源提供了,apt装就行。
    huawuya
        20
    huawuya  
       2014-07-10 10:55:33 +08:00
    PostgreSQL吧,我们公司就从mysql转到PG了。
    abscon
        21
    abscon  
       2014-07-10 10:58:29 +08:00   2
    @msg7086
    臀部决定立场。人都是有惰性的,假设程序员/数据库管理员已经很熟悉MySQL,而完全没有听说过PostgreSQL,那么有抵触心理是难免的。毕竟换一个数据库不见得对自己有明显的好处,但是肯定会增加自己的学习时间(哪怕是一点点时间,那也是“大量”啊)。
    如果自己是老板或CTO,那考虑的就不一样了,可以从项目的需求出发选择。楼主的公司连Mongodb这种NoSQL都敢用,那PostgreSQL这么成熟的,主流的数据库有什么不可尝试的。PostgreSQL特性那么丰富,还能当NoSQL用呢。
    不知道楼主公司的项目使用数据库的方式是什么。如果有间接层,像ORM之类的屏蔽了各个数据库的差异,只用到SQL的大路货,那么对于程序员来说各个数据库都是一样的。早期开发时用SQLITE,后面再换PostgreSQL/MySQL都是可以的。
    除非程序员都要直面大量赤裸裸的MySQL语句,使用了大量MySQL的专有特性,否则谈不上迁移代价太大
    “怎么搞自增主键,怎么搞主从备份”,这些又不是什么宇航科技,PostgreSQL当然有自己的解决方案,完全谈不上代价太大。
    如果使用数据库的人一定要踩坑才安心,那掉入PostgreSQL的坑确实比掉入MySQL的坑难多了,不推荐使用
    MonkLuf
        22
    MonkLuf  
    OP
       2014-07-10 14:28:20 +08:00
    选择关系型数据库出发点:
    # 完整的事物ACID支持
    # 比较好的稳定性(高可用性、抗高负)
    # 良好的Python driver
    # 在满足以上条件下,选择能够有持续开源更新能力的数据库

    看大家都力推PostgreSQL,可以尝试用下。有没有熟悉MariaDB的人来说说MariaDB?
    davepkxxx
        23
    davepkxxx  
       2014-07-10 14:29:59 +08:00
    直接换PostgreSQL吧
    mkeith
        24
    mkeith  
       2014-07-10 14:39:57 +08:00
    pgsql
    em70
        25
    em70  
       2014-07-10 14:43:11 +08:00 via Android   1
    @xupefei MariaDB是mysql社区维护版,很多BUG没人管,我之前一个程序迁移上去,天天出问题,大大小小的bug全被我遇上了,换MySQL立马解决
    xiaogui
        26
    xiaogui  
       2014-07-11 23:19:29 +08:00
    PostgreSQL
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5756 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 06:13 PVG 14:13 LAX 22:13 JFK 01:13
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86