数据库设计理论之硬件

     数据库的硬件设计在性能上主要体现在:CPU、I/O和负载情况三个方面。这些指标需要对业务进行综合评估和系统测试之后,做出一个合理的硬件配置清单。

     数据库的硬件设计包含了数据库服务器的架构和数据存储。这些因素在数据库设计阶段将作为重点的考虑因素。如果当系统上线之后,出现冗余或者空间不足的问题,将是一件非常麻烦的事情。

      数据的存储和安全应该主要考虑以下几个问题:

1.存储容量

     如果一个系统的生命周期可以确定,或者说数据库中的数据保存时间可以确定,那么就可以通过一个简单的计算,大致估算出数据库所存放的数据量的大小,以作为存储设备采购的一个依据。可以通过估算占有存储空间的所有数据库对象(其实主要是估算业务用户下的所有对象)的容量,来计算数据的容量。   

     占用空间的对象都可以在DBA_SEGMENTS视图里面找到,数据库的空间分配是以段的形式分配的,凡是段对象,都是要占用空间的,它包括表、索引、物化视图、其他的一些大对象(如全文索引对象)。如果在开发阶段能够预测每个表的记录数,然后取得这个表的字段总长度,于是表的容量=记录数*字段长度。

     一个表中索引的大小和索引的类型,以及索引键值的重复率有很大的关系,开发人员可以通过模拟一些实际数据来估算出索引和表数据的一个比例,然后做出索引所占空间的估算。

          例:计算容量

          创建一个表,然后在表上创建索引,之后对表和索引进行分析,然后查询视图user_tables就可以得到表的大致容量。

          对于表T,表T有索引SYS_C007525,按以下步骤:

            

             313这个数值就是表的平均行长,如果我们能够估算出预期表的记录数N,那么最终表占用的空间就是313bytes*N。

             

            我们取得了测试表中表和索引的大小,计算出索引和表大小的百分比,这样,就获得了最终这个表的空间使用量为:

            表的总使用量=313bytes*N(1+7)。

     这就是预期这个表的容量,如果能够预测出未来数据库的数据量,就可以比较客观地估算出数据库预期的容量大小。

      另一个容易被开发商忽略的问题是对系统备份数据占用空间的考虑,有些系统就存在这个问题,系统上线之后才发现,设计人员根本没有考虑过系统备份的问题,也没有预留出足够的空间来做数据备份,给DBA带来的压力相当大。由于磁盘空间有限,可以在备份新的数据的同时,及时删除一些旧的备份数据,此时的DBA需经常检查磁盘容量。

2.存储的物理设计

待续。。。。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值