专题课程
【课程简介】
随着移动互联时代的到来,数据量、并发量急剧增加,针对海量数据的特点,如何设计满足企业应用的高可用分布式数据库架构也变得越来越具有挑战性。企业在规划和设计高可用分布式数据库架构,涉及到方方面面的知识点,可选的方案也很多,如何在各种各样,纷繁复杂的技术中构建适合企业的高可用分布式数据库技术架构,变成了一件很具挑战的事情。一个好的高可用分布式数据库技术架构可以以较低的成本、更灵活的方式,满足企业用户需求。相反,糟糕的架构,不但花费了重金,而且架构过于复杂、过于笨重,线上故障不断,架构灵活性差,阻碍业务的发展。
我个人一直从事分布式RDBMS(MySQL)&NoSQL(MongoDB、Redis、Memcached等)数据库架构设计工作,根据在百度、58同城等六年内满足海量用户请求的数据库架构设计经验,带领大家一起学习数据库架构如何玩?理论结合实践,并重点讲述案例,深入剖析海量分布式数据库架构设计的高可用性。并一同探讨如何满足贵企业的高可用的分布式数据库架构设计。
来吧,一起揭开“高可用分布式RDBMS&NoSQL数据库设计与实践”的神秘面纱!
【目标收益】
本课程会采用理论结合实践的方式,循序渐进的讲述。学习完本课程,可以系统了解互联网高可用分布式数据库架构是如何设计和实践的。课程中讲述的高可用分布式数据库架构实践方法会对个人架构能力提升和贵公司的架构优化提供较好的参考依据,从而能让大家系统性的掌握高可用分布式数据库架构设计的方法论,并应用于实际工作中。
【培训对象】
本课程适用于对RDBMS(MySQL等)、NoSQL(MongoDB等)感兴趣的学员。本次课程,将会通过循序渐进、步步深入的方式讲解,理论结合实践,每节课的讲解都会基于线上亿级别实际的使用实践来展开,使同学们可以熟练掌握RDBMS、NoSQL。因此学员有一定的数据存储的基础更好。
【课程大纲】
RDBMS(MySQL)
第一课:MySQL体系架构&常用部署
1. MySQL体系架构组成;
2. MySQL单点部署方式及其适用场景;
3. MySQL复制部署方式及其适用场景;
4. MySQL分布式集群部署方式及其适用场景;
第二课:MySQL存储引擎
1. MySQL存储引擎概述;
2. MySQL存储引擎原理;
3. MySQL MyISAM引擎;
4. MySQL InnoDB引擎;
5. MySQL存储引擎适用场景;
第三课:MySQL数据库开发设计规范
1. MySQL Schema设计规范;
2. MySQL命名规则;
3. MySQL字段类型设计规范;
4. MySQL索引设计规范;
5. MySQL锁设计规范;
6. MySQL事务设计规范;
7. MySQL其他设计规范;
第四课:MySQL锁和事务设计
1. MySQL事务概述;
2. MySQL锁机制概述;
3. MySQL MyISAM表锁及其使用;
4. MySQL InnoDB行锁及其使用;
5. MySQL InnoDB 锁实现及其借鉴;
第五课:MySQL索引设计
1. MySQL数据库索引是什么;
2. MySQL数据库索引类型;
3. MySQL索引存储;
4. MySQL索引更新;
5. 我们的实践案例;
第六课:MySQL库设计
1. MySQL库设计原则;
2. MySQL海量数据如何分库;
3. 我们的实践案例;
第七课:MySQL表设计
1. MySQL表设计原则;
2. MySQL海量数据如何分表;
3. 我们的实践案例;
第八课:MySQL高可用架构设计
1. MySQL异步复制机制是什么;
2. MySQL集群Replication实现机制及其配置;
3. MySQL一主多从高可用架构;
4. MySQL一主多从(级联)高可用架构;
5. MySQL多主高可用架构;
6. MySQL双主多从高可用架构;
7. 我们的实践案例;
第九课:MySQL性能优化方法
1. MySQL性能评估方法;
2. MySQL索引优化方法;
3. MySQL SQL语句优化方法;
4. MySQL Schema设计优化方法;
5. MySQL Server性能优化方法;
6. 我们的实践案例;
第十课:MySQL监控
1. MySQL监控的重要性;
2. MySQL监控的手段是什么;
3. MySQL进程监控、语义监控、错误监控、慢查询监控、数据波动监控方法;
4. 我们的实践案例;
第十一课:MySQL数据备份与恢复
1. MySQL数据备份的重要性;
2. MySQL数据备份的方法;
3. MySQL数据快速恢复的方法;
4. 我们的实践案例;
NoSQL(MongoDB等)
第一课:NoSQL小生态
1. NoSQL产生背景;
2. NoSQL数据模型及其操作模型;
3. NoSQL数据可靠性;
4. NoSQL数据扩展性;
5. NoSQL数据一致性;
6. NoSQL数据持久化;
7. 我们的MongoDB实践
第二课:MongoDB入门
1. NoSQL简介;
2. MongoDB是什么;
3. MongoDB的关键特性都有哪些;
4. MongoDB适用场景是什么;
5. MongoDB版本回顾;
第三课:MongoDB部署
1. MongoDB的体系架构解读;
2. MongoDB生态系统节点类型;
3. MongoDB主从复制模式解读;
4. MongoDB副本集复制模式解读;
5. MongoDB分片解读;
6. MongoDB集群部署方式都有哪些?如何做选择;
7. 我们的MongoDB集群部署实践;
第四课:MongoDB库如何设计
1. MongoDB Autosharding是否靠谱;
2. MongoDB 库级sharding是否需要开启;
3. MongDB 库设计原则;
4. 我们的MongoDB库设计实践;
第五课:MongoDB 表如何设计
1. collection sharding 是否靠谱;
2. collection sharding 是否需要开启;
3. free scheme 真的free?怎么应对;
4. collection 字段名如何选取;
5. collection 索引如何设计;
6. collection 空间地理索引是否靠谱?如何设计;
7. collection 设计原则;
8. collection 单表数据量大如何sharding;
9. 我们的MongoDB 表设计实践;
第六课:MongoDB GridFS
1. GridFS是什么;
2. GridFS适用场景是什么;
3. GridFS如何使用;
4. 我们的GridFS使用实践;
第七课:MongoDB Map Reduce
1. MongoDB集群Map Reduce原理;
2. MongoDB集群上如何做Map Reduce;
3. 我们的MongoDB Map Reduce实践;
第八课:MongoDB集群监控
1. MongoDB集群监控的方式都有哪些;
2. Mongosniff能监控什么,如何监控;
3. Mongostat能监控什么,如何监控;
4. MongoDB内部工具能监控什么,如何监控;
5. MMS能监控什么,如何监控;
6. 第三方监控能监控什么,如何监控;
7. 我们的MongoDB集群监控实践;
第九课:MongoDB集群数据安全性和一致性
1. MongoDB集群会出现数据是否会丢失;
2. MongoDB集群数据安全性如何保证;
3. MongoDB集群是否会出现数据不一致;
4. MongoDB集群一致性如何保证;
5. 我们的MongoDB集群数据安全性和一致性实践;
第十课:MongoDB集群线上典型问题案例分析及解决
1. 大量删除数据问题及其解决方案;
2. 大量数据空洞问题及其解决方案;
3. 存储量&并发量增大,CPU飙升问题及其解决方案;
4. Sharding迁移数据抖动问题及其解决方案;
5. 内存频繁swap、磁盘IO性能不足问题及其解决方案;
6. 地理空间索引查询和重构消耗过多CPU资源问题及其解决方案;
第十一课:MongoDB集群性能优化方案
1. 导致MongoDB集群性能低下原因是什么;
2. 如何尽早发现MongoDB集群性能问题;
3. 如何收缩数据提升性能;
4. 如何Scale Up方式提升性能;
5. 如何Scale Out方式提升性能;
6. 我们的MongoDB集群性能优化实践;
第十二课:MongoDB集群如何无缝扩容扩展
1. 什么情况下我们需要扩容MongoDB集群;
2. 常用的MongoDB集群扩容方案都有哪些;
3. 如何做到无缝的MongoDB集群扩容扩展;
4. 我们的MongoDB集群扩容扩展实践;
第十三课:MongoDB集群如何无缝版本升级
1. 什么情况下我们需要做版本的升级;
2. 如何无缝对MongoDB集群版本升级;
3. 我们的MongoDB集群无缝升级实践;
第十四课:MongoDB 3.0及其应对方案
1. MongoDB 3.0关键特性是什么;
2. 我们如何应对;
- 上一篇:高可用架构设计与实践
- 下一篇:大规模高性能分布式存储系统设计与实现