中高级程序员、系统分析员、数据库管理员、构架设计师、产品市场技术人员
| 课程编号 | 开课日期 | 地点 | 培训天数 | 选择报名 |
中高级程序员、系统分析员、数据库管理员、构架设计师、产品市场技术人员
课程收益
从数据库的逻辑设计、物理设计和数据访问多种角度,进行数据库性能优化。从一个数据库的性能优化,到多个数据库的性能优化,全面讲解逻辑、物理和数据访问的性能解决策略。
培训目标:
培训结束后,学员能够: • 数据库性能评价指标
• 数据库性能相关的因素
• 数据处理原理
• 分析当前的数据库
•数据库逻辑设计与性能优化
• 物理设计与性能优化
• 优化数据访问性能
培训对象: 中高级程序员、系统分析员、数据库管理员、构架设计师、产品市场技术人员
学员基础:具备一定的数据库编程、分析、设计经验
培训内容:2天
授课方式: 定制课程 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练,详见 公开课学习手册
培训内容:2天
实例和故事(某银行、淘宝,google),重现数据性能场景
• 高峰的并发访问
•大数据容量的查询
• 大数据量的联合查询和统计
• 长事务处理
•大数据容量的数据操作
• 分布式数据库一致性同步
分析性能关注的问题 • 并发处理
• 大数据容量处理
• 复杂数据查询和统计
• 长事务处理
• 分布式数据处理
• 如何通过逻辑数据库设计优化性能
• 如何从物理数据库角度优化性能
• 支持不断增长的性能压力引起的扩展
典型数据库的运行原理,建议结合SQLServer ,MySQLOracle •进程模型
•内存分配与管理
•日志管理
•事务管理
•缓存与页面切换
•SQL查询执行原理
•相关配置参数
数据库设计方法与原则 • 需求分析
• 模块化设计
• 什么是三范式
• 设计出数据库、表、视图和其他数据库对象
• 数据的一致性原则
• 使用数据库设计工具
• 设计之前考虑性能问题
如何设计优秀的数据库 • 数据库逻辑设计和物理设计的规范化
• 合理的冗余
•主键的设计
•外键的设计
•字段的设计
• 数据库物理存储和环境的设计
•系统设计
•索引的设计
•其他设计
行业数据库设计经验方法论 •销售行业数据库设计案例分析
• 金融行业数据库设计案例分析
• 互联网行业数据库设计案例分析
• 其他行业案例分析
数据性能场景 • 高峰的并发访问
• 大数据量的联合查询和统计
• 长事务处理
• 大数据容量的数据操作(查询,更新,修改,删除)性能
• 分布式数据库一致性同步
性能优化:数据库设计 • 针对性能的数据库设计基本原则
• 逻辑数据库设计
• 物理数据库设计
• 反规范化设计
• 分割技术
• RAID技术
性能优化:SQL算法的改进 • 只返回需要的数据
•尽量少做重复的工作
• 注意事务和锁
•注意临时表和表变量的用法
•子查询的用法
•慎用游标
•尽量使用索引
•注意连接条件的写法
•其他需要注意的地方
•学会分辩SQL语句的优劣
性能优化:索引定期维护 •索引的定义
• 索引的结构、填充因子
• 聚集索引和非聚集索引
• 唯一索引和包含列索引
• 索引碎片整理以及索引重建
• 删除从未使用过的索引
• 创建更合适的索引
性能优化:系统调优 • TempDB的调优
• 定期转移不需要的历史数据
• 解决死锁和阻塞
• 多表JOIN考虑视图
性能优化:海量数据库优化 • 存储内容分解
•根据内容确定存储位置与介质
•数据的分库策略:结构划分原则,存储空间,
•数据的水平和垂直切割,
•多个数据库的访问关系规划,读写分离
•多个数据库的数据路由和同步
•数据的备份与转储
•充分利用缓存提升性能
应对不断发展的数据存储方案:分库设计 • 数据仓库设计原则与模型搭建
• 星型架构与雪花型架构
• 事实表与维度表的设计
• 逻辑设计与物理设计
• 数据仓库设计的常用方法
• 数据仓库设计技巧总结
• 数据仓库案例分析
某大型数据库设计项目案例 • 项目介绍
• 需求分析
• 分析项目中的数据
• 数据库容量分析
• 数据库访问量分析
• 数据库的逻辑设计和性能优化
• 数据库的物理设计和性能优化
• 数据库性能优化方案
• 数据库性能监测与调优
• 建立持续的性能扩展架构