OneSQL,为高并发、高可靠的关键业务场景定制的MySQL增强版本,100%兼容官方!

OneSQL是一个与Oracle官方版本百分之百兼容的MySQL定制高性能、高可扩展性版本。有将近5年的eBay中国运营中心(COC)高级DBA工作经历,以及阿里巴巴(支付宝)6年时间的DBA主管、数据架构师的职业生涯,一直在维护着世界上最大型的电子商务交易和支付网站,其中在支付宝设计的数据库系统支持了每天超过1亿笔的在线支付订单,6年时间里业务增长超过了100倍。在过去的十几年中,我们在解决下面几个问题上花费了较多的时间。

  1. 如何让MySQL平稳地支持超过10000个连接,以支持应用的不断扩容?任何数据库的并发连接到达这个值都不会很轻松。
  2. 如何让MySQL在高并发下保持很好的性能而不下降?不只是MySQL会遇到问题,Oracle也一样。
  3. 在大家都在争抢同一个优惠幅度极大的iPhone手机的情况下,如何提升系统事务处理速度?能否达到和NoSQL一样的性能。
  4. 如何保证MySQL在故障进行主备切换时不会丢失数据?
  5. 如何解决MySQL备库经常落后的问题?如何加快备库单个恢复性程的性能以保证读写分离方案可正常运行?
  6. ……

面对这些困难的挑战,我们曾花费大量的时间和人力在应用层进行层层限流保护,以保证数据库层的平稳运行,是一个耗费了几年时间的大工程。当我们对开源数据库(如MySQL等)的源代码越来越了解后,发现有很多的应用层限流保护措施可以迁移到数据库层,以变得更加有效,并且可以节约应用研发成本。下面是几个在我们的OneSQL定制版本中实现的功能和改进:

  1. 多队列线程池解决大并发下的性能问题,以及对不同的操作进行按需资源隔离,彻底避免了连接池饿死的情况。
  2. 热点商品队列可以进升同一个商品高并发出库的性能问题。
  3. 热点事务优化可以进一步提升同一个商品高并发出库的性能问题。
  4. 独立日志线程可以将大量小事务的并发处理性能提升到和Oracle同一个水平。
  5. 异步事务提交可以提升数倍MySQL事务性能,适用于Zabbix、物联网等业务场景。
  6. 限制登录模式可以让主备切换变得更加安全,并且更容易自动化。
  7. 对日志锁优化可以有效地提升主备日专传输和恢复的性能。
  8. 实时日志同步可以有效地保护主备数据一致,避免在切换时造成数据延迟和丢失。
  9. 客户端负载均衡可以跳过F5/LVS/Haproxy等机制来做Load Balance,适合PHP用户。
  10. 预留10个连接给root用户,以保证任何时侯管理员都能连接上数据库,进行紧急处理。
  11. CPU资源绑定方便单机多实例布署下的CPU资源控制(隔离和共享)。
  12. OneAgent性能插件可以让你使用MySQL客户端远程查看主机负载情况文件卷空间使用、以及InnoDB内核性能指标

能过数据库层的有效定制,OneSQL可以在不改动应用代码的情况下,得到更好的查询和事务处理性能,并可以根据并发来控制CPU的使用上限,让数据库和操作系统(Linux)运行的更加平稳。并且在上万个并发连接的情况下,运行非常平稳,完全达到MySQL企业版本一样的效果,并且能更好。

你可以下载完整的OneSQL包,并解压到“/usr/local”目录,接下来从原来的MySQL目录下拷贝参数文件到OneSQL的主目录,并启动OneSQL实例,你的应用就可以享受到这些超强的功能和改进了。