写点什么

标准 MySQL 数据库外的 5 个开源兼容方案

  • 2014-11-28
  • 本文字数:1876 字

    阅读完需:约 6 分钟

MySQL 是最受欢迎的免费开源应用之一,它是成千上万个网站的数据库骨干。然而,许多开发人员认为有必要将其拆分成其他项目,并且每个分支项目都要有自己的专长,这些需求以及 Oracle 对核心产品增长缓慢的担忧,导致出现了许多开发人员感兴趣的子项目和分支。另外,为了满足特殊业务的需要,MySQL 有时候不能完全胜任,这就需要开发出新的解决方案。同时,为了兼容旧业务系统的升级维护,新的技术方案多是基于 MySQL 实现而实现的兼容 MySQL 方案。现对国内外比较著名的兼容 MySQL 方案进行一个汇总,以供读者参考,具体内容如下:

1、领先的 MySQL 咨询公司 Percona 的 Percona Server

Percona Server 由领先的 MySQL 咨询公司 Percona 发布的一款使用 XtraDB 存储引擎的数据库产品,由 XtraDB 存储引擎的原作者开发并基于 GPL 开源协议发布,它为用户提供了换出 MySQL 安装并换入 Percona Server 产品的能力。Percona Server 能够完全与 MySQL 兼容,开发者无需更改软件中的任何代码,就可以实现二者的相互迁移。从其官网得知 Percona Server 具有高扩展性、高性能、高可靠性、诊断和管理等特征。Percona 团队还声明 Percona Server 是最接近官方 MySQL 企业级发行版的版本,因此与其它更改了大量基本核心 MySQL 代码的分支有所区别。但是,Percona Server 的一个缺点是 Percona 自己管理代码,不接受外部开发人员的贡献,以这种方式确保他们对产品中所包含功能的绝对控制。

2、MySQL 之父又一作品 MariaDB

MariaDB 是一个基于 Maria 存储引擎的 MySQL 分支版本,它是由 MySQL 的作者 Michael Widenius 创办的公司所开发的免费数据库,并遵循 GPL V2 开源协议发布。它与 Percona 产品非常类似,但是试图提供了比标准 MySQL 更多的性能改进,所以对更多底层代码进行了更改。MariaDB 直接利用来自 Percona 的 XtraDB 引擎,还提供了 MySQL 提供的标准存储引擎,即 MyISAM 和 InnoDB。因此,可以将 MariaDB 视为 MySQL 的扩展集,它不仅提供 MySQL 提供的所有功能,还提供其他功能。MariaDB 还声称自己是 MySQL 的替代,因此从 MySQL 切换到 MariaDB 时,无需更改任何基本代码即可实现。

3、四家大型互联网公司的 WebScaleSQL

WebScaleSQL 是由 Facebook、Google、LinkedIn、Twitter 四家公司基于 MySQL 5.6 社区版本改编的 MySQL 通用分支,且基于 GPL 开源协议发布。WebScaleSQL 是专为大型网络公司打造的一个 MySQL 定制版本,以应对和解决海量数据所带来的挑战,这是这对 MySQL 技术的一次飞跃。WebScaleSQL 项目是来自这四家公司的 MySQL 工程师团队的工作成果,由于它是开源的,因此其他感兴趣的个人和公司也能够基于自身的资源和规模进行定制。Facebook 还公布了其工程师为 WebScaleSQL 分支所做出的贡献, 包括面向内建测试系统、一套完整的压力测试套件、一个自动化性能测试原型以及修改了 MySQL 的问题架构代码和性能的改进等。

4、来自网易的 InnoSQL

InnoSQL 是网易开发的 MySQL 数据库分支版本,遵循 GPL V2 开源协议发布,项目托管在 GitHub 。InnoSQL 的功能完全兼容 MySQL 数据库,用户根本感受不到 InnoSQL 与 MySQL 数据库之间的差异,但是 InnoSQL 数据库本身解决了目前 MySQL 数据库存在的一些问题,如主从数据库同步不一致问题、 XA 分布式事务丢失、多线程连接性能减弱等各类问题。InnoSQL 具有高性能、高可用性、易于运维与管理、开源等特点。使用 InnoSQL 能够保证数据复制的正常运行、软硬件资源的最大利用化、高并发线程下的数据库稳定运行。据相关人士测试,在使用 flashcache 特性的情况下,InnoSQL 的速度是普通 Mysql 的 5 到 6 倍,是 Facebook MySQL flashcache 的 2 到 3 倍。

