zoukankan      html  css  js  c++  java
  • Greeplum 系列(八) 数据维护

    Greeplum 系列(八) 数据维护

    一、事务管理

    begin(start transaction)       # 开始事务
    savepoint           # 保存事务回滚点
    rollback            # 回滚事务
    end(commit)         # 结束事务
    

    二、回收空间和分析

    (1) 过期记录来源

    1. 事务ID管理:在每个数据库每2百万个事务的时候,对每张表执行VACUUM是很有必要的。
    2. 系统目录维护:大量的CREATE和DROP命令会导致系统表的迅速膨胀,以至于影响系统性能。
    3. MVCC事务并发模型:已经删除或者更新的记录仍然占据着磁盘空间。
    4. 如果数据库有大量的更新和删除操作,将会产生大量的过期记录。

    所以需要定期的运行 VACUUM 命令可以删除过期记录,回收空间。

    vacuum tb01;
    vacuum full;    # 回收所有过期记录,但是耗时长,生产环境中不建议使用
    

    (2) 配置子空间映射

    过期的记录会被存放在叫做自由空间映射的地方,超出自由映射空间的过期记录所占用的空间无法回收(除非删除表);

    自由映射空间的设置参数(一般不用配制):max_fsm_pages、max_fsm_relations

    (3) 查询优化器

    GP 使用基于成本的查询优化器,使用 analyze 命令收集查询优化器需要的统计信息,可以和 vaccum 一起使用。

    vaccum analyze tb_cp_02;
    

    三、日常重建索引

    1. 对于 B-tree 索引,新重建的索引比存在较多更新的索引更快
    2. 重建索引可以回收过期的空间
    3. 在 GP 中,删除索引然后创建通常比 REINDEX 更快
    4. 当更新数据时,Bitmap 索引不会被更新

    四、管理 GPDB 日志文件

    (1) 数据库服务日志文件

    GP 在 Master 和所有 Segment 实例上开启了日志文件按天滚动,服务器日志文件存放在每个实例数据目录的 pg_log 目录下。格式:gpdb-YYYY-MM-DD_TIME.csv

    通过 gplogfilter 工具来查找匹配指定标准的日志数据

    gplogfilter –n 3
    

    gplogfilter + gpssh 工具组合在所有 segment 节点进行查找

    gpssh –f seg_host_file
        => gplogfilter –n 3 /data/primary/*/pg_log/gpdb*.csv
    

    (2) 程序日志文件

    缺省位于 ~/gpAdminLogs 目录下。命令方式:<script_name>_.log。日志记录的格式:

    <timestamp>:<utility>:<host>:<user>:[INFO|WARN|FATAL]:<message>
    

    五、系统数据字典

    所有的系统数据字典存放在 pg_catalog 模式下,标准的 PostgreSQL 系统数据字典为pg_*

    GP特有的字典目录:

    gp_configuration
    gp_distribution_policy
    gp_distributed_log
    gp_id
    gp_version_at_initdb
    gp_master_mirroring
    gp_pgdatabase
    

    在 psql 中列出所有的系统字典:dtS

    在 psql 中列出所有的系统视图:dvS


    每天用心记录一点点。内容也许不重要,但习惯很重要!

  • 相关阅读:
    Caused by: java.lang.ClassNotFoundException: org.w3c.dom.ElementTraversal
    Linux系统下jar包的启动方式
    1062 Error 'Duplicate entry '1438019' for key 'PRIMARY'' on query
    Linux学习笔记 --iptables防火墙配置
    MySQL学习笔记_10_MySQL高级操作(下)
    MySQL学习笔记_9_MySQL高级操作(上)
    MySQL学习笔记_8_SQL语言基础复习
    Linux 学习笔记_12_文件共享服务_4_SSH
    Linux 学习笔记_12_文件共享服务_3_NFS网络文件服务
    MySQL学习笔记_7_MySQL常用内置函数
  • 原文地址:https://www.cnblogs.com/binarylei/p/9148758.html
Copyright © 2011-2022 走看看