大数据的解决方案--------策略分析

现在无论是企业的业务系统还是互联网上的网站程序都面临着数据量大的问题,这个问题如果解决不好将严重影响系统的运行速度,下面就针对这个问题的各种解决方案进行简单的介绍。大方向,思维很重要,技术不难学,活学活用视情况而定,合理的运用,不是新的技术就一定很好用。

1:缓存和页面静态化

数据量大这个问题最直接的解决方案就是使用缓存,缓存就是将从数据库中获取的结果暂时保存起来,在下次使用的时候无需重新到数据库中获取,这样可以大大降低数据库的压力。详细点击链接(http://blog.csdn.net/dunhuang_hyoutei/article/details/61618278)

2:数据库优化

要解决数据量大的问题,是避不开数据库优化的。数据库优化可以在不增加硬件的情况下提高处理效率,这是一种用技术换金钱的方式。数据库优化的方法非常多。有时候合理利用冗余也能获取非常好的效果。
2.1:表结构的优化
2.2:sql语句的优化
2.3:分区
2.4:分表
2.5:索引优化
2.6:使用存储过程代替直接操作
等等。。。。。。。
详细点击链接(http://blog.csdn.net/dunhuang_hyoutei/article/details/61625438)

3:分离活跃数据

虽然有些数据总量非常大,但是活跃的数据并不多,这种情况就可以将活跃数据单独保存起来从而提高处理效率;比如,对网站来说,注册的用户很多,但是活跃的用户不多,而不活跃的用户偶尔也会登录网站,因此还不能删除,这时就通过一个定期任务将不活跃的用户转移到另一张表中,在主要操作的表中只存活跃用户,查询时先从默认的活跃的表中查找,如果找不到就从不活跃的用户表中查找;这样就可以提高查找效率;判断活跃可以通过登录时间或者时间段内登陆次数等方法;除了用户还有很多这种类型数据;比如一个网站上的文章(特别新闻类),企业业务系统中按时间记录等。

4:批量读取和延迟修改

批量读取和延迟修改的原理是通过减少操作的次数来提高效率,如果使用得恰当,效率将会呈数量级提升。详细点击链接(http://blog.csdn.net/dunhuang_hyoutei/article/details/61634082)

5:读写分离

读写分离的本质就是对数据库进行集群,这样就可以在高并发的情况下将数据库的操作分配到多个服务器去处理从而降低单台服务器的压力,不过由于数据库的特殊性—-每台服务器所保存的数据就需要一致,所以数据同步就成了数据库集群中最核心的问题。详细点击链接(http://blog.csdn.net/dunhuang_hyoutei/article/details/61641542)

6:分布式数据库

分布式数据库是将不同的表存放在不同的数据库中然后再放到不同的服务器。这样在处理请求时,如果需要调用多个表,则可以让多台服务器同事处理,从而提高处理速度。详细点击链接(http://blog.csdn.net/dunhuang_hyoutei/article/details/61643672)

7:NoSQL和Hadoop

详细点击链接(http://blog.csdn.net/dunhuang_hyoutei/article/details/61663597)

参考文献:《看透Spring MVC源代码分析与实践 》 韩路彪著

你可能感兴趣的:(思维)