公司要上一个内网系统,采购问 MySQL 到底选哪个版本。翻官网定价页,企业版一年几千美金起,社区版免费,功能列表看着差不多。
代码同源,打包不同
两者内核是同一个项目,SQL 语法、存储引擎、复制机制都一致。企业版在社区版基础上加了插件包,另外附带一整套工具和技术支持。所以从社区版迁到企业版,应用代码基本不用改。
企业版多出来的东西
- 备份恢复工具,支持热备和增量,社区版要靠 mysqldump 或者第三方方案。
- 审计插件,能记录谁在什么时候执行了什么语句,等保场景常被问到。
- 线程池和企业级监控,连接数上万的场景更稳。
- 原厂支持,出问题可以提单,有响应时限。
这几项的共同点是:自己也能凑出来,但凑出来的东西没有人为它负责。审计用社区的 general log 也能记,代价是性能和磁盘。
什么情况下社区版够用
日均请求几十万以内、团队有 DBA、能接受自己搭备份和监控的,社区版完全撑得住。互联网公司大规模用社区版是常态,配套的周边工具生态成熟,Percona、MariaDB 这类分支也能顶。
真正该掏钱的场景是合规要求明确写了原厂支持,或者业务不能停机而团队没人专职看数据库。买的是责任边界,不是功能。
版本号上容易踩的坑
8.0 之后官方把版本节奏调快了,小版本更新频繁。社区版和企业版的小版本发布并不同步,混着用容易在补丁级别上对不齐。另外,企业版的备份工具对版本有硬性要求,升级前先对一遍兼容矩阵。
我的判断:先按社区版做技术选型,把审计、备份、监控的方案写进设计文档,再拿这份清单去谈企业版报价。要买的是缺的那几块,不是整个数据库。