5、多主站功能的 MySQL/Galera

MySQL/Galera 是 MySQL 的一个分支版本, 且基于 GPL 开源协议发布。MySQL/Galera 基于 InnoDB 存储引擎实现,可用于创建同步的多主站 MySQL(InnoDB)集群。MySQL/Galera 具有真正的多主站功能,所以相同的表可以在不同的节点中同时进行修改。MySQL/Galera 还具有高可用性、已提交的事务从不会丢失、读写操作能够根据需要进行随意扩展、自动删除故障节点、自动加入节点、行级别的并发复制以及触发、存储过程和用户自定义函数都是透明的特征。

除了以上兼容标准 MySQL 的开源方案外,还有前 Facebook 工程师创办的号称是世界上最快的分布式关系型数据库 MemSQL 以及 Amazon 最近出品的企业级关系数据库 Aurora 等未开源方案。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-11-28 05:019204
用户头像

发布了 92 篇内容, 共 48.4 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

java版gRPC实战之四:客户端流

程序员欣宸

gRPC grpc双向流

黑匣子为什么难成为“云匣子”?

脑极体

小程序电商业务微服务拆分及微服务基础设施选型

Geek_36cc7c

融云猿桌派:35 岁程序员,正值当打之年,尚有星辰大海

融云 RongCloud

程序员

java版gRPC实战之三:服务端流

程序员欣宸

gRPC

Linux下TCP网络编程-创建服务器与客户端

DS小龙哥

3月月更

URL的四种形式对比说明

源字节1号

前端开发 后端开发 网站开发

在线正则表达式大全测试

入门小站

工具

架构实战营-模块一-作业

CityAnimal

架构实战营 #架构实战营 「架构实战营」

Paxos vs. Raft:我们对共识算法达成共识了吗?

多颗糖

分布式系统 raft PAXOS

kubeadm工作原理-kubeadm init原理分析-kubeadm join原理分析

良凯尔

容器 云原生 kubeadm #Kubernetes# Kubernetes 集群

在线Javascript美化格式化工具

入门小站

工具

求职有 Pulsar | 中国联通、StreamNative 多个热招岗位

Apache Pulsar

开源 云原生 代码 Apache Pulsar 岗位招聘

“中本聪岛”加密乌托邦

CECBC

TDengine 助力国产芯片打造“梦芯解算”,监测地质灾害 24 小时无间断

TDengine

数据库 tdengine 物联网

基于服务网格的分布式 ESB, 实现应用无关的传统 ESB 转型升级

BoCloud博云

微服务 ESB

服务器防渗透--信息收集

喀拉峻

网络安全

java版gRPC实战之七:基于eureka的注册发现

程序员欣宸

gRPC 注册中心 eureak

数字医疗时代的数据安全如何保障?

CECBC

一文带你了解 Python 中的生成器

踏雪痕

Python 生成器 3月程序媛福利 3月月更

开放报名丨《音视频社交新风口》线上峰会,聚焦海外社交生态升级

融云 RongCloud

java版gRPC实战之二:服务发布和调用

程序员欣宸

Java gRPC

java版gRPC实战之五:双向流

程序员欣宸

gRPC grpc双向流

java版gRPC实战之六:客户端动态获取服务端地址

程序员欣宸

gRPC grpc双向流

面试突击35:如何判断线程池已经执行完所有任务了?

王磊

Java java面试

区块链等技术助力北京海关监管

CECBC

Flutter 路由及路由拦截跳转404

岛上码农

flutter ios Android开发 移动端 3月月更

超分算法在 WebRTC 高清视频传输弱网优化中的应用

融云 RongCloud

PyTorch

[Day3]-[快慢指针]解决链表问题

方勇(gopher)

LeetCode 数据结构与算法

Linux之file命令

入门小站

Linux

JavaScript数组,看这篇就ok了!

坚果

3月月更

标准MySQL数据库外的5个开源兼容方案_数据库_李士窑_InfoQ精选文章