现在MySQL已经被Oracle所拥有,许多人开始考虑使用MariaDB和Drizzle等一些stream行的分支。
有没有人使用这些在生产中的任何延长的时间? 如果这样的function已经稳定,并有经验与MySQL相媲美?
我们还没有使用MySQL分支,但是对于我们的情况(一个生物信息数据库)来说,切换到PostgeSQL工作得非常好。 Web应用程序(Cellwall Navigator,10k行Perl代码和10db表)在MySQL上运行了5年。 我们花了2天时间调整SQL以迁移到Postgres。
除了连接到数据库外,没有编码的应用程序需要调整。
调整是:
用这个Postgres md5()取代MySQL密码()像这样SELECT id FROM users WHERE email = ? AND password = password(?)
SELECT id FROM users WHERE email = ? AND password = password(?)
成为SELECT id FROM users WHERE email = ? AND password = md5(?)
SELECT id FROM users WHERE email = ? AND password = md5(?)
轻松将MySQL STRAIGHT_JOIN转换为常规JOIN
MySQL允许的原始SQL(在迁移之前可以正常工作):
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倍,处理相当数量的stream量 – 在繁忙时间每秒大约3K个查询。 在我看来,这是最好的MySQL,没有理由使用任何其他的MySQL。
它比普通的MySQL(感谢包含的Percona XtraDB / InnoDB插件)执行得更好,并且包含了除了Percona工作之外的更多有用的补丁和存储引擎。
我可以继续讨论普通MySQL所不具备的不可或缺的function – 使用多处理器机器可以显着提高性能,innodb恢复时间大大提高,主线MySQL中的错误得到快速处理,表和索引统计信息非常有用。我很高兴看到添加HandlerSocket( 通过Percona )
MySQL 5.5最近刚刚发布,并且(最终)接近于包含XtraDB引擎的性能,但我仍然认为MariaDB是更好的select。
使用MariaDB。