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

标签: 标准 mysql 数据库 | 发表时间:2014-11-28 23:29 | 作者:
出处:http://news.cnblogs.com/

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 等未开源方案。


感谢 郭蕾对本文的审校。

本文链接

相关 [标准 mysql 数据库] 推荐:

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

- - 博客园_新闻
MySQL 是最受欢迎的免费开源应用之一,它是成千上万个网站的数据库骨干. 然而,许多开发人员认为有必要将其拆分成其他项目,并且每个分支项目都要有自己的专长,这些需求以及 Oracle 对核心产品增长缓慢的担忧,导致出现了许多开发人员感兴趣的子项目和分支. 另外,为了满足特殊业务的需要,MySQL 有时候不能完全胜任,这就需要开发出新的解决方案.

MySQL数据库的修复

- Xin - 博客园-首页原创精华区
找到mysql的安装目录的bin/myisamchk工具,在命令行中输入:. 然后myisamchk 工具会帮助你恢复数据表的索引. 好象也不用重新启动mysql,问题就解决了. 当你试图修复一个被破坏的表的问题时,有三种修复类型. 如果你得到一个错误信息指出一个临时文件不能建立,删除信息所指出的文件并再试一次--这通常是上一次修复操作遗留下来的.

MySQL数据库的IO操作

- - haohtml's blog
         淘宝丁奇分享的PPT:MySQL数据库的IO操作,详细分享了四块的内容,并且告诉大家如何调整MySQL数据库IO操作相关的参数,给出了详细的选择策略,现替其整理成文章分享与此. 4.影响io行为的一些参数和选择策略. 一个简单的查询 select * from t where id>=(  select id from t where k1=100 limit 100000,1) limit 2;.

MySQL数据库优化总结

- - CSDN博客推荐文章
        对于一个以数据为中心的应用,数据库的好坏直接影响到程序的性能,因此数据库性能至关重要. 一般来说,要保证数据库的效率,要做好以下四个方面的工作:数据库设计、sql语句优化、数据库参数配置、恰当的硬件资源和操作系统,这个顺序也表现了这四个工作对性能影响的大小.        一、数据库设计   适度的反范式,注意是适度的.

Google数据库产品LevelDB对决MySQL

- - HTML5研究小组
去年一月份,Google发布了LevelDB. LevelDB是Key-Value嵌入式数据库管理系统编程库,目前的版本能够支持Billion级别的数据量. LevelDB是一个C++库,可按照字符串键值顺序映射. 源于其本身的良好设计,特别是LSM算法,LevelDB性能非常之高. 在一台4个Q6600的CPU机器上,每秒钟写数据超过40w,而随机读的性能每秒钟超过10w.

excel数据导入mysql数据库

- - 互联网 - ITeye博客
1、excel另存为txt.       选中将要导出的数据列,然后另存为选择其它格式=>文本文件(制表符分割). E:\项目\fblike\game_code_san.txt. 2、txt导入到mysql数据库. load data infile 'E:\\项目\\fblike\\game_code_san.txt' into table game_code_san(code).

c/c++连接mysql数据库

- - CSDN博客数据库推荐文章
        由于项目需要,要用c/c++链接mysql数据库. 网上很多类似的解说,但是大部分都需要在本机器上安装完整版的msyql. 其实,有时候我们并不想在改变自己电脑上原有的环境,但是我们却希望通过我们的程序链接数据库. 比如:我在本机上已经安装了一个mysql,但并不是完整版的(比如appserv集成mysql或者wamp集成mysql),或者我的工作在局域网中,我只需要链接另外一台机器上的mysql.

理解MySQL数据库覆盖索引

- - haohtml's blog
看AUTO_INCREMENT就知道数据并不多,75万条. 很简单对不对?怪异的地方在于:. 如果换成MyISAM做存储引擎的时候,查询耗时只需要0.01s,用InnoDB却会是0.15s左右. 如果只是就这么点差距其实不是什么大不了的事,但是真实的业务需求比这个复杂,造成的差距也很大:MyISAM只需要0.12s,InnoDB则需要2.2s.,最终定位到问题症结是在这条SQL.

MySQL数据库设置主从同步

- - CSDN博客架构设计推荐文章
MYSQL主从同步是目前使用比较广泛的数据库架构,技术比较成熟,配置也不复杂,特别是对于负载比较大的网站,主从同步能够有效缓解数据库读写的压力. 1、可以作为一种备份机制,相当于热备份. 2、可以用来做读写分离,均衡数据库负载. 1、主从数据库版本一致,建议版本5.5以上. # 日志文件名 log-bin = mysql-bin # 日志格式,建议mixed binlog_format = mixed # 主数据库端ID号 server-id = 1.

浅谈MySQL 数据库性能优化

- - BlogJava-qileilove
数据库是 IO 密集型的程序,和其他数据库一样,主要功能就是数据的持久化以及数据的管理. 本文侧重通过优化MySQL 数据库缓存参数如查询缓存,表缓存,. 日志缓存,索引缓存,innodb缓存,插入缓存,以及连接参数等方式来对MySQL数据库进行优化.   这里先引用一句话,从内存中读取一个数据的时间消耗是微秒级别,而从普通硬盘上读取一个数据是在毫秒级别,二者相差3个数量级.