海量数据性能优化措施

 

大家一起讨论总结下海量数据性能优化措施有哪些,要求:
1. 最好是通用的优化措施,不是针对某个特定数据库的优化措施。如果针对某个特定数据库,则需要单独说明。
2. 这里说的性能优化:主要是查询性能,也包括增加,删除,更新数据时的性能。
4. 这里说的海量数据包括以下两种情况:
(1)上亿的数据量。
(2)百万到千万的数据量。
个人之所以这么分,是觉得这两种数量级,优化处理方法差别比较大的。
5.大家可以从硬件配置,数据库设计配置,SQL优化,程序优化等多方面考虑。
暂考虑主要有以下措施:
1.建立索引,根据不同的情况建立不同的索引,具体不细说。另外:sql server里有聚集索引和非聚集索引,oracle中对应的是什么索引,谁知道?
2.建立表分区,将分区对应的表空间存储在不同的磁盘上。、
3.分表:建立同样的表结构的表N个,存储不同范围的数据。
4.设计上拆分表:比如原来复杂的表,通过关联拆分成多个表,主表只保留主要字段。、
5.表的冗余设计。
6.设计性能优良的SQL语句。

 

我主要是想总结下而已,没有具体环境。总结些常用的解决方案。我不是说以后有场合就用,而是说,到了具体需要用的时候,知道从哪些方面着手,然后再具体问题具体分析。
另外:SQL SERVER 里的聚集索引对应到oracle中,有什么同样的功能呀。SQL SERVER 里的聚集索引就是根据数据存储的物理顺序建立索引,所以效率很高,也基于这个原因,所以每个表必须只有一个聚集索引,因此在需要用的时候,要好好规划,究竟哪个字段需要设置成聚集索引。。但是我现在用的最多的是oracle ,我想知道有什么类似的功能。

 

 

朋友良好贴:

banq       

首先要采取切割方式,具体情况具体研究。
这些数据其实代表业务,能否根据业务划分子领域,找出核心领域,不能就数据论数据,没有一套裤子适合所有人穿,一定要打破那种学好一套数理化,走遍天下都不怕的僵硬解决问题的思路。

性能之所以优化,而不是提升,是因为优化这个概念中就有天花板,也就是说:总有一天优化不下去。

大数据量的性能提升就是将数据从数据库这个盒子里面拿出来,重点研究解决,而不是隔着靴子(具体数据库产品)挠痒痒,这是基本逻辑,先把方向选定,别急着讨论技术细节,否则南辕北辙。

scalable伸缩性是软件的一个设计目标,如今分布式云计算非常廉价而且容易,google自己就用云计算树立了一个解决大数据的典范。

ACoder

1、最简单的提升性能的方法就是提升硬件,增加硬件的投入效果立竿见影,不过这个主要是是投资方的可接受成本问题了。一般的来说从硬件方面的投资主要是购买大型机RS9000,购买磁盘柜(同时也是高可用的需要),增大内存。这些都可以提升系统的速度。
2、从软件方面来说首先应该尽量使用64位的数据库,同时数据库应当建立在裸设备上。
3、你说的确实是对的,对于亿级别的数据通常是历史数据,而百万以及千万级别的数据通常是交易数据,这两种确实有很大区别,历史数据多为了读取,交易数据通常是可修改的,在建立索引的时候要考虑插入的问题。
4、通常有表分区功能的数据库就不需要在设计上进行分表设计,只有在数据库系统不提供该功能的时候才会采用分表设计。分区要建立在不同的磁盘上以提升IO性能。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值