了解MySQL数据库

常用名词:

1.QPS:用来衡量域名系统服务器的机器的性能的名词,即每秒中查询多少次。

计算关系:

    QPS = 并发量 / 平均响应时间

    并发量 = QPS * 平均响应时间

2.TPS:每秒传输事务处理个数,即服务器每秒的事务数。TPS包括一条消息入和一条消息出,加上一次用户数据访问。

3.并发量:同一时间处理的请求的数量。注意:此时并不等于同时连接数。

4.磁盘IO:注意:不要在主库上进行数据库备份。

1.一般数据库架构的问题

只有一个主服务器

    没有主从复制的主键,一旦主服务器故障,无法自动切换,只能手动在从服务器中选择数据最新的一台服务器作为主服务器,再将数据同步到从服务器上。繁琐且耗时长。

2.什么影响了数据库服务器的性能

    SQL查询速度

    服务器硬件

    网卡流量:网卡IO被占满。

    如何避免无法连接数据库的情况:

        减少从服务器的数量

        进行分级缓存

        避免使用select * 进行查询

        分离业务网络和服务器网络

        磁盘IO:性能突然下降(使用更快的磁盘设备),其他大量消耗磁盘性能的计划任务(调整计划,做好磁盘维护)

        大量的并发和超高的CPU使用率:大量的并发导致数据库连接数被占满。超高的CPU使用率导致因CPU资源耗尽而出现宕机。

    大表对查询的影响:

        慢查询:很难在一定的时间内过滤出所需要的数据

        大表对DDL操作的影响:建立索引需要很长的时间。

        风险1:MYSQL版本<5.5 建立索引会锁表。

        风险2:MYSQL版本>=5.5 虽然不会锁表但会引起主从延迟

3.如何处理数据库中的大表

分表

    难点:

        分表主键的选择

        分表后跨分区数据的查询和统计

4.大事务带来的问题

什么是事务:

    1.事务是数据库系统区别于其他一切文件系统的重要特征之一

    2.事务是一组具有原子性的SQL语句,或是一个独立的工作单元

事务的特性:

    原子性:一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作。

    一致性:是指事务将数据库从一种一致性状态转换到另外一种一致性状态,在事务开始之前和事务结束后数据库中数据的完整性没有被破坏。

     隔离性:隔离性要求一个事务对数据库中数据的修改,在未提交完成前对于其它事务是不可见的。        

SQL标准中定义的四种隔离级别(隔离性由低到高,并发性由高到低):

    未提交读

    已提交读

    可重复读

    可串行化

    持久性:一旦事务提交,则其所作的修改就会永久保存到数据库中。此时即使系统崩溃,已经提交的修改数据也不会丢失。

什么是大事务:

       1.定义:运行时间比较长,操作的数据比较多的事务

        2.风险:

                    锁定太多的数据,造成大量的阻塞和锁超时

                    回滚时所需时间比较长

                    执行时间长,容易造成主从延迟

        3.如何处理大事务

                    避免一次处理太多的数据

                    移除不必要在事务中的select操作

你可能感兴趣的:(了解MySQL数据库)