zoukankan      html  css  js  c++  java
  • 数据库容量和内存测算的一些想法

     数据库容量和内存测算的一些想法

    参考于:http://blog.itpub.net/12679300/viewspace-1443818/

    参考于:http://blog.sina.com.cn/s/blog_1533f3fb90102wktx.html

    一、数据库容量估算

    总体来说数据库容量核心分析对象还是数据库表,以及围绕数据库表的视图、索引、日志等相关附属信息。汇总这些信息后,再加上3--5年业务增长量给出数据库容量的评估。
    1、单表单行数据库容量分析:
    分析单表单行数据容量,就要分析各种数据库和各种数据类型占用字节的情况,比如Oracle数据库:
    char类型多长就多少字节,Number类型最多按22个字节计算,平均按10个字节计算足够,varchar类型按长度2/3计算,date型占有7个字节。
    按如上假设,如果一个客户表,有30个varchar(100),则一条客户记录是2k,10万客户信息则将近200M,每年30%的增长,则每年增加空间约60M。
     
    2、索引空间评估:
    一张表的索引空间一般是表空间的1/3,可以按照1/2表空间评估该表的索引存储空间。
     
    3、数据库缓存容量:
    数据库缓存(内存空间)一般为数据库空间的5%时性能较好。
     
    4、内存容量空间需求分析:
    首先根据数据库容量算出所需的数据库缓存大小,再估计出操作系统、系统软件等所需内存,合计即是所需的内存容量。
     
    5、机器系能:一般机器CPU达到70%系能较好,超出为过渡饱和,有系能隐患,低于的话,机器资源没有达到合理利用。
     
    除此之外,分析数据库空间还有表日志空间、rollback空间、redo空间、临时空间等。

     

    6、另外一种计算的方法

    当系统运行一段时间之后(比如三个月),这时候已经很清楚当前的数据总量和占用的总空间大小,通过对未来的业务估算可以很容易的计算出未来1年、3年的整体数据库容量大小;

    比如一个系统上线3个月后,数据库的大小达到了300GB,如果这三个月的业务属于正常范围,那么很容易计算出每个月差不多增长100个Gb,但是行业之间总是有差异的,比我鞋服行业就有分春夏和秋冬的区别,一件衣服夏天的和冬天的主数据量是不一样的,按这种方式会有比较大的误差,但是数据量级别应该是正确的,对于这种系统运行完一年之后进行容量的评估将会比较正确;

     

    这种方法计算容量有一个很明显的弊端:需要在系统运行一段时间之后才能计算出来,但是这个时候相应的硬件和存储都已经采购完毕了,只能在一段时间之后进行扩容。

     

    7、参考同行业同系统之间的数据容量

    这是一个最便捷的办法,在上SAP之前公司内部最大的系统数据也才500GB左右,所以在脑子里面对数据容量的大小也是一直停留在百GB的水平,刚好同行业中的其他公司也上了SAP,经过了解他们上SAP的模块和我们差不多,运行一段时间之后数据量已经达到了TB的水平了,每天数据的增长量是GB级别,这样一下子对整个系统的数据量级别有了个很明显的认识。在采购硬件的时候就不会有太大的偏差。

     

    二、内存需求的计算

    涉及到内存的缓存命中率的关系,数据库系统的内存的分配跟数据库总容量大小有很大的关系,行业的经验是当缓存容量达到数据库总容量的5%时性能较好,因此确定了数据库的大小之后缓存的大小也就可以的出来了。

    例如在aix平台下面一个1TB的数据库

    1、操作系统本身所占用的内存 128MB

    2、应用程序所占的内存   256MB

    3、数据库缓存 50GB

    4、合理的内存利用率75%

    总计 67GB

    考虑到数据的保存时间5年(一般3到5年要做一个数据结转),因此数据库最大容量有可能达到5TB,所以该主机的内存达到300GB可以满足未来5年的业务需求。

     

    总结:站得高尿得远,dba主动去考虑一下整体的it架构需求,当这种思考点多了站的高度也就高了。因为整个IT架构里面dba属于一个很重要的岗位,性能的规划、存储容量的规划只有dba最清楚,当dba不参与的时候,就变成了“猜”,根据系统的重要性去采买硬件、几个cpu、多少内存、多少存储,这些都是凭着系统的重要性和领导的重视程度、预算的多少,供应商当然也会提供相应的参考方案,但是他们提的方案肯定是越高越好的。

    附:基本类型长度

    (1)数值类型

    类型大小范围(有符号)范围(无符号)用途
    TINYINT 1 字节 (-128,127) (0,255) 小整数值
    SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值
    MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值
    INT或INTEGER 4 字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
    BIGINT 8 字节 (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
    FLOAT 4 字节 (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38) 单精度
    浮点数值
    DOUBLE 8 字节 (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度
    浮点数值
    DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值

    (2)日期和时间类型

    类型大小
    (字节)
    范围格式用途
    DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
    TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
    YEAR 1 1901/2155 YYYY 年份值
    DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
    TIMESTAMP 4

    1970-01-01 00:00:00/2038

    结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07

    YYYYMMDD HHMMSS 混合日期和时间值,时间戳

    (3)字符串类型

    类型大小用途
    CHAR 0-255字节 定长字符串
    VARCHAR 0-65535 字节 变长字符串
    TINYBLOB 0-255字节 不超过 255 个字符的二进制字符串
    TINYTEXT 0-255字节 短文本字符串
    BLOB 0-65 535字节 二进制形式的长文本数据
    TEXT 0-65 535字节 长文本数据
    MEDIUMBLOB 0-16 777 215字节 二进制形式的中等长度文本数据
    MEDIUMTEXT 0-16 777 215字节 中等长度文本数据
    LONGBLOB 0-4 294 967 295字节 二进制形式的极大文本数据
    LONGTEXT 0-4 294 967 295字节 极大文本数据
  • 相关阅读:
    CodeForces 510C Fox And Names (拓扑排序)
    Codeforces 1153D Serval and Rooted Tree (简单树形DP)
    HDU 6437 Problem L.Videos (最大费用)【费用流】
    Luogu P3381 (模板题) 最小费用最大流
    Codeforces 741B Arpa's weak amphitheater and Mehrdad's valuable Hoses (并查集+分组背包)
    Codeforces 1144F Graph Without Long Directed Paths (DFS染色+构造)
    HDU 2204 Eddy's 爱好 (容斥原理)
    Codeforces 939E Maximize! (三分 || 尺取)
    Codeforces 938D. Buy a Ticket (最短路+建图)
    CodeForces 959E Mahmoud and Ehab and the xor-MST (MST+找规律)
  • 原文地址:https://www.cnblogs.com/carsonwuu/p/9645054.html
Copyright © 2011-2022 走看看