海量数据解决方案

使用缓存
使用程序直接保存到内存中。主要使用Map,尤其ConcurrentHashMap。
使用缓存框架。常用的框架:Ehcache,Memcache,Redis等。
最关键的问题是:什么时候创建缓存,以及其失效机制。对于空数据的缓冲:最好用一个特定的类型值来保存,以区别空数据和未缓存的两种状态。

数据库优化
1,表结构优化。 2,SQL语句优化,语法优化和处理逻辑优化。可记录各语句执行时间,有针对性的分析。
3,分区 4,分表 5,索引优化
6,使用存储过程代替直接操作
分离活跃数据
批量读取和延迟修改
高并发情况可以将多个查询请求合并到一个。高并发且频繁修改的可以暂存缓存中。
分布式数据库
将不同的表存放到不同的数据库中,然后再放到不同的服务器中。
NoSql,not only SQL。没有关系型数据库那么多限制,比较灵活高效。Hadoop,将一个表中的数据分层多块,保存到多个节点(分布式)。每一块数据都有多个节点保存(集群)。集群可以并行处理相同的数据,还可以保证数据的完整性。
