社区
教程
Wiki
注册
登录
创作新主题
社区所有版块导航
Python
python开源
Django
Python
DjangoApp
pycharm
DATA
docker
Elasticsearch
分享
问与答
闲聊
招聘
翻译
创业
分享发现
分享创造
求职
区块链
支付之战
aigc
aigc
chatgpt
WEB开发
linux
MongoDB
Redis
DATABASE
NGINX
其他Web框架
web工具
zookeeper
tornado
NoSql
Bootstrap
js
peewee
Git
bottle
IE
MQ
Jquery
机器学习
机器学习算法
Python88.com
反馈
公告
社区推广
产品
短视频
印度
印度
一周十大热门主题
2025 年程序员薪资水平排行前十的城市 1、北京 平均月薪:22,500元 年薪范围:35万-...
ST成了香饽饽,Python量化验证ST股涨停溢价表现|附策略代码
机器学习学术速递[10.31]
图像分类新挑战:从模型鲁棒性到AIGC检测的6大前沿开源数据集
机器学习学术速递[10.30]
Quant4.0,基于AgentScope开发 | 年化316%,回撤14%的超级轮动策略,附pyt...
对话可心柔创始人兼CEO陈科:以柔破局,20亿细分冠军的诞生 | TopDigital专访
时隔几年,又学到了 Python 新知识,原来这就是现代 Python 项目
Python斐波那契数列与else语句
ChatGPT 要做广告和电商了,AI 将重塑营销业
关注
Py学习
»
DATABASE
黑悟空:MariaDB会不会取代MySQL,成为新的王者?(只聊技术)
架构师之路
• 1 年前 • 501 次点击
有个朋友准备创业做Saas产品,问我:
听说MariaDB才是新的王者,技术选型有没有必要抛弃MySQL?
我旗帜鲜明的建议:
没有历史包袱的话,不用抱着MySQL不放。
简单说下原因。
MySQL是怎么起来的?
MySQL在90年代中期快速发展,特别是与Linux,Apache,PHP一起使用的LAMP组合包,风靡一时,曾一度全球超过60%的网站采用LAMP架构。
画外音:近年PHP没落,但MySQL依然是RDB领域的主导者。
MariaDB是怎么出现的?和MySQL是什么关系?
2008年,Sun收购了MySQL,之后又被Oracle收购,这引发了
开源社区对MySQL未来发展的担忧
:
MySQL能持续保持开放性吗?
MySQL能持续保持独立性吗?
MySQL会被Oracle限制吗?
MySQL会变为商业版吗?
…
于是,MySQL创始人从MySQL拉了一个分支,并承诺继续以GPL发布,保持开放性与独立性,这就是后来的MariaDB。
MySQL目前由Oracle主导
,大伙看一下今年7月份MySQL发布的9.0大版本:
《
MySQL9.0大版本发布,它是不是故意的...
》
你就能知道,其未来大致会变成什么样?
MariaDB由社区主导
,开发者和社区能够直接参与其功能改进。除了原有优秀特性的继承,诸多新功能与优化逐步引入。
总的来说,MariaDB的出现,是社区对MySQL未来不确定性与对开源理念的坚守做出的反应。
无可避免的,MariaDB和MySQL开始了直面的竞争。
技术上来说,MariaDB与MySQL有什么异同?
MariaDB
新增十多个存储引擎
,比较有特色的有:
(1)
Aria
:适用于
快速读取快速写入场景
,替代为人诟病的MyISAM,支持事务,支持崩溃恢复;
(2)
TokuDB
:适用于
大数据量写入场景
,支持事务,支持高压缩比,减少存储空间;
(3)
Spider
:适用于
水平分片场景
,支持数据分片,将数据分布在多个服务器上;
(5)
Dynamic Comumns
:支持
动态列
,提供灵活的数据结构;
(6)
ColumnStore
:适用于
数据仓库与数据分析
场景,提供列式存储与查询优化;
(7)
SphinxSE
:适用于
搜索引擎场景,全文索引场景
;
…
画外音:MariaDB诚意满满,重视用户反馈,针对不同的场景推出了对应的存储引擎解决方案;反观MySQL,还是固守InnoDB,MyISAM,MEMORY等几件套,千年不变。
MariaDB进行了
大量性能优化
,比较重要的有:
(1)
内存存储引擎优化
:MariaDB比MySQL快24%;
画外音:有一些不太复杂的场景,为了简化系统组件,可以使用内存存储引擎替代缓存。
(2)
连接池优化
:MariaDB在海量连接上进行了优化,可以支持多达20W个连接;
(3)
复制优化
:MySQL的复制性能一直被人所诟病,MariaDB的复制速度比MySQL快2倍。
(4)...
MariaDB还增加了一些
新特性
,比如:
(1)
WITH子句
:可以定义一个临时结果集,在后续的增删查改中使用;
(2)
KILL命令
:当会话消耗过多资源或者死锁时,可以强行终止会话,DBA用的比较多;
(3)…
MariaDB会不会取代MySQL,成为新的王者?
目前,这样的一些事情正在发生:
(1)对开源有强烈需求的
新企业
,在技术选型时,会重点考虑MariaDB;
(2)一些传统的
大公司
(例如:三星,诺基亚,欧洲汽车等),也在尝试逐步的迁移;
(3)一些注重开源的Linux版本(例如Fedora,Red Hat)
默认使用MariaDB
而不是MySQL,这对MariaDB的市场推广起到了较大的正向作用;
(4)最重要的,
社区中的人心
,不可逆转的倒向了MariaDB:
如上图,从14年开始,MySQL的相关话题讨论逐年降低,MariaDB则是逐年增高。
因此,个人判断:
总有一天MariaDB会取代MySQL。
但这一天,可能要等二十年。
MariaDB成为主流,阻力在哪里?
58还有系统用10年前的C#跑着的,你猜,为什么不升级为Java?
三年前,我们才完全从MySQL5.6升级为5.7,你猜,为什么?
两年前,我们才完全将memcache升级为redis,你猜,为什么?
...
有一条
架构设计铁律
:
如果系统没有问题,就不要动它
!
因此... 只有...
当
新公司
成为主流,老公司逐渐退出历史舞台…
当
年轻架构师
上位,老派架构师退出历史舞台…
MariaDB,才会取代MySQL,成为王者。
相关文章
:
《
MySQL9.0大版本发布,它是不是故意的...
》
《
学习MySQL,最好的项目是...(收藏不亏)
》
调研
:
(1)你们用MariaDB了吗?为什么不用?
(2)你怎么看:
如
果系统没有问题,就不要
动!
Python社区是高质量的Python/Django开发社区
本文地址:
http://www.python88.com/topic/173671
登录后回复