`

有关大数据量统计数据展示查询的探讨

    博客分类:
  • JAVA
阅读更多

最近接了一个遗留的系统,后台有一张千万级的单表做为基础的数据源,还有一些扩展表用于记录业务的详细信息,在数据源表的关键字段上都建立了索引,但是最近由于业务量的增加,对于该表的查询和统计越来越频繁,有时候一个大的关联SQL会执行好十几分钟,CPU的占用率也非常高,客户很不满意。

 

 

解决方案:

 

考虑到前台的统计查询需求是延期的,就是今天查询昨天以前的数据,这个月查询上个月以前的数据,基本没有实时性,所以感觉后台的关联实时查询不是很必要,就用了所见即所得的方式来改造。

 

如下:

1:

根据前台的业务展示设计一张一一对应的单表,然后加上足够的扩展字段方便以后需求的变更,具体的必须字段可更具具体情况来定。

 

2:

后台跑定时程序,跑统计SQL将结果放入展示单表。

 

就这么简单,这样的好处是统计的过程是可控的,不会让客户来直接操作,客户查询的速度明显提高,因为现在一个业务需求查询只针对一张单表,不涉及到关联其他的表。缺点是实时性不好。

 

 

从上面的解决方案也可以看出前期的设计非常重要,如果后台的表结构不合理,会对日后的业务查询统计带来不可知的复杂度.

分享到:
评论
14 楼 bbym010 2010-09-18  
lbbiao 写道
1、分表确实能减少一部分数据库压力,也能减少DBM的维护压力。
2、分表对于后期sql处理上会带来很大的影响,查询的时候需要从不同表中关联查询,效率可想而知。
3、缓存也有一定的局限性,高并发访问的时候,缓存很容易被冲掉。
4、是否可以引导用户对需求进行变更,你想想支付宝后台交易查询(相信他的数据量比你们的大),他们能让你查询所有的吗?以时间维度来切分表,给出不同的时段让用户从不同的表中去查询,效率问题应该可以解决。

个人愚见!



是的,分表其实一般依情况加上时间维度比较好
13 楼 p2bl 2010-07-29  
使用ORACLE的分表 不影响SQL 语句,是由ORACLE控制的。SQL Server 2005也开始支持分表了

另外可以使用物理视图,由ORACLE控制刷新
12 楼 pouyang 2010-07-28  
如果 不需要考虑即时性问题,可考虑分表,定时任务了
11 楼 pouyang 2010-07-28  
分页查询的时候,做两件事
1 查询要显示页的内容
2 查询记录数
往往时间都是耗在 2 上

可否采取这样的操作
做两次异步提交 1次查内容,另外一次查询记录数,这样的话客户会很快看到内容。
10 楼 lbbiao 2010-07-28  
1、分表确实能减少一部分数据库压力,也能减少DBM的维护压力。
2、分表对于后期sql处理上会带来很大的影响,查询的时候需要从不同表中关联查询,效率可想而知。
3、缓存也有一定的局限性,高并发访问的时候,缓存很容易被冲掉。
4、是否可以引导用户对需求进行变更,你想想支付宝后台交易查询(相信他的数据量比你们的大),他们能让你查询所有的吗?以时间维度来切分表,给出不同的时段让用户从不同的表中去查询,效率问题应该可以解决。

个人愚见!
9 楼 coffeesweet 2010-07-28  
建议je的管理员出来删广告,还有,那个发广告的人把自己头像的连接直接转到了je的主页,不知掉怎么设置的,难道是和je串通的吗??
8 楼 bysshijiajia 2010-07-28  
soleghost 写道
1.ali的广告满天飞
2.看看javaeye的博客排名,应该也是调度任务跑出来的

哈哈 一看上面的招聘要求就是ali的 嘿嘿
7 楼 soleghost 2010-07-28  
1.ali的广告满天飞
2.看看javaeye的博客排名,应该也是调度任务跑出来的
6 楼 J-catTeam 2010-07-27  
1.分库分表,不过有局限性,分库分表后的sql有一定的限制。
2.根据具体场景加缓存。
5 楼 aofeng 2010-07-27  
1、使用Oracle,MySQL的分区表功能。
2、如果是Oracle可以使用大内存进行缓存(推荐用64位系统),我们就这么做。
3、报表类数据采用定时统计数据存储在汇总数据表中(就是楼主目前采用的方法)。
4 楼 zlowly 2010-07-27  
大数据量通常考虑使用数据库提供的特有功能。例如oracle的话,可以考虑用物化视图、快照,这样甚至在一定条件下即使实时性也可以没问题;或者如果查询和时间区间相关性较强,可以考虑用partition分区技术将数据切片以降低查询cost。
3 楼 ivan18248 2010-07-27  
恩,我们的系统也是用分表来减压
2 楼 coffeesweet 2010-07-27  
因为该表涉及到其他系统的dblink,如果单方面改分表的话会影响到其他的系统,这些都是之前设计没考虑的问题,现在开始修修补补了,郁闷.......
1 楼 calidy 2010-07-27  
千万级的单表应该考虑分库分表,搞个历史库啥的

相关推荐

    大数据量翻页查询的一点经验

    在大数据量的翻页查询中,优化查询性能是至关重要的,因为这直接影响到系统的响应速度和用户体验。在本文中,我们将探讨如何针对特定场景优化这种查询。首先,我们需要理解系统的基本设定:每天生成一张包含1000万条...

    SaaS模式下大数据量统计框架的研究和实现

    【SaaS模式下大数据量统计框架的研究和实现】 在当今数字化时代,SaaS(Software as a Service)模式已经成为企业服务的重要组成部分,它提供了一种高效、经济的软件使用方式。然而,随着SaaS应用的广泛普及,大...

    大数据分析系统前端大屏展示源码

    本篇文章将深入探讨“大数据分析系统前端大屏展示源码”的核心要素,包括监控、报警、地图和图表的实现,以及与之相关的编程语言和技术栈。 首先,前端大屏展示是通过JavaScript、HTML和ECMAScript等开发语言来构建...

    大屏图表(echarts)数据统计分析页面

    6. **性能优化**:对于大数据量的场景,Echarts提供了缓存、数据分块加载等策略,确保页面流畅运行。 7. **实际应用**:在企业运营、市场营销、金融分析等领域,大屏图表常用于监控关键指标、展示业务状况,通过...

    大数据量转移软件源码

    下面我们将深入探讨这个主题,包括大数据量转移的基本概念、常用工具、关键技术和SqlBulkCopy在其中的角色。 大数据量转移通常涉及到大量的数据记录,例如数百万甚至数十亿条记录。在传统的数据导入导出过程中,...

    大数据时代下数据统计分析在高校教育管理中的应用探讨.pdf

    因为数据量的庞大和多样性,如何有效利用这些数据成为高校管理的一大挑战。数据统计分析工作的准确性直接影响到高校决策的有效性。 在学生日常管理方面,数据统计分析可以帮助管理者更有效地进行日常管理。例如,...

    R语言:大数据分析中的统计方法及应用

    本主题“R语言:大数据分析中的统计方法及应用”深入探讨了如何利用R语言来处理、分析和解释大规模数据集。下面将详细阐述相关知识点。 一、R语言基础 R语言是一款开源的编程语言,特别为统计分析和图形制作设计。...

    如何优化大数据量Sql的几点建议

    【SQL数据优化】是数据库管理中的重要环节,尤其是在处理大数据量时,优化SQL查询能显著提升系统的性能。本文主要从三个方面探讨如何优化SQL:索引设计、连接条件和WHERE子句。 首先,**不合理的索引设计**是导致...

    复杂数据统计方法-基于R的应用(带标签)

    该书深入探讨了如何利用R语言这一强大的统计工具来处理复杂的数据问题,涵盖了数据分析和数据挖掘的关键概念和技术。在当今大数据时代,理解和掌握这些方法对于数据科学家、分析师以及任何需要处理复杂数据的人来说...

    dps数据统计工具

    《DPS数据统计工具详解与应用》 DPS(Data Processing System)数据统计工具是一款针对统计学领域的专业软件,尤其适合教学与研究使用。它的最新版本不仅在界面设计上更加人性化,操作流程也更为简洁,使得即便是...

    spring Batch实现数据库大数据量读写

    本篇文章将深入探讨如何利用Spring Batch实现数据库大数据量的读写操作。 ### 1. Spring Batch 概述 Spring Batch 提供了一套完整的解决方案,涵盖了批量处理的生命周期管理,包括初始化、执行、监控和重试等环节...

    使用java实现各种数据统计图(柱形图,饼图,折线图)

    柱形图是一种常用的数据可视化方式,它以竖直的条形长度表示数据量,常用于比较不同类别的数值。 以下是生成柱形图的Java代码示例: ```java import java.awt.Font; import org.jfree.chart.ChartFactory; import ...

    数据量过大时数据库操作的处理

    总结来说,面对“数据量过大时数据库操作的处理”,我们需要掌握分布式数据库技术、优化SQL查询、合理使用分页策略,并了解如何进行数据预处理和批处理。只有这样,才能在大数据的海洋中畅游,为业务提供快速、准确...

    3.(高级示例篇)leaflet+postgres+postgis+geoserver实现高性能热力图(亿级别数据量).zip

    在本示例中,我们将探讨如何使用Leaflet、Postgres、PostGIS以及Geoserver来构建一个能够处理亿级别数据量的高性能热力图。这是一个高级的地理信息系统(GIS)应用,适合那些需要处理大量地理数据并进行可视化展示的...

    论文研究-元数据结构下统计审核实现探讨 .pdf

    审核过程中遇到的问题主要集中在数据量大、时间集中和审核关系复杂等方面。基于元数据的统计审核方法通过编程实现,可以更好地支持数据网报中的大用户量并发访问,提高审核效率。 LUA是一种轻量级的编程语言,具有...

    arcpy 批量实现矢量对矢量数据分区统计,结果仍为矢量(不是表格)

    本文将深入探讨如何使用arcpy批量实现矢量对矢量数据的分区统计,使得结果仍以矢量形式呈现,而不是转换为表格。 首先,我们要理解矢量数据的基本概念。矢量数据是地理信息系统中的一种数据类型,它通过点、线、面...

    导出大量数据到excel

    然而,当数据量达到百万级别时,Excel可能会面临性能挑战。默认情况下,Excel 2016及后续版本支持的最大行数为1,048,576行和16,384列,这限制了其处理大规模数据的能力。为应对这一问题,可以采用以下策略: 1. ...

    大屏数据统计(Html模板、大数据模板、大屏echarts模板).zip

    在大数据环境下,数据量巨大,处理和展示都需要高效的方法。模板可能包含数据清洗、聚合、过滤等功能,以便在大屏幕上快速加载和展示关键指标。大数据模板常常结合后端技术,如Hadoop、Spark等进行数据处理,前端则...

    数据统计图表及数据管理程序.rar

    柱状图的使用使得非技术人员也能轻松理解和解读统计数据。 **程序设计** 这个程序的设计可能遵循了模块化和分层架构,将数据访问、业务逻辑和用户界面分离,以提高代码的可维护性和复用性。数据统计部分可能包含了...

    基于贝叶斯统计方法的精细地面灌溉智能控制系统合理数据量研究.rar

    标题中的“基于贝叶斯统计方法的精细地面灌溉智能控制系统合理数据量研究”是一个科研课题,主要探讨如何在智能控制系统中应用贝叶斯统计方法来确定优化的数据量,以实现精细化的地面灌溉管理。这个课题涉及到多个...

Global site tag (gtag.js) - Google Analytics