`
beck5859509
  • 浏览: 110362 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

大数据量计算性能优化总结

 
阅读更多
       好久没有动博客了,今天有时间把前段时间问题的解决思路总结一下。欢迎一起讨论。

应用端:
        1.在多线程计算情况下汇总计算结果,必免不了要去重。比较常见的方法是重写hashCode和equals方法,其计算速度取决于hashCode方法的逻辑,需要根据业务逻辑,尽量使hashCode的值从不同的业务维度来累加。比如去重对象Object有四个维度,需把四个维度Object.A, Object.B, Object.C, Object.D四个维度都计算。这样的优势在于减少equals方法的调用。equals方法也有讲究,把耗时少,容易计算的逻辑放在前面,也可以
提升去重的效率。

        2.数据集合空间的及时释放。每个线程执行完业务逻辑以后,最好把任务线程的数据集合释放空间(比如ResultSet.clear()),否则一段时间以后内存就满了,比较奇怪的一点是在JConsole中主动执行GC也不会回收内存。后来想了想是否有其它地方在引用此数据集合以及每个任务线程是否做到了自身独立。经排查没有发现可疑的地方。

        3.明细表ID如何从汇总表中读取。如果是独立的表,可以直接使用sequence。但是因为汇总表的记录先生成,所以不能直接去读取。如果每次插入汇总表之前,先去数据库中获取到当前sequence的值,这样的劣势是访问库的次数太多。用临时表的方式可以解决这个问题,不过太麻烦。后来想到了用AtomicLong,先获得表的总行数对AtomicLong进行初始化,自增AtomicLong的值作为ID,这样达到不会重复。不过前提是只有一个应用在保存,否则不能保存唯一性。

        4.GC策略的选择。后台计算的节点使用并行(UseParallelGC)方式,对计算提升比较大,因为观察JConsole可以看到新生代的内存变化浮动是很大的,(配置的是80G,短时间内会频繁发生几十G消耗)。因为并行采用拷贝复制的内存回收方式,对于大内存来讲是相当有效的。如果是WEB服务端的回收机制,需要配置成CMS(并发)方式,该策略使用压缩回收,不会因为GC而停止应用的执行。

       5.其它业务逻辑的小算法。因涉及到具体的业务逻辑,在此不展开介绍了,不过解决这些问题离开不了数学知识及java collection使用的熟练成度。

数据库端:
       1.分区方式建表,并指定其数据空间。因表的数据量有上亿条,并且周期性的增长,这里使用oracle11G的新特性,例如每隔7天建一个分区:NUMTODSINTERVAL (7,'DAY')。

       2.索引的建立,并指定其索引空间。需要结合前台查询的逻辑进行分析。是否需要组合索引还是单索引。需要花时间进行尝试。其间发现建了索引,但查看执行计划,SQL语句并没有走到实际预期的索引,后来发现是因为表的统计信息未收集完成,orcale有自动信息收集的机制,可以一段时间以后再尝试查询。
1
0
分享到:
评论

相关推荐

    面向Flink的多表连接计算性能优化算法

    面向Flink的多表连接计算性能优化算法是基于分布式计算引擎Flink的研究方向,旨在提高Flink多表连接的性能,以加速大规模数据分析处理的速度。该算法的提出是为了解决直接将现有的多表连接优化算法应用到Flink上所...

    面向大数据处理的并行计算模型与性能优化探析.pdf

    p-DOT模型将每一轮迭代显式分为计算、通信等阶段,更加细致地描述了大数据任务的特征,以此为基础进行性能优化,以提升大数据处理效率。 并行计算模型的优化与平衡是保障其在大数据领域成功应用的关键。当前并行...

    大数据量高性能前端表格grid 动态加载数据

    在现代Web应用中,处理大数据量的前端表格是常见的需求,尤其在数据分析、报表展示等领域。"大数据量高性能前端表格grid 动态加载数据"这一技术主题,旨在优化用户体验,解决因一次性加载大量数据导致的页面卡顿问题...

    Spark大数据处理数据性能优化学习

    本主题聚焦于"Spark大数据处理数据性能优化学习",旨在深入探讨如何在处理海量数据时,通过优化策略提升Spark的运行效率。下面将详细阐述Spark的核心特性,以及在性能优化方面的关键点。 首先,理解Spark的核心架构...

    Hive性能优化总结

    ### Hive性能优化总结 #### 一、Hadoop与Hive计算框架特性引发的问题 Hadoop作为大数据处理平台,其核心优势在于能够高效处理大规模数据集。然而,在具体的应用场景中,尤其是在Hive作为数据仓库使用时,仍存在...

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

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

    性能优化总结.doc

    在应用层面,EJB(Enterprise JavaBeans)的优化、大数据量读取的处理、DAO层SQL语句优化、常用数据的缓存策略、特定数据结构的选择、Java代码的编写规范以及JSP页面的优化都是不可忽视的部分。比如,使用预编译的...

    大数据处理平台性能优化研究.pdf

    在优化大数据处理平台性能之前,首先要对其性能进行全面评估。这通常包括以下几个方面: 1. **吞吐量**:衡量平台在单位时间内处理数据的速度。 2. **延迟**:从数据输入到处理结果输出所需的时间。 3. **扩展性**...

    C# 大数据量快速导出到 Excel方法

    在C#编程中,将大数据量导出到Excel是一个常见的需求,特别是在数据分析、报表生成或者数据交换场景下。Microsoft.Office.Interop.Excel库是.NET Framework提供的一个用于与Microsoft Excel交互的COM接口,它允许...

    大数据处理平台性能优化探究.pdf

    【大数据处理平台性能优化探究】 大数据处理平台是现代企业应对海量数据挑战的关键工具,它们能够高效地收集、存储、分析并提取数据中的价值。本文主要探讨了大数据处理平台的性能优化,尤其是针对实时性需求的解决...

    Hive性能优化复习总结.doc.pdf

    Hive性能优化总结 Hive性能优化是一个复杂的问题,它涉及到Hadoop的计算框架特性、数据倾斜问题、MapReduce作业初始化时间长、SUM、COUNT、MAX、MIN等UDAF函数的使用、COUNT(DISTINCT)函数的低效、数据分布不均、...

    面向大型数据处理系统的Oracle数据库性能优化技术.pdf

    【标题】:“面向大型数据处理系统的Oracle数据库性能优化技术” 【概述】: 本文主要探讨了在大型数据处理系统中,针对Oracle数据库的性能优化策略。作者通过实例分析,提出了一套关键的优化技术和方法,以解决...

    面向大数据处理的并行计算模型及性能优化.pdf

    【大数据处理】随着信息技术的快速发展,我们已步入大数据时代,数据量呈指数级增长,涵盖了社会生活的各个领域。传统的数据处理技术,如关系型数据库,难以应对这种大规模数据的存储和管理需求。大数据不仅带来了...

    面向大数据处理的并行计算模型及性能优化 (1).pdf

    P-DOT模型在大数据处理中具有重要的地位,其并行计算机制和性能优化策略对于提升大数据分析的速度和效率至关重要。随着大数据应用场景的日益复杂,深入理解和优化这种并行计算模型将有助于推动信息技术的进步,满足...

    网页树型结构快速加载大数据量数据的实现.

    在IT领域,尤其是在Web开发中,处理大数据量的树型结构是常见的需求,尤其是在构建复杂的用户界面或数据展示时。本文将深入探讨如何在网页上高效地实现树型结构的大数据量加载,这是一个对性能有高要求的任务,涉及...

    面向大数据处理的并行计算模型及性能优化 (2).pdf

    本文将详细探讨面向大数据处理的并行计算模型及其性能优化的相关知识点。 首先,我们来界定大数据的含义。大数据通常指的是那些无法用传统方法来处理的数据集合,它包括了海量的数据和复杂类型的数据。大数据时代...

    .net 大数据量处理

    总之,处理.NET中的大数据量需要综合运用多种策略和技术,包括分批加载、分块读取数据库、优化查询、并行处理等,以确保系统在处理大规模数据时仍能保持高效和稳定。根据实际场景选择合适的方案,才能最大化地发挥...

    大学毕业论文---基于元数据的数据仓库性能优化系统.doc

    在数据仓库中,性能优化是一个至关重要的环节,因为随着数据量的增长,查询速度和系统的响应时间可能显著下降。本文将深入探讨基于元数据的数据仓库性能优化系统,特别是利用Oracle 9i中的关键技术——分区、实体化...

    面向大数据处理的应用性能优化方法研究.pptx

    随着数据量的不断增加,处理任务的日益复杂,传统的数据处理方法已经难以满足业务需求。因此,优化大数据处理应用性能成为了企业和机构亟待解决的问题。 二、方法介绍 分布式计算是一种将大规模计算任务拆分成多个...

    35个Java代码性能优化总结.pdf

    ### Java代码性能优化总结 Java代码性能优化是一个广泛的领域,涉及多个方面,包括但不限于内存使用、循环效率、算法优化、集合框架使用等。本总结旨在汇总35个常见的Java代码性能优化技巧。 #### 1. 使用final...

Global site tag (gtag.js) - Google Analytics