oracle大数据处理方式

  从网上查询关于数据库大数据处理的方案,有很多不错的Blog,提出很多的解决方案,所以呢自己也想整理一下关于这方面的内容,如果只是把别人整理的总结Copy到这就没什么意思了,甚至在面试的时候会经常被问到怎么样来处理大数据和高并发的解决方案,再说了网上也有很多重复的内容,把一篇文章Copy来Copy去的!来点个人见解吧!

  现在的做的Java WEB项目有几个算得上是大数据的,很少的,基本上整个数据库加起来也就几十万条的数据量,像那些数据量相当大的网站或是系统基本上都是有很多服务器或是配置很高的服务器来支持的,最近做了一个项目数据量在千万级别,数据库表空间实际用到的也就3GB左右,这种数据量算不上是什么大数据,但是在开发的过程自己花了不少的功夫,根据自己的经验分享一下关于这种大数据处理的方案,这只是个人经验!

  第一、首先解决SQL的问题

  首先不考虑使用什么其它的第三方的,就单纯的SQL,写出查询效率高的SQL语句,一个数据库报表,可以使用不同的关键字和不同的SQL来实现,写出不同的SQL比较一下,哪一种查询效率高、哪一种查询效率快,这种是最直接的!

  第二、建立分区表或是历史数据表

  对于数据量特别大的表建立分区表或是历史数据表,比如像订单表、交易流水录表等等,这个可能根据数据量的大小来定,比如我在做上一个项目的时候,一天的交易流水最多也就不到1万条,按照这种数据量的增加,按一年建立一张分区表,一年下来差不多一张表的数据量也就在300万左右。或者是再加上一个查询历史交易的功能,还或者是限定查询的时间,比如只能查询一个月或是一个季度内的数据,许多大网站都是这么干的!

  第三、通过建立定时任务或是跑批做出统计数据,即建立数据统计表

  以前,在项目里增加定时任务,比如在夜里1点左右通过定时任务对当天的交易做出统计并将数据单独存储在一张表,统计的数据如当天消费有多少笔,消费的总金额是多少,当天退货有多少笔和当天退货的总金额是多少;做出月统计表、季度统计表、年统计表;这样的话,一张表的数据量也就相当的少了,这其实就是静态数据!同时这种方式也会解决所谓高并发带来的服务器压力和访问慢的问题!

  但是这种方式会有问题,问题不在于统计的数据,而是在于定时任务,曾经因为定时任务也的过多、执行的过多导致对事个系统的影响,那时不得不重启服务器;所以有一个很好的方式就是将定时任务独立出来,写一个jar包,然后在Linux上写一个定时执行jar包的SHELL脚本,把这个jar包部署到Linux服务器上就可以;而且使用Linux SHELL写一个定时任务是很简单的,不过我觉得这种方式相对来说比较好一点,不过呢一定要做好日志的处理;我做的方式就是在jar包里通过Log4j日志跟踪,同时又建立一张跑批的历史表来记录是否跑批成功,如果跑批失败,我又在jar写了一个邮件处理功能,即会像指定的邮箱里发送邮件通知!

  第四、建立静态的HTML页面

  可以使用这种方式,比如像按年度统计的这种数据基本上来说就是不会变的,然后把年度数据直接写在HTML中,直接访问HTML静态页面,也就是按年做每一年数据的静态页面,做出每一年每一个季度甚至是每一个月的静态数据,而且这种方式会减轻服务器和数据库很大的压力。

  只不过这种方式是手动建立静态页面,其实也可以通过一些模板技术来像FreeMarker和Velocity建立静态页面;

  不过,在我的项目中我没有采用这种方式来处理,原因肯定是有的:1、统计表的数据量很小,而且这些数据都已经是处理好的,直接的一个简单查询就可以完成,没有必要再去建立一个静态页面;2、不想采用两种方式做一样的事情,就是很多历史数据我是需要作对比的,比如同比,即今年的某一月份和去年同时期的消费对比,今年的营业总额和去或是前年的总额的对比;3、系统的访问量也不是很大就几十个,没必要那么做。综合一下,没有采用种方式!

  第五、不要过于依赖于JavaWEB框架

  像这种大数据量,不要过于依赖于,甚至可以说不要使用Struts、Hibernate、Spring MVC、Spring、IBatis等JavaWEB框架,真的,我觉得使用这些框架也真不比使用纯的JDBC强到哪去,除非你有很好的例子来证明这些框架在处理大数据来说一个很好的工具,之前,我在上家公司做的外包项目,使用使用Spring MVC、Spring、Hibernate,区区50万条的数据量,系统运营起来就有那么点吃力了,压力测试就更是个问题了!

  当然在这个项目中没有使用SSH框架,是使用我们公司一个牛人写的一个简单易懂的框架!

  除了以上这五种方式外,还有其它很多细节上的,简单的再说几个:1、可以建立表的索引字段、但不能建立太多的索引,太多的话就没什么效果了;2、不使用Oracle的Sequence方式建立主键;3、主键使用CHAR类型比使用VARCHAR2类型查询效率要高等等。

  以上我所说的几点是不需要使用任何其它第三方面的技术就可以解决的,以下这几种方式不是那么简单的啦,不过这几种都没有在我的项目中使用到:

  第六、使用第三方的大数据处理工具

  关于大数据处理工具,应该有很多的

  第七、分布式应用

  这个目前正在学习研究中

  第八、服务器集群

  这个也一样,之前没有使用过这种方式处理

  第九、买好的服务器

  这个就是看老板的意思了。

  以上是个人在处理大数据(谈不上是大数据,请见谅啊)时常用的方式,如果有什么好的意见或是有什么不妥的地方,我们可以相互交流学习。

