10分 |
数据越大查询越慢,这个是必然的的,使用缓存可以提升速度,但是不能实时。。。最佳解决方案就是多级报表。。。
比如,如果要统计全国2000多个县市数据,就要遍历2000个点。。如果中间加个省级报表,,这样全国报表就可以建立在30多个省级报表汇总就可以了。。。 在省级报表基础上,可以仿照军区方式,对全国划区,比如7个大区,这样,统计全国报表只要遍历7个点啦。。 所以,我觉得比较好的方式就是多级报表,推荐 全国》》区域》》省》》市县 |
10分 |
不过我想更加通用的方案是 建立业务级别的索引。。
1. 业务级别的索引 1 2. 创建索引可以大大提高系统的性能。 1 3. 索引的实现 2 3.1. 通常使用B树及其变种B+树。(需要排序) 2 3.2. 使用hash 2 4. 业务索引的存储 2 5. 索引的实现方式优化 2 5.1. 增量索引 2 6. 增加索引也有许多不利的方面。 2 1.业务级别的索引 大数据量统计下的统计非常慢。缓存可以部分解决这个问题,也可以缓解这个问题,但是缓存往往不能实时查询。多级关联查询也比较麻烦。。 解决思路,就是仿照数据库,建立业务级别的索引。。 默认数据库只能建立列的索引,,只有oracle支持函数索引,mysql ,mssql都不支持函数索引 2.创建索引可以大大提高系统的性能。 3.索引的实现 4.业务索引的存储 5.索引的实现方式优化 |
10分 |
但从数据库角度,做集群。 建议用hadoop.
|
10分 |
典型的hadoop应用场景啊
|