潍坊市论坛

首页 » 分类 » 分类 » 一篇文读懂开源数据库的现状方案设计思想
TUhjnbcbe - 2021/8/11 11:05:00
程少为医生             http://m.39.net/disease/a_8231870.html
“数据库作为业务的核心,在整个基础软件栈中是非常重要的一环。近几年社区也是新的方案和思想层出不穷,本文将总结一下近几年一些主流的开源数据库方案和背后的设计思想以及适用场景。本文聚焦于数据库既结构化数据存储OLTP及NoSQL领域,不会涉及OLAP、对象存储、分布式文件系统。

开源RDBMS与互联网的崛起

很长时间以来,关系型数据库一直是大公司的专利,市场被Oracle/DB2等企业数据库牢牢把持。但是随着互联网的崛起、开源社区的发展,上世纪九十年代MySQL1.0的发布,标志着关系型数据库的领域社区终于有可选择的方案。MySQL

第一个介绍的单机RDBMS就是MySQL。相信大多数朋友都已经对MySQL非常熟悉,基本上MySQL的成长史就是互联网的成长史。我接触的第一个MySQL版本是MySQL.0,到后来的MySQL5.5更是经典——基本所有的互联网公司都在使用。MySQL也普及了「可插拔」引擎这一概念,针对不同的业务场景选用不同的存储引擎是MySQLtuning的一个重要的方式。

比如对于有事务需求的场景使用InnoDB;对于并发读取的场景MyISAM可能比较合适;但是现在我推荐绝大多数情况还是使用InnoDB,毕竟5.6后已经成为了官方的默认引擎。大多数朋友都基本知道什么场景适用MySQL(几乎所有需要持久化结构化数据的场景),我就不赘述了。

另外值得一提的是MySQL5.6中引入了多线程复制和GTID,使得故障恢复和主从的运维变得比较方便。另外,5.7(目前处于GA版本)是MySQL的一个重大更新,主要是读写性能和复制性能上有了长足的进步(在5.6版本中实现了SCHEMA级别的并行复制,不过意义不大,倒是MariaDB的多线程并行复制大放异彩,有不少人因为这个特性选择MariaDB。

MySQL5.7MTS支持两种模式,一种是和5.6一样,另一种则是基于binloggroup

1
查看完整版本: 一篇文读懂开源数据库的现状方案设计思想