【猜你喜欢】

  1.大数据处理技术——python

  2.大数据处理技术的趋势-五种开源技术介绍

  3.大数据处理技术方向

时间: 2024-08-01 14:26:52

oracle大数据处理方式的相关文章

Oracle大数据处理

Oracle定义了一个BLOB字段用于保存二进制数据,但这个字段并不能存放真正的二进制数据,只能向这个字段存一个指针,然后把数据放到指针所指向的Oracle的LOB段中, LOB段是在数据库内部表的一部分. 因而在操作Oracle的Blob之前,必须获得指针(定位器)才能进行Blob数据的读取和写入. 如何获得表中的Blob指针呢? 可以先使用insert语句向表中插入一个空的blob(调用oracle的函数empty_blob() ),这将创建一个blob的指针,然后把这个empty的blob

用Apache Spark进行大数据处理—入门篇

文章讲的是用Apache Spark进行大数据处理-入门篇,Apache Spark 是一个围绕速度.易用性和复杂分析构建的大数据处理框架.最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apache的开源项目之一. 与Hadoop和Storm等其他大数据和MapReduce技术相比,Spark有如下优势. 首先,Spark为我们提供了一个全面.统一的框架用于管理各种有着不同性质(文本数据.图表数据等)的数据集和数据源(批量数据或实时的流数据)的大数据处理的需求. Sp

大数据处理:教你玩转千万级别的数据

文章讲的是大数据处理:教你玩转千万级别的数据,大数据处理是一个头疼的问题,特别当达不到专业DBA的技术水准时,对一些数据库方面的问题感到无赖.所以还是有必要了解一些数据库方面的技巧,当然,每个人都有自己的数据库方面的技巧,只是八仙过海,所用的武功不同而已.我把我最常用的几种方式总结来与大家分享. 方法1:采用表分区技术. 第一次听说表分区,是以前的一个oracle培训.oracle既然有表分区,就想到mssql是否有表的分区,当时我回家就google了一把,资料还是有的,在这我儿只是再作一次推广

网友解读:大数据处理工具哪家强?

