OSC 第 67 期高手问答 — MariaDB 原理和实现

叶秀兰 发布于 2015/04/07 06:08
阅读 6K+
收藏 26

OSCHINA 本期高手问答(  4 月 7  日- 4 月 13 日)我们请来了 @弓长金鹏  (张金鹏 )为大家解答关于 MariaDB 方面的问题。

张 金鹏 ,京东资深技术专家,MySQL数据库专家,京东云数据库组核心成员,主要负责MySQL内核优化及二次开发。多年数据库领域以及搜索引擎领域的工作经 验,对Redis、Memcached等NoSQL数据库,以及CGroup、LXC、Docker等容器技术有深入的研究。 新浪微博:弓长金鹏。

MariaDB原理和实现由浅入深地剖析了MariaDB,首先简要介绍了一些基础知识、新特性、对MySQL 原有功能所做的扩展以及源代码,接着介绍了底层数据结构、线程池技术、binlog、复制等内容,最后介绍了分布式数据库和京东的分布式数据库系统。 

名家推荐,值得一看!

样章试读:http://www.oschina.net/doc/6141 

为了鼓励踊跃提问,@弓长金鹏 会在问答结束后从提问者中抽取 5 名幸运会员赠予《MariaDB原理和实现》一书。

购买链接:

http://item.jd.com/1478209830.html 

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就 MariaDB原理和实现 方面问题向@弓长金鹏 (张金鹏 )提问,请直接回帖提问。

