现在 MySQL 归 Oracle 所有,许多人开始考虑使用一些流行的分支,例如 MariaDB 和 Drizzle。
有人在生产环境中长期使用过这些产品吗?如果是,这些功能是否稳定,体验是否与 MySQL 相当?
答案1
我们还没有使用过 MySQL 分支,但对于我们的情况(生物信息学数据库),切换到 PostgeSQL 效果非常好。Web 应用程序(Cellwall Navigator,10k 行 Perl 代码和 10 个数据库表)在 MySQL 上运行了 5 年。我们花了 2 天时间调整 SQL 以迁移到 Postgres。
除连接到数据库之外,不需要对应用程序编码进行任何调整。
调整内容如下:
将 MySQL password() 替换为 Postgres md5(),如下
SELECT id FROM users WHERE email = ? AND password = password(?)
所示SELECT id FROM users WHERE email = ? AND password = md5(?)
轻松将 MySQL STRAIGHT_JOIN 转换为常规 JOIN
- 还有一个这样的 JOIN 案例
MySQL 允许的原始 SQL(迁移前应用程序运行良好):
SELECT sequence.id, ... FROM sequence JOIN xlink ON xlink.sequence = sequence.id WHERE xlink.accession = ? GROUP BY sequence.id
我们对其进行了调整,使其适合在 PostgeSQL 中工作并且适合应用程序:
SELECT DISTINCT sequence.id, ... FROM sequence JOIN xlink ON xlink.sequence = sequence.id WHERE xlink.accession = ?
答案2
我用http://www.percona.com/software/percona-server/现在它很棒。我还知道一些非常受欢迎的互联网公司使用它
答案3
我在 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。