MySQL知识图谱
- 数据库分类
- 关系型数据库
- Oracle、MySQL、PostgreSQL、SQLite关系型数据库
- NoSQL 数据库NoSQL 数据库- NoSQL 数据库NoSQL 数据库
- 文档数据库 - MongoDB、CouchDB、 Terrastore、RavenDB
- 时序数据库 - InfluxDB、Prometheus
- 列式数据库 - HBase、Cassandra、ClickHouse
- 图数据库 - Neo4J、ArangoDB、OrientDB、FlockDB、GraphDB、InfiniteGraph、Titan和Cayley等
- 键值数据库 - Redis
- 搜索引擎 - es、solr
- OLTP & OLAP
- 不同类型的数据库的特点
- MySQL的常用配置
-
- MyISAM
- InnoDB
- others:Merge / Memory / TokuDB
- 存储引擎选择
-
- 字段类型选择
-
- 数据库事务的特性:ACID
- 事务的隔离性
- 不同隔离级别的并发问题
- MVCC
- MySQL事务的提交过程
-
- 行锁、表锁
- 共享锁、排他锁、意向共享锁、意向排他锁
- Record Lock、Gap Lock、Next-key Lock
- 数据库表设计的原则
- 数据库三范式
- 反范式设计
- 命名规范
-
- 选择合适的存储引擎
- 定位执行效率较低的SQL语句
- SQL的执行过程
-
- explain的使用 | explain各个字段的含义
- 深度分页问题
- 建立索引建立索引
- 索引的作用
- 索引的分类:聚簇索引 | 唯一索引 | 单值索引 | 联合索引 | 全文索引
- B+tree
- 常见的索引的设计技巧
- 灵活设计表结构灵活设计表结构
- 从业务的角度规避复杂SQL
- SQL优化的基本原则
- 选择别的存储中间件
- 大数据量
- 分库分表
- 分库分表的方案
- 垂直拆分
- 水平拆分
- 分库分表的实现
- 数据库层的实现
- 业务层的实现
- 分区
- 选择大数据中间件
- 没必要写入数据库的数据选择别的方案
- 读写分离
-
- MySQL的数据迁移
- 数据同步数据同步
- 表数据过多
- 索引不合理
- 连接数过多
——————————————————————————
- 高可用方案高可用方案
- MySQL主从
- 不同的主从方案的优缺点
- 备份
- MySQL的高可用集群方案
- Galera Cluster
- 跨机房同步方案
——————————————————————
删库不跑路 极客时间
——————————————————————