加载中
0
木川瓦兹
木川瓦兹
@弓长金鹏 :MariaDB与Mysql的兼容性如何,作为一个开发人员经常是下载一个xampp套件就用了,不知道,单纯的把套件里边的Mysql换成MariaDB行不行
弓长金鹏
弓长金鹏
绝大多数情况下是兼容的,有很少的一些地方和行为是不同的,但通常情况下可以忽略。
蟋蟀哥哥
蟋蟀哥哥
可以的,完全没有问题。完全兼容
0
蟋蟀哥哥
蟋蟀哥哥
@弓长金鹏 :既然书名叫原理与实现,请问MariaDB和Mysql在实现原理上有什么不同,麻烦列举下。并说出优劣。
弓长金鹏
弓长金鹏
《MariaDB原理和实现》里面除了介绍MariaDB不同的一些地方,还介绍了MySQL平常用的比较多的一些东西,例如binlog,复制等等。本书的目的除了介绍MariaDB之外,而且对想要对MySQL/MariaDB进行源代码研究的人,或者想从根本上了解MySQL/MariaDB底层实现的人提供帮助。其实书名叫《MySQL/MariaDB原理与实现》比较贴切。
弓长金鹏
弓长金鹏
MariaDB是MySQL的一个分支,整体结构是差不多的,很多东西保持不变,这个可以从源代码的整体结构,模块功能等等看出来,MariaDB同时引入了一些新的特性(MySQL被Oracle收购之后发展有点慢),做了一些优化。
wharf_zhang
wharf_zhang
这个问题好,我也想知道。请教,谢谢。[0]
0
简单代码
简单代码
@弓长金鹏 : MariaDB出来很久了,但是真正使用在生产环境的企业并不多,这是什么原因?未来MySQL与MariaDB的发展,对于企业用户来说,各有什么优势?
弓长金鹏
弓长金鹏
这个应该还是因为MySQL作为开源关系数据库的巨大影响力。MySQL有着长久的历史,有着有太多的成功案例。而且大多数的企业或者互联网公司,MySQL的现有功能已经能够满足需求了?但对于一些大的互联网公司,MySQL还是有一些限制的,所以很多互联网公司都有自己的MySQL分支。
0
wfifi
wfifi
Mariadb有什么样的低成本备份方案
弓长金鹏
弓长金鹏
备份和MySQL完全一样的,可以使用主从复制或者mysqldump工具或者binlog增量备份等等。
0
梦朝思夕
梦朝思夕
mariadb如何进行高效全文索引
弓长金鹏
弓长金鹏
全文检索不是关系数据库的职责范围,全文检索应该叫搜索引擎去做。如果你想在MySQL/MariaDB中使用全文检索,可以安装SphinxSE存储引擎(本质上只是在MySQL/MariaDB中嵌入了Sphinx的一个客户端,真正工作的还是Sphinx,你可以去搜索Sphinx)。如果仅仅是想使用搜索引擎,有很多开源的方案,例如elasticsearch。
0
blu10ph
blu10ph
@弓长金鹏 :京东对MySQL做了那些优化和修改?为什么要做这些优化和修改?~
弓长金鹏
弓长金鹏
主要在性能方面做了一些工作,例如ssd缓存等。
0
tianyuanzhonglu
tianyuanzhonglu
@弓长金鹏 :分布式主从同步时,不考虑网络延时,对网络带宽有怎样的要求?
弓长金鹏
弓长金鹏
“分布式主从同步”?你是想问主库和从库位于不同的物理机器?还是想问数据库是分布式的? 主库和从库之间的带宽多少,这个问题跟你的业务繁忙情况相关。
0
是非非是非
是非非是非
@弓长金鹏 :目前企业用的不多,如何说服企业选择Mariadb而放弃mysql,有哪些方面的优势与考虑?
弓长金鹏
弓长金鹏
想要说服一个人很难,同样的想要说服一个企业使用一个新的东西替代原来已经很稳定东西也是很难的。只有新的东西在性能方面或者功能方面能够满足他们遇到的一些问题的时候,他们才会真正考虑使用。但也有一些目光比较长远的公司,例如google,从长期来考虑,可能看中的不仅仅是MariaDB的一些新功能,更多的是一种面向所有人开放的态度,规避Oracle将MySQL闭源带来的风险。
0
barlcky
barlcky
@弓长金鹏 :其实我相信更多人都比较想知道的是如何在MySQL跟MariaDB之间取舍。京东是基于什么样的理由决定的?另外比较在意的一个问题是,我从Oracle刚转MySQL,对于MySQL的备份方式感到十分头疼,希望推荐一个广泛应用的企业级备份方案。
弓长金鹏
弓长金鹏
回复 @barlcky : 还是有差别的,MariaDB还是包含很多新的特性的,而且还在快速发展中。兼容性是MariaDB会重点考虑的问题,如果它没有兼容性,那么也会失去众多用户。
barlcky
barlcky
回复 @弓长金鹏 : 是否可以这么认为,除了未来之外,目前MySQL和MariaDB仍然是一回事情。糟糕就糟糕在,以往选择MySQL的,是因为其开源,而以后它闭源了。但转MariaDB,却不知道市场的走向会是如何,万一真到了互不兼容的那一天,现在的决定影响就是巨大的。我其实很想转MariaDB,但是现在公司用的是MySQL,纠结……
弓长金鹏
弓长金鹏
这个要看你是从那种角度来考虑问题,如果MySQL能够满足你的需求,而且你的业务变化不是很大的化,可以选择MySQL也可以选择MariaDB,如果你从长远来考虑问题,想规避Oracle把MySQL闭源的风险,或者想使用一些比较新的特性,那就应该使用MariaDB。其实我个人对于选择MySQL或者选择MariaDB并没有任何偏见,主要看哪个能够更好的解决你的问题,符合你的业务。
0
lercent
lercent
@弓长金鹏 :你好,之前看过关于MySQL和MariaDB相关的文章,MariaDB要兼容MySQL,但MySQL会不断添加自己的新特性,MariaDB也会不断的添加自己的新特性,发展到后来会不会就造成MariaDB很难再兼容MySQL了,这样MySQL相关的套件就不能通用了,毕竟专为MariaDB开发套件的还很少吧?
弓长金鹏
弓长金鹏
我的理解是,MariaDB始终以一个开放的态度面对所有的开发者和使用者。如果MySQL有什么功能对用户是有用的,那么MariaDB肯定会选择将其借鉴过来的。
返回顶部
顶部