DB-Engines最近发布了 2021 年 1 月份的数据库排名。
本月排行榜中
前三名
的依然是:Oracle、
MySQL
、Microsoft SQL Server。
而且分数遥遥领先于后面的PostgreSQL、IBM Db2(只讨论关系型数据库)。而且可以看到,MySQL与Oracle的得分是很接近的。
值得注意的是,DB-Engines是根据Google以及Bing等搜索引擎的关键字搜索数量、LinkedIn中提到关键字的个人资料数以及Stackoverflow相关问题和关注数量等算出的分数,可信度是很高的,但这个统计并没有算上国内程序员的选择。
对于国内的大部分程序员,是很少使用bing、linkedin等网站的,甚至google、stackoverflow也用得不多。那么,如果我们加上国内程序员的选择,
Mysql将当之无愧成为数据库领域的霸主,因为国内大部分的互联网公司都选择了Mysql,一些传统企业也慢慢的在去Oracle化。
比如,目前
阿里巴巴主要采用的是OceanBase(基于Mysql),同时也会单独的使用Mysql;京东使用的数据库主要是Redis、Mysql、Hbase;腾讯使用的是Mysql和部分自研NoSQL。
对于其他众多中小互联网公司来说,免费、开源、高性能、良好生态的Mysql是他们的第一选择。
但是对于Mysql并不是每个程序员都理解透彻了,
因为
Mysql对于程序员来说就像一个黑盒,有些人根本不知道这个黑盒的运行机制
。我们经常所学到的优化技巧,其实就是一种应用技巧,而对于为什么需要如此优化,并没有领略到更深层次的本质。
最近正在听一期Mysql核心原理分析与高级实战的视频,主要是由浅入深讲解
Mysql索引、Mysql事务的底层实现原理,并对Innodb页结构、Buffer Pool、Change Buffer、Redo log Buffer等底层存储概念和架构设计进行讲解
,并针对生产环境中的慢查询案例进行
实战调优
。
为大家争取了最后
150个名额
,建议大家都可以去听一下,购课还可以免费领取
《Mysql知识点大全+Mysql军规+2021Mysql面试真题及解析》
资料:
Mysql作为主流关系型数据库,也是面试被问最多、最需要夯实的重要基础。
前两天有位正在面试的粉丝同学问了我几个Mysql问题:
1.
为什么遵守最左前缀原则就能利用索引,不遵守就用不到索引,底层原理是怎样的?
2.
Mysql中的Buffer Pool是什么?是缓冲区吗?那这个缓存区的内部结构和工作原理是怎样的?