文章讲的是网友解读:大数据处理工具哪家强,近年呈爆发之势的大数据随着两会的召开再次被聚焦,在两会议题中成为高频词汇.各大报道中,利用大数据打造智慧城市.促进金融行业发展.建立两会大数据平台--两会委员"提案夹"中关于大数据的提案层出不穷."大数据外部环境推动着商业模式及行为的变化,对于企业来说,不对大数据善加利用就等于折了翅膀.面对亟待处理的庞大数据资源,企业遇到了哪些困难?处理数据的"利器"该如何选择? Hadoop高人气获最佳工具,魅力何在? 当讨论到

为云服务和大数据处理提供弹性计算能力,YC支持的创业公司推出分

企业数据库市场很庞大,在这个领域既有Oracle这样行家,也有IBM(DB2)和微软(SQL Server)这样的跨界巨头.它们都与中小企业常用到的开源数据库MySQL一样,都属于传统关系型数据库.似乎数据库市场已经发展得很成熟,基本格局也已确定,所以创业者再无机会? 事实上并非如此,新技术的出现与发展,总是会带来新的机遇.正如面向对象编程技术的发展和成熟,催生了DB4O这样纯面向对象数据库.云计算服务与大数据处理的崛起,让传统关系型数据库在很多应用场景显得力不从心.于是在YC的支持下,创业公司

零基础搭建Hadoop大数据处理-初识

在互联网的世界中数据都是以TB.PB的数量级来增加的,特别是像BAT光每天的日志文件一个盘都不够,更何况是还要基于这些数据进行分析挖掘,更甚者还要实时进行数据分析,学习,如双十一淘宝的交易量的实时展示. 大数据什么叫大?4个特征: 体量化 Volume,就是量大. 多样化 Variety,可能是结构型的数据,也可能是非结构行的文本,图片,视频,语音,日志,邮件等 快速化 Velocity,产生快,处理也需要快. 价值密度低 Value,数据量大,但单个数据没什么意义,需要宏观的统计体现其隐藏的价

观点:Hadoop并非大数据处理的一切

云计算的伟大之处就在于在进行大数据处理时不必再向以往一样购买大量的服务器集群,租用服务器处理大数据更加利用控制成本.Hadoop作为一个重量级的分布式处理开源框架已经在大数据处理领域有所作为,企业希望利用Hadoop来规划其自身未来数据处理的蓝图.从EMC.Oracle到Microsoft,几乎所有高科技厂商都在过去几个月中宣布了自己以Hadoop为基础的大数据战略.现今Hadoop已经成为IT商场吸引客户的热点词汇. Hadoop的成长得到了个人开发者.初创公司和大企业的支持.这也给予用户长时

Hadoop并非大数据处理的一切 - 产品和技术

Hadoop并非大数据处理的一切 发布时间:2012.05.30 15:48      来源:赛迪网     作者: 云计算的伟大之处就在于在进行大数据处理时不必再向以往一样购买大量的服务器集群,租用服务器处理大数据更加利用控制成本.Hadoop作为一个重量级的分布式处理开源框架已经在大数据处理领域有所作为,企业希望利用Hadoop来规划其自身未来数据处理的蓝图.从EMC.Oracle到Microsoft,几乎所有高科技厂商都在过去几个月中宣布了自己以Hadoop为基础的大数据战略.现今Hado

0基础搭建Hadoop大数据处理-初识

在互联网的世界中数据都是以TB.PB的数量级来增加的,特别是像BAT光每天的日志文件一个盘都不够,更何况是还要基于这些数据进行分析挖掘,更甚者还要实时进行数据分析,学习,如双十一淘宝的交易量的实时展示. 大数据什么叫大?4个特征: 体量化 Volume,就是量大. 多样化 Variety,可能是结构型的数据,也可能是非结构行的文本,图片,视频,语音,日志,邮件等 快速化 Velocity,产生快,处理也需要快. 价值密度低 Value,数据量大,但单个数据没什么意义,需要宏观的统计体现其隐藏的价