摘要:
主要内容包含 MySQL 典型数据库架构介绍、MySQL 主流数据库架构对比等理论性知识,然后从“订单、用户”两个项目实战,抛砖引玉,介绍亿级互联网业务数据库项目如何设计。 MySQL 典型数据库架构 数据库架构 我们想要更好地规划和设计 MySQL 数据库架构,首先需要了解典型的数据库架构,它通常 阅读全文
摘要:
高并发及其关注要点 近年来,随着互联网、移动互联网的飞速发展,业务系统的互动性日益增强,用户规模不断攀升,电商、游戏、直播、在线教育、短视频等一系列新兴移动端应用如雨后春笋般涌现出来,这些应用 “高并发、低延迟” 的需求对传统数据库的性能提出了新的要求和挑战,并且数据规模也井喷式增长。高并发是互联网 阅读全文
摘要:
MySQL 监控要点 MySQL 监控要点,主要涉及服务器和 MySQL 两个方向的监控告警。 在这两个监控告警方向需要重点关注监控策略、监控趋势图及报警方式。 监控策略指的是每个监控项的告警阈值,例如 threads_running > 30 触发报警。 监控趋势图指的是对每个时间点,项目所采集数 阅读全文
摘要:
本课时的主题是“MySQL 高可用”,主要内容包含: 什么是高可用性 MySQL 如何提升 MTBF MySQL 如何降低 MTTR 避免单点失效 基础软硬件避免单点 MySQL 高可用架构选型 故障转移和故障恢复等内容 高可用性 高可用性,维基百科的定义是指系统无中断地执行其功能的能力,代表系统的 阅读全文
摘要:
事务及其特性 首先看看什么是事务?事务具有哪些特性?关于事务,上大学的时候,你应该有接触过相关的课程。简单来说,事务是指作为单个逻辑工作单元执行的一系列操作,这些操作要么全做,要么全不做,是一个不可分割的工作单元。 一个逻辑工作单元要成为事务,在关系型数据库管理系统中,必须满足 4 个特性,即所谓的 阅读全文
摘要:
MySQL 锁分类 前文提到了锁,下面将详细讲解 MySQL 的锁,我们先来看看锁的分类,在 MySQL 中有三种级别的锁:页级锁、表级锁、行级锁。 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 会发生在:MyISAM、memory、InnoDB、BDB 等存 阅读全文
摘要:
如下所示。 MySQL 查询优化器 SELECT 执行过程 那么如何提高 MySQL 的查询性能呢?首先你需要了解查询优化器处理 SQL 的全过程。以 SELECT 的 SQL 的执行过程为例,如下图所示。 客户端发送一条 SELECT 查询给服务器; 服务器先检查查询缓存,如果命中缓存,则立刻返回 阅读全文
摘要:
第 6 课时的主题为“高性能数据库架构”,这一课时的内容包含数据库服务器硬件优化、MySQL 参数优化、MySQL 复制原理、经典架构与适用场景,包括:主从复制、双主复制、树形复制、环形复制及拓展部分统一管理的数据库架构等 5 个方面。 数据库服务器硬件优化 我们来看看对数据库所在的服务器是如何进行 阅读全文
摘要:
范式与反范式 优秀的库表设计是高性能数据库的基础。如何才能设计出高性能的库表结构呢?这里必须要提到数据库范式。范式是基础规范,反范式是针对性设计。 范式 范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。数据库的设计范式是数据库设计所需要满足的规范。只有理解数据库的 阅读全文
摘要:
索引使用技巧 接下来聊一聊索引使用技巧的基础知识,这些知识可以帮助你建立高效索引,主要有谓词、过滤因子、基数(Cardinality)、选择率和回表。 先来看谓词。谓词本身就是条件表达式,通俗讲就是过滤字段。如下图中这句SQL语句,可以拆解为下面所示: 简单谓词:city和 last_updata。 阅读全文
摘要:
欢迎来到第 4 课时“高性能索引”,这一课时的内容包含索引设计和工作原理、索引类型、索引使用技巧、如何创建高性能索引、索引创建规范等 5 个方面。 索引设计和工作原理 先来看看索引设计和工作原理。想创建高性能索引,首先要了解什么是索引。维基百科对其定义:数据库索引是一种数据结构,它以额外的写入和存储 阅读全文