MySQL 变种有好几个, 主要有三个久经考验的主流变种: Percona Server,MariaDB 和 Drizzle。 它们都有活跃的用户社区和某种程度上的商业支持, 均由独立的服务供应商支持。
同时还有几个优秀的开源关系数据库, 值得我们了解一下。
Drizzle
Drizzle 是真正的 MySQL 分支, 而且是完全开源的产品, 而非只是个变种或增强版本。 它并不与 MySQL 兼容不能简单地将 MySQL 后端替换为 Drizzle。Drizzle 与 MySQL 有很大差别, 进行了一些重大更改, 甚至 SQL 语法的变化都非常大, 设计目标之一是提供一种出色的解决方案来解决高可用性问题。 在实现上, Drizzle 清除了一些表现不佳和不必要的功能, 将很多代码重写, 对它们进行了优化, 甚至将所用语言从 C 换成了 C++。
此外, Drizzle 另一个设计目标是能很好的适应具有大量内容的多核服务器、运行 Linux 的 64 位机器、 云计算中使用的服务器、 托管网站的服务器和每分钟接收数以万计点击率的服务器并且大幅度的削减服务器成本。
MariaDB
在 Sun 收购 MySQL 后, Monty Widenius, 这位 MySQL 的创建者, 因不认同MySQL 开发流程而离开 Sun。他成立了 Monty 程序公司, 创立了 MariaDB。MariaDB的目标是社区开发, Bug修复和许多的新特性实际上, 可以将 MariaDB 视为 MySQL的扩展集, 它不仅提供 MySQL 提供的所有功能, 还提供其他功能。 MariaDB 是原版 MySQL 的超集, 因此已有的系统不需要任何修改就可以运行。诸如 Google, Facebook、 *等公司或者网站所使用了 MariaDB。 不过Monty 公司不是以赢利为目的, 而是由产品驱动的, 这可能会带来问题, 因为没有赢利的公司不一定能长久维持下去。
Percona Server
由领先的 MySQL 咨询公司 Percona 发布, Percona 公司的口号就是“The Database Performance Experts” , Percona 的创始人也就是《高性能 MySQL》 书的作者。
Percona Server 是个与 MySQL 向后兼容的替代品, 它尽可能不改变 SQL 语法、客户端/服务器协议和磁盘上的文件格式。 任何运行在 MySQL 上的都可以运行在 Percona Server 上而不需要修改。 切换到 Percona Server 只需要关闭 MySQL 和启动 PerconaServer, 不需要导出和重新导入数据。
Percona Server 有三个主要的目标: 透明, 增加允许用户更紧密地查看服务
器内部信息和行为的方法。 比如慢查询日志中特别增加的详细信息; 性能,Percona Server 包含许多性能和可扩展性方面的改进, 还加强了性能的可预测性和稳定性。 其中主要集中于 InnoDB; 操作灵活性, Percona Server 使操作人员和系统管理员在让 MySQL 作为架构的一部分而可靠并稳定运行时提供了很多便利。
一般来说, Percona Server 中的许多特性会在后来的标准 MySQL 中出现。国内公司阿里内部就运行了上千个 Percona Server 的实例。
Postgre SQL
PostgreSQL 称自己是世界上最先进的开源数据库, 同时也是个一专多长的全栈数据库。 最初是 1985 年在加利福尼亚大学伯克利分校开发的。PostgreSQL 的稳定性极强, 在崩溃、 断电之类的灾难场景下依然可以保证数据的正确; 在高并发读写, 负载逼近极限下, PG 的性能指标仍可以维持双曲
线甚至对数曲线, 到顶峰之后不再下降, 表现的非常稳定, 而 MySQL 明显出现一个波峰后下滑; PG 多年来在 GIS 领域处于优势地位, 因为它有丰富的几何类型, 实际上不止几何类型, PG 有大量字典、 数组、 bitmap 等数据类型, 相比之下 mysql 就差很多。 所以总的来说, PostgreSQL 更学术化一些, 在绝对需要可靠性和数据完整性的时候, PostgreSQL 是更好的选择。 但是从商业支持、 文档资料、易用性, 第三方支持来说, MySQL 无疑更好些。
SQLite
SQLite 是世界上部署最广泛的数据库引擎, 为物联网(IoT) 下的数据库首选, 并且是手机, PDA, 甚至 MP3 播放器的下的首选。 SQLite 代码占用空间小,并且不需要数据库管理员的维护。 SQLite 没有单独的服务器进程, 提供的事务也基本符合 ACID。 当然, 简单也就意味着功能和性能受限.