从网上查询关于数据库大数据处理的方案,有很多不错的Blog,提出很多的解决方案,所以呢自己也想整理一下关于这方面的内容,如果只是把别人整理的总结Copy到这就没什么意思了,甚至在面试的时候会经常被问到怎么样来处理大数据和高并发的解决方案,再说了网上也有很多重复的内容,把一篇文章Copy来Copy去的!来点个人见解吧!
现在的做的Java WEB项目有几个算得上是大数据的,很少的,基本上整个数据库加起来也就几十万条的数据量,像那些数据量相当大的网站或是系统基本上都是有很多服务器或是配置很高的服务器来支持的,最近做了一个项目数据量在千万级别,数据库表空间实际用到的也就3GB左右,这种数据量算不上是什么大数据,但是在开发的过程自己花了不少的功夫,根据自己的经验分享一下关于这种大数据处理的方案,这只是个人经验!
第一、首先解决SQL的问题
首先不考虑使用什么其它的第三方的,就单纯的SQL,写出查询效率高的SQL语句,一个数据库报表,可以使用不同的关键字和不同的SQL来实现,写出不同的SQL比较一下,哪一种查询效率高、哪一种查询效率快,这种是最直接的!
第二、建立分区表或是历史数据表
对于数据量特别大的表建立分区表或是历史数据表,比如像订单表、交易流水录表等等,这个可能根据数据量的大小来定,比如我在做上一个项目的时候,一天的交易流水最多也就不到1万条,按照这种数据量的增加,按一年建立一张分区表,一年下来差不多一张表的数据量也就在300万左右。或者是再加上一个查询历史交易的功能,还或者是限定查询的时间,比如只能查询一个月或是一个季度