数据库背景

数据库术语

数据库结构

  • 数据源:多源数据继承
  • 数据仓库继承工具:FTL工具、MapReduce
  • 数据仓库服务器:列存储数据库引擎
  • 数据即使:数据仓库的数据子集、聚集数据继
  • OLAP服务器:提供多维数据视图
  • 前台数据分析工具
    • 报表工具
    • 多维分析工具
    • 数据挖掘工具

数据库类型

  • 传统关系型数据库
  • MPP大规模并行处理数据库
  • NoSQL数据库
  • 图数据库
  • NewSQL数据库
  • GPU数据库

数据查询

  • Project Pushdown:投影下推

    • 只读取、查询需要的
    • 减少每次查询的IO数据量
  • Predicate Pushdown:谓词下推

    • 将过滤条件尽快执行,跳过不满足条件

数据压缩算法

  • Run Length Encoding:重复数据
  • Delta Encoding:有序数据集
  • Dictionary Encoding:小规模数据集合
  • Prefix Encoding:字符串版Delta Encoding

数据库调优

数据库调优:是数据库具有更高的吞吐量、更快响应

  • 被调优对象是数据库整体
  • 需要考虑很多资源、数据库配置

人工调优

  • 依赖人工,效率低下
  • 要求操作者理解查询原理,对应用、DBMS、操作系统、硬件有 一定理解

基于案例调优

  • 总结典型应用案例情况中数据库参数推荐配置值、逻辑层设计等 情况,为用户调优工作提供参考、借鉴
  • 忽略系统动态性、不同系统之间差异

自调优

  • 为DBMS建立模型,根据“影响数据库性能效率的因素”,自动进行 参数配置
  • 部分商业数据库实现了自调优技术

需求分析期

应用情况估算

  • 应用使用方式
    • 将业务逻辑转换为读写分布逻辑,以读多写少、读写均衡 区分OLAP、OLTP
    • 应用对数据库的并发情况、并发是否可池化
  • 数据量
  • 对数据库压力、峰值压力

系统选型策略

  • 确定适合的数据库:开源、商业;集群、单机
  • 操作系统、中间件、硬件、网络选型

项目设计期

数据模型设计

根据业务逻辑,从以下角度考虑表结构

  • E-R模型设计:遵循E-R模型设计原理,适当非规范化可以改善 系统查询性能
  • 数据逻辑分布策略:减少数据请求中不必要的数据量
    • 分区
    • 利用E-R模型分表
  • 数据物理存储策略:减少IO操作
    • 启用压缩
    • 分开存储索引、表数据
    • 不同表数据分布在不同表空间
    • 不同表空间分布在不同物理存储,尤其是读写量大的表空间 分布在不同物理存储上
    • 日志、索引、数据分布在不同物理存储上
  • 索引:在查询频繁的对象上建立恰当索引

开发期

SQL设计

  • 编写正确、查询效率高的SQL语句,依据“查询重写规则”
    • 有意识地保障SQL能利用到索引

数据库功能启用

  • 查询重用
  • 数据库参数设计

测试、试运行、上线、维护

模型系统预运行

  • 在备用系统上模型实际运行环境,加大压力进行相似测试

系统监控分析

  • 应用系统表示:收集用户使用意见、系统存在问题
  • OS环境监控:实时监控CPU、内存、IO等,对比历史正常情况
  • 数据库内部状态监控:系统表、视图、工具、锁的情况
  • 日志分析:在数据库的日志、操作系统日志中找出异常
Author

UBeaRLy

Posted on

2019-07-10

Updated on

2021-07-19

Licensed under

Comments