海量数据的优化思路
1,业务上实现逻辑优化
2,sql优化加索引---条件字段,left join on字段,查询的列尽量少(在自连接的时候有重复的数据(连接字段值重复)会指数级的增加连接,索引也打折扣)
3,用java list分页结合future分几页就发出几个线程同步执行,然后futue.get()等待都返回往下执行
4,用存储过程实现复杂的逻辑,大量数据业务
5,用redis内存,用java内存减少存储过程的循环次数
有了思路之后相关的繁杂的代码实现可以网上直接百度
================java list分页示例
if(bemps !=null && bemps.getData()!=null){ // if (bemps.getData().size()<1000){ // //z直接处理 // }else if(bemps.getData().size()>=1000){ int pageSize=999; int totalPageNum = (bemps.getData().size() + pageSize - 1) / pageSize; Map<String, List<FinancialSalesEmployment>> mpfinancialSalesEmploymentPage = new HashMap<String, List<FinancialSalesEmployment>>(); for(int p =1 ;p<=totalPageNum;p++){ List<FinancialSalesEmployment> financialSalesEmploymentPage = new ArrayList<FinancialSalesEmployment>(); int currIdx = (p > 1 ? (p -1) * pageSize : 0); for (int i = 0; i < pageSize && i < bemps.getData().size() - currIdx; i++) { FinancialSalesEmployment memberArticleBean = bemps.getData().get(currIdx + i); financialSalesEmploymentPage.add(memberArticleBean); } mpfinancialSalesEmploymentPage.put(p+"",financialSalesEmploymentPage); System.out.println("==========list分页====="+financialSalesEmploymentPage.size()); } // } for (Map.Entry<String, List<FinancialSalesEmployment>> entry : mpfinancialSalesEmploymentPage.entrySet()) { // System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); List<String> idtys = new ArrayList<String>(); for( FinancialSalesEmployment b : entry.getValue()){ if(b.getIdentityNo()!=null){ idtys.add(b.getIdentityNo()); } } String mbs=""; if(idtys != null && idtys.size()>0){ mbs = Joiner.on(",").join(idtys); } cibc.setId_cards(mbs); BaseResponseInterface<List<FinancialInterfaceAssignCusInfo>> cis = getCusInfo(cibc); if(cis!=null&& cis.getData()!=null && cis.getData().size()>0){ cisAll.getData().addAll(cis.getData()); } } }
相关推荐
### 海量数据环境下Oracle数据库系统架构设计与优化思路 #### 一、分布式数据库系统架构设计 在海量数据处理环境中,传统的单机数据库系统已经难以满足高性能和高可用性的需求。因此,分布式数据库系统成为了一种...
戴明明在2015年Oracle技术嘉年华(OTN)上的演讲《Oracle 12c中海量数据的优化思路》主要介绍并探讨了Oracle数据库12c版本中处理海量数据时可以采用的优化策略和技术。戴明明是Oracle ACE Associate(Oracle认证专家...
在Java编程中,处理海量...总的来说,Java处理海量数据涉及内存管理、分片处理、流式计算、数据库优化以及利用开源工具等多个方面。理解这些概念和技术,并结合实际问题灵活运用,能有效地提升大数据处理的效率和性能。
海量数据处理方法总结 本文总结了常用的海量数据处理方法,包括 Bloom filter、Hashing 和 bit-map 等。这些方法可以用来解决大数据量的问题,例如数据字典、判重、集合求交集等问题。 Bloom Filter Bloom filter...
#### 三、分布式数据库优化思路 ##### 1. Oracle数据库的设计与优化策略 - **分区**:通过分区技术实现数据的物理分割,提高数据管理效率和查询性能。 - 数据导入/导出、备份与恢复更为高效。 - 支持分区索引,...
在实际工作中,这些方法和思路的结合使用,能够有效提升海量数据处理的效率和质量。作者戴予良通过自身经验,提出了在数据处理过程中采取的具体措施,为数据工程师和IT专业人员提供了宝贵的参考。
### 常见的海量数据处理方法 在大数据时代,如何高效、准确地处理海量数据是许多企业和组织面临的关键挑战之一。本文将详细介绍几种实用的数据处理方法,包括但不限于算法优化和技术选择,旨在帮助读者更好地理解和...
云计算技术的出现,为海量数据挖掘提供了新的思路和方法,它通过优化资源配置,实现了数据挖掘过程中的高效和精准。本文将详细探讨云计算技术在海量数据挖掘中的实现方法,并提出构建云计算环境下的数据挖掘模型,...
分布式数据库是一种应对海量数据处理的有效解决方案,它将数据分散存储在多个数据节点上,通过智能的数据分布策略和高效的查询优化,实现对大规模数据的高效管理。本文主要探讨了一种基于Google Map/Reduce思想构建...
### 海量数据Web挖掘算法的关键知识点 #### 一、背景与挑战 随着互联网技术的飞速发展,网络上产生的数据量呈爆炸性增长。这些海量数据不仅包含了丰富的信息,而且蕴含着巨大的商业价值和社会意义。然而,面对如此...
#### 二、海量数据处理的核心思路 处理海量数据的关键在于如何有效地管理和利用资源,特别是时间与空间资源。主要的策略包括但不限于: 1. **分而治之**:通过分割大数据集为较小的数据块进行处理。 2. **哈希映射**...
在探讨大数据及海量数据处理架构时,Hadoop和MPP是两种主流的解决方案。Hadoop是一种开源分布式存储与计算平台,通过其核心组件HDFS(Hadoop Distributed File System)和MapReduce编程模型,可以有效地处理PB级别的...
总体来看,本研究针对海量数据处理的挑战,提出了在HADOOP平台上使用改进的SPRINT算法作为解决方案,既提高了处理效率,又增加了系统的可扩展性和容错性,为海量数据的分析与挖掘提供了一种新的思路和方法。...
总体来说,《面向航空制造业的海量数据处理研究》为航空制造业中海量数据处理提供了一种新的思路和解决方案。Hadoop平台的应用为处理大规模数据集提供了可能,而MapReduce编程模型则为实现数据的高效处理提供了技术...
云计算技术下海量数据挖掘的总体思路是,充分利用云计算平台的并行处理能力和资源共享模式,设计出高效的数据挖掘模型和算法,以实现对海量数据的有效处理和分析,提高数据挖掘技术的效率和质量。通过云计算平台的...
2.1 离散化算法优化:通过引入属性重要性的概念和聚类的思路,对传统离散化算法进行优化,通过循环遍历和阈值计算,实现对海量数据的有效处理和分类。 2.2 并行离散化算法:利用粗糙集理论进行两步离散化算法并行化...