卲老师 腾讯网架构师,曾任新浪资深数据库专家(最高级)
作为腾讯腾讯网架构师,负责制定数据库平台规划和建设,日常新项目审批 ;针对不同产品项目生命周期 , 合理调配资源,保证项目稳定;通过严密的监控手段 , 对存在 问题 的项目进行及时追踪和优化指导;定期为公司各部门开发人员进行数据库使用的培训;定期给出各项目读写量报告;制定数据库平台使用规范和应急响应流程规范。作为之前新浪的资深数据库专家,精通数据库高可用架构以及性能参数优化,研究和设计出高可用数据库集群,达到了业内最高的99.999%的稳定性。
成绩和荣誉:
- 2009年底被评为腾讯公司高级技术工程师(T3.3级别) (当时腾讯网技术部T3级以上总共4人)
- 2008年度新浪公司优秀个人。 (公司仅1%的人获此荣誉)
- 2008年度被评为新浪公司资深数据库专家。 (新浪技术最高级)
- 2007-2008年新浪数据库平台服务全年宕机时间少于50分钟
- 2007年度新浪公司优秀团队奖
课程对象
中高级程序员、系统分析员、数据库管理员、构架设计师、产品市场技术人员
课程背景
从数据库的逻辑设计、物理设计和数据访问多种角度,进行数据库性能优化。从一个数据库的性能优化,到多个数据库的性能优化,全面讲解逻辑、物理和数据访问的性能解决策略。
培训目标
- 数据库性能评价指标
- 数据库性能相关的因素
- 数据处理原理
- 分析当前的数据库
- 数据库逻辑设计与性能优化
- 物理设计与性能优化
- 优化数据访问性能
课程大纲
实例和故事(某银行、淘宝,google),重现数据性能场景
|
高峰的并发访问 大数据容量的查询 大数据量的联合查询和统计 长事务处理 大数据容量的数据操作 分布式数据库一致性同步 |
分析性能关注的问题
|
并发处理 大数据容量处理 复杂数据查询和统计 长事务处理 分布式数据处理 如何通过逻辑数据库设计优化性能 如何从物理数据库角度优化性能 支持不断增长的性能压力引起的扩展 |
典型数据库的运行原理,建议结合SQLServer ,MySQLOracle
|
进程模型 内存分配与管理 日志管理 事务管理 缓存与页面切换 SQL查询执行原理 相关配置参数 |
数据库设计方法与原则
|
需求分析 模块化设计 什么是三范式 设计出数据库、表、视图和其他数据库对象 数据的一致性原则 使用数据库设计工具 设计之前考虑性能问题 |
如何设计优秀的数据库
|
数据库逻辑设计和物理设计的规范化 合理的冗余 主键的设计 外键的设计 字段的设计 数据库物理存储和环境的设计 系统设计 索引的设计 其他设计 |
行业数据库设计经验方法论
|
销售行业数据库设计案例分析 金融行业数据库设计案例分析 互联网行业数据库设计案例分析 其他行业案例分析
|
数据性能场景 |
高峰的并发访问 大数据量的联合查询和统计 长事务处理 大数据容量的数据操作(查询,更新,修改,删除)性能 分布式数据库一致性同步 |
数据性能场景
|
高峰的并发访问 大数据量的联合查询和统计 长事务处理 大数据容量的数据操作(查询,更新,修改,删除)性能 分布式数据库一致性同步 |
性能优化:数据库设计
|
针对性能的数据库设计基本原则 逻辑数据库设计 物理数据库设计 反规范化设计 分割技术 RAID技术 |
性能优化:SQL算法的改进
|
只返回需要的数据 尽量少做重复的工作 注意事务和锁 注意临时表和表变量的用法 子查询的用法 慎用游标 尽量使用索引 注意连接条件的写法 其他需要注意的地方 学会分辩SQL语句的优劣 |
性能优化:索引定期维护
|
索引的定义 索引的结构、填充因子 聚集索引和非聚集索引 唯一索引和包含列索引 索引碎片整理以及索引重建 删除从未使用过的索引 创建更合适的索引 |
性能优化:系统调优
|
TempDB的调优 定期转移不需要的历史数据 解决死锁和阻塞 多表JOIN考虑视图 |
性能优化:海量数据库优化
|
存储内容分解 根据内容确定存储位置与介质 数据的分库策略:结构划分原则,存储空间, 数据的水平和垂直切割, 多个数据库的访问关系规划,读写分离 多个数据库的数据路由和同步 数据的备份与转储 充分利用缓存提升性能 |
应对不断发展的数据存储方案:分库设计 |
数据仓库设计原则与模型搭建 星型架构与雪花型架构 事实表与维度表的设计 逻辑设计与物理设计 数据仓库设计的常用方法 数据仓库设计技巧总结 数据仓库案例分析 |
某大型数据库设计项目案例
|
项目介绍 需求分析 分析项目中的数据 数据库容量分析 数据库访问量分析 数据库的逻辑设计和性能优化 数据库的物理设计和性能优化 数据库性能优化方案 数据库性能监测与调优 建立持续的性能扩展架构 |