既然MySQL已由Oracle拥有,许多人开始考虑使用一些流行的派生类,例如MariaDB和Drizzle。
是否有人在生产中使用了很长时间?如果是这样,功能是否稳定并且体验是否可与MySQL相提并论?
既然MySQL已由Oracle拥有,许多人开始考虑使用一些流行的派生类,例如MariaDB和Drizzle。
是否有人在生产中使用了很长时间?如果是这样,功能是否稳定并且体验是否可与MySQL相提并论?
Answers:
我们没有使用MySQL分叉,但是对于我们的案例(一个生物信息数据库),切换到PostgeSQL确实非常有效。Web应用程序(Cellwall Navigator,10k行Perl代码和10个db表)在MySQL上运行了5年。我们花了两天时间来调整SQL以便迁移到Postgres。
除连接到数据库外,无需编码的任何应用程序都需要进行调整。
调整是:
像这样用Postgres md5()替换MySQL password()
SELECT id FROM users WHERE email = ? AND password = password(?)
成为SELECT id FROM users WHERE email = ? AND password = md5(?)
轻松将MySQL STRAIGHT_JOIN转换为常规JOIN
原始SQL,这是MySQL允许的(在迁移之前,该应用可以正常运行):
SELECT sequence.id, ... FROM sequence JOIN xlink ON xlink.sequence = sequence.id WHERE xlink.accession = ? GROUP BY sequence.id
我们将其调整为适用于PostgeSQL的正确SQL,并针对该应用程序进行了纠正:
SELECT DISTINCT sequence.id, ... FROM sequence JOIN xlink ON xlink.sequence = sequence.id WHERE xlink.accession = ?
我现在使用http://www.percona.com/software/percona-server/,它很棒。我也知道一些使用它的非常受欢迎的互联网公司
我已经在Ravelry.com上运行MariaDB大约一年了。主数据库比40 GB缓冲池大5倍,它处理大量流量-在繁忙时间每秒约3K查询。我认为,这是目前最好的MySQL,没有理由使用任何其他MySQL。
它的性能比常规MySQL更好(这要归功于随附的Percona XtraDB / InnoDB插件),并得到积极维护,并包含除Percona以外的其他有用的补丁和存储引擎。
我可以继续讨论普通MySQL所没有的不可或缺的功能-多处理器计算机的性能显着提高,innodb恢复时间得到了极大的改善,快速处理了MySQL主线中的错误,表和索引统计非常有用...我很高兴看到添加了HandlerSocket(通过Percona)
MySQL 5.5是最近发布的,并且确实(最终)接近了所包含的XtraDB引擎的性能,但是我仍然认为MariaDB是更好的选择。
使用MariaDB。