天天看点

《MySQL DBA修炼之道》——1.8 一些基础概念

本节书摘来自华章出版社《mysql dba修炼之道》一书中的第1章,第1.8节,作者:陈晓勇,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

为了方便后续阅读,让大家对部分概念的理解保持一致,从而更好地理解书中的内容,这里有必要先对下面的这些概念进行阐述。

1. mysql server、mysql实例、mysql数据库

mysql数据库指的是实际存在的物理操作系统文件的集合,也可以指逻辑数据的集合。为了访问、处理数据,我们需要一个数据库管理系统,也就是mysql server(也称为mysql服务器)。

mysql实例指的是mysql进程及其所持有的内存结构,我们对数据的操作实际上是通过mysql实例来访问物理数据库文件的。在实际生产中,可以用一个ip:port组合来表示一个实例。如“192.168.7.101:3307”这个mysql实例表示在主机上起了一个mysql服务,它的服务端口是3307。如果没有特别说明,本书中的实例一词就是指mysql

实例。

现实语境中,我们一般使用实例来描述对于数据库的操作,对于mysql数据库、mysql server、mysql实例并没有进行严格的区分,没有特别说明的话,大家可以将它们看作是同等的。

2.可扩展性

可扩展性也称为伸缩性,指的是系统不断增长其承载能力的能力。它是能满足不断增长的负荷而自身的性能仍然尚可的这样一种能力。

3.可用性

可用性可以定义为系统保持正常运行时间的百分比,比如一个系统一共运行了100分钟,有99分钟是正常运行的,那么可用性就是99%。

4.单点故障

单点故障是指系统中的某个部分,一旦失败,将会导致整个系统无法工作。为了消除单点故障,一般需要增加冗余组件或冗余系统。比如服务器的电源冗余、网卡冗余、磁盘raid阵列,冗余的服务器,备用的数据中心等。如果要设计高可用的服务,单点故障是需要尽量避免的。

5.读写分离

由于数据库只能接受有限的读请求。对于读请求较多的应用,数据库可能会成为瓶颈,为了增加读的能力,提高扩展性,因此引入了读写分离的技术。比如,利用复制技术配置多个从库,以承担更多的读请求,或者应用程序直接访问读库,或者通过一个负载均衡软件分发读请求。写入操作和一些读操作仍然访问主库。由于mysql的复制是异步的,所以需要留意复制延时对于读写分离的影响。

《MySQL DBA修炼之道》——1.8 一些基础概念