【 摘 要 】 随着大数据时代的到来,对大数据的处理变得越来越重要。本文对如何处理大数据进行了分析,研究了大数据处理的相关技术,包括数据存储架构、数据结构处理、极限存储处理等方面。最后,对大数据的未来发展进行了展望。
【 关键词 】 大数据;数据处理;数据存储
1 引言
随着云计算、移动互联、物联网、新技术与应用的不断涌现,大数据的处理变得越来越重要。根据统计数据显示,超过50%的企业目前每日生成的数据量在1TB以上,超过10TB的有10%,而更让人吃惊的是有5%的企业每日生成的数据量已经达到了50TB以上。特别是在金融、互联网、电信等行业,几乎已经到了“数据就是业务本身”的地步。随着大数据时代的到来,数据本身对于一个企业来说变得越来越有价值,如果企业不能有效利用数据挖掘商业价值,就不可能在现代商业中取得行业领先地位。
2 大数据处理难点
(1)数据量大 数据库每天处理的数据量达到TB级、PB级甚至EB级,不仅给数据处理带来了很大的难度,而且对数据存储、服务器性能以及安全等方面都带来了一系列问题。
(2)结构化和非结构化大量并存 存储的大数据中不仅仅包括结构化的数据,也包括一些非结构化的数据,这些数据不仅通过数据库结合在一块,而且要并用一个统一平台来解决所有的数据问题。
(3)数据的快速增长 由于大数据的增长速度一般是PB级增长,不仅要考虑到存储系统的吞吐量以及CPU的并发处理能力,还要考虑到数据库高度可扩展、可伸缩等多方面的需求。比如:①扩展方式要简单,容量扩充必须通过简单易行的方式完成,维护升级的代价要低;②线性扩展,不是依靠增加每个单个服务器,或者单个集群的能力,而是依靠简单的添加服务器完成。
3 大数据处理技术方法
3.1 采用基于Hadoop架构的高性能体系结构计算机
3.1.1 Hadoop架构简介
Hadoop 是一个能够对大数据进行分布式处理的软件框架,以一种可靠、高效、可伸缩的方式进行处理的,Hadoop主要由分布式文件系统HDFS和编程模型MapReduce两部分组成。HDFS提供了海量数据的存储,MapReduce提供了对数据的计算。
3.1.2 搭建MapReduce系统架构
高性能体系结构计算机具有非常强大的计算能力以及存储能力,因此可高效率地进行大数据处理。在高性能体系结构计算机上进行大数据处理,首先要兼容原有应用程序,还要支持 MapReduce 的编程模式,不能使用传统的MPI编程模式,而必须在高性能计算机上部署MapReduce 架构,如图1所示。
其次,要对高性能体系结构计算机存储系统的读写速度受限进行改进,否则会成为整个系统性能的瓶颈。由于高并发带来的对集群文件系统的资源竞争和冲突, Lustre文件系统不能充分发挥并行I/O性能的优势。严重影响了高性能计算机进行海量数据处理的高效性,因此解决的主要方法就是缓解资源的竞争,增加集群文件系统的条带化块大小或直接去掉HDFS层,让Lustre文件系统直接为MapReduce层服务。这两种方法都可以解决文件系统的资源竞争,最大限度的发挥存储系统的并行I/O性能。
3.2 数据结构处理
3.2.1合理进行数据分区
存储大数据的数据仓库容量一般都会达到GB级别,甚至有的达到了TB级别。随着时间的增长,表中的数据量也会大规模的增长,不但影响着数据库的运行效率,也增大数据库的维护难度。对表不同的访问模式也可能会影响性能和可用性。通过合理的数据分区这些问题会得到较好的改善。数据分区可以使数据分的更小、更容易管理,减小磁盘I/O,系统负荷,从而提高系统的运行效率。除了合理进行数据分区外,建立索引也是一个非常必要的。建立良好的索引是进行数据优化的好帮手,但建立索引要考虑到具体情况,不管是组合索引、独立索引,索引的填充因子和聚集、非聚集索引都要考虑。例如如果是建立复合索引,应尽可能的让索引顺序与字段顺序相一致,而且要考虑只有用到复合索引中的第一个字段作为条件时,才能使用建立的复合索引,否则建立的复合索引将不会被使用,特别是针对大表的分组、排序等字段。
3.2.2优化查询SQL语句
大数据进行查询处理过程中,优化查询的SQL语句对大数据查询效率的影响非常大。可以通过很多方法进行优化:(1)尽量避免在 where 子句中使用!=或<>操作符 ,进行 null 值判断,使用 or 来连接条件,前置百分号%,对字段进行表达式操作,函数操作等情况;(2)把数据、日志、索引尽可能的放到不同的I/O设备上,这样可以增加读取速度;(3)根据查询条件,建立索引,并且要优化索引、优化访问方式,限制结果集的数据量,索引应该尽量小,建议使用字节数小的列建立索引;(4)尽量使用数值型字段,若字段存储数值型的字段尽量不要设计成字符型,否则会降低查询和连接的性能,并会增加存储开销。
3.2.3 优化分页处理
数据库查询数据经常会用到分页处理,常规处理通常采用两种方案:(1)使用内存,查询后在内存中进行分页,缺点是占用内存较大;(2)执行存储过程时在数据库中分页,缺点是依赖数据库,查询效率低。因此,分页处理优化也是对大数据处理的一个重要技术方法。
分页处理时,可以考虑在内存中预先加载进一定页数的数据来满足部分数据的需求,同时将所有列组合的数据进行记录。查询的时候,首先到内存中将查询的条件与列组合的数据进行比较,如果存在则在内存中查询需要的数据,查询结束后,删掉第一页最后的一个数据之前的所有数据,另起一个监控线程加载相应条数进内存,这样可以提高查询的效率。
3.2.4 设计良好的数据存储空间
对于大数据的处理,数据存储在使用和维护中占据了核心地位。在数据量每天增长相当大的情况下,如果采用传统的存储方式会占用相当大的存储空间。如何更快、更高效地获取历史快照数据也要依赖于优良的数据存储空间设计。因此,设计良好的数据存储空间是进行数据处理的基础。极限存储方案是当前进行大数据处理使用最多的数据存储方案,很好地解决了因为重复存储造成存储空间浪费的问题。极限存储原理就是给数据库中的记录加上一个生命期。这样数据库中的任意一条记录,由于存在确定的生命周期,一定对应唯一的一个数据标签,而一个数据标签对应符合该生命周期的记录集合,对于历史快照数据,就可以划分到不同的生命周期数据标签里去。在适当的场合下使用该方案,可以大大节约存储空间,减少/去除冗余数据,降低存储成本,提高历史快照数据的访问速度,表越大,极限存储带来的效果越是明显。
4 结束语
大数据时代来了,大数据已经成为现今业界最热门研究课题,是未来的发展趋势。随着物联网、4G网络等的应用,大数据从概念走向了价值化,形成了以大数据产业为核心的新兴战略性产业。大数据处理模式会多样化并存,深度学习与研究大数据处理技术,是对数据驾驭能力新的挑战。有人预言:“大数据”所能带来的巨大商业价值,将引领一场足以匹敌20世纪计算机革命的巨大变革。
参考文献
[1] 黄訸等. 面向高性能计算机的海量数据处理平台实现与评测[J].计算机研究与发展,2012(49).
[2] 赵浩然.论数据分区对海量数据处理的必要性[J].科学之友, 2011(33).
[3] 李莉.海量数据处理策略[J].无线互联科技,2013(2).
[4] Apache Hadoop. [EB/OL]. http://hadoop.apache.org/.
[5] 翟岩龙等.基于Hadoop的高性能海量数据处理平台研究 [J].计算机科学,2013(3).
作者简介:
韩江(1979-),男,硕士;主要研究方向和关注领域:数据库应用。endprint
【 摘 要 】 随着大数据时代的到来,对大数据的处理变得越来越重要。本文对如何处理大数据进行了分析,研究了大数据处理的相关技术,包括数据存储架构、数据结构处理、极限存储处理等方面。最后,对大数据的未来发展进行了展望。
【 关键词 】 大数据;数据处理;数据存储
1 引言
随着云计算、移动互联、物联网、新技术与应用的不断涌现,大数据的处理变得越来越重要。根据统计数据显示,超过50%的企业目前每日生成的数据量在1TB以上,超过10TB的有10%,而更让人吃惊的是有5%的企业每日生成的数据量已经达到了50TB以上。特别是在金融、互联网、电信等行业,几乎已经到了“数据就是业务本身”的地步。随着大数据时代的到来,数据本身对于一个企业来说变得越来越有价值,如果企业不能有效利用数据挖掘商业价值,就不可能在现代商业中取得行业领先地位。
2 大数据处理难点
(1)数据量大 数据库每天处理的数据量达到TB级、PB级甚至EB级,不仅给数据处理带来了很大的难度,而且对数据存储、服务器性能以及安全等方面都带来了一系列问题。
(2)结构化和非结构化大量并存 存储的大数据中不仅仅包括结构化的数据,也包括一些非结构化的数据,这些数据不仅通过数据库结合在一块,而且要并用一个统一平台来解决所有的数据问题。
(3)数据的快速增长 由于大数据的增长速度一般是PB级增长,不仅要考虑到存储系统的吞吐量以及CPU的并发处理能力,还要考虑到数据库高度可扩展、可伸缩等多方面的需求。比如:①扩展方式要简单,容量扩充必须通过简单易行的方式完成,维护升级的代价要低;②线性扩展,不是依靠增加每个单个服务器,或者单个集群的能力,而是依靠简单的添加服务器完成。
3 大数据处理技术方法
3.1 采用基于Hadoop架构的高性能体系结构计算机
3.1.1 Hadoop架构简介
Hadoop 是一个能够对大数据进行分布式处理的软件框架,以一种可靠、高效、可伸缩的方式进行处理的,Hadoop主要由分布式文件系统HDFS和编程模型MapReduce两部分组成。HDFS提供了海量数据的存储,MapReduce提供了对数据的计算。
3.1.2 搭建MapReduce系统架构
高性能体系结构计算机具有非常强大的计算能力以及存储能力,因此可高效率地进行大数据处理。在高性能体系结构计算机上进行大数据处理,首先要兼容原有应用程序,还要支持 MapReduce 的编程模式,不能使用传统的MPI编程模式,而必须在高性能计算机上部署MapReduce 架构,如图1所示。
其次,要对高性能体系结构计算机存储系统的读写速度受限进行改进,否则会成为整个系统性能的瓶颈。由于高并发带来的对集群文件系统的资源竞争和冲突, Lustre文件系统不能充分发挥并行I/O性能的优势。严重影响了高性能计算机进行海量数据处理的高效性,因此解决的主要方法就是缓解资源的竞争,增加集群文件系统的条带化块大小或直接去掉HDFS层,让Lustre文件系统直接为MapReduce层服务。这两种方法都可以解决文件系统的资源竞争,最大限度的发挥存储系统的并行I/O性能。
3.2 数据结构处理
3.2.1合理进行数据分区
存储大数据的数据仓库容量一般都会达到GB级别,甚至有的达到了TB级别。随着时间的增长,表中的数据量也会大规模的增长,不但影响着数据库的运行效率,也增大数据库的维护难度。对表不同的访问模式也可能会影响性能和可用性。通过合理的数据分区这些问题会得到较好的改善。数据分区可以使数据分的更小、更容易管理,减小磁盘I/O,系统负荷,从而提高系统的运行效率。除了合理进行数据分区外,建立索引也是一个非常必要的。建立良好的索引是进行数据优化的好帮手,但建立索引要考虑到具体情况,不管是组合索引、独立索引,索引的填充因子和聚集、非聚集索引都要考虑。例如如果是建立复合索引,应尽可能的让索引顺序与字段顺序相一致,而且要考虑只有用到复合索引中的第一个字段作为条件时,才能使用建立的复合索引,否则建立的复合索引将不会被使用,特别是针对大表的分组、排序等字段。
3.2.2优化查询SQL语句
大数据进行查询处理过程中,优化查询的SQL语句对大数据查询效率的影响非常大。可以通过很多方法进行优化:(1)尽量避免在 where 子句中使用!=或<>操作符 ,进行 null 值判断,使用 or 来连接条件,前置百分号%,对字段进行表达式操作,函数操作等情况;(2)把数据、日志、索引尽可能的放到不同的I/O设备上,这样可以增加读取速度;(3)根据查询条件,建立索引,并且要优化索引、优化访问方式,限制结果集的数据量,索引应该尽量小,建议使用字节数小的列建立索引;(4)尽量使用数值型字段,若字段存储数值型的字段尽量不要设计成字符型,否则会降低查询和连接的性能,并会增加存储开销。
3.2.3 优化分页处理
数据库查询数据经常会用到分页处理,常规处理通常采用两种方案:(1)使用内存,查询后在内存中进行分页,缺点是占用内存较大;(2)执行存储过程时在数据库中分页,缺点是依赖数据库,查询效率低。因此,分页处理优化也是对大数据处理的一个重要技术方法。
分页处理时,可以考虑在内存中预先加载进一定页数的数据来满足部分数据的需求,同时将所有列组合的数据进行记录。查询的时候,首先到内存中将查询的条件与列组合的数据进行比较,如果存在则在内存中查询需要的数据,查询结束后,删掉第一页最后的一个数据之前的所有数据,另起一个监控线程加载相应条数进内存,这样可以提高查询的效率。
3.2.4 设计良好的数据存储空间
对于大数据的处理,数据存储在使用和维护中占据了核心地位。在数据量每天增长相当大的情况下,如果采用传统的存储方式会占用相当大的存储空间。如何更快、更高效地获取历史快照数据也要依赖于优良的数据存储空间设计。因此,设计良好的数据存储空间是进行数据处理的基础。极限存储方案是当前进行大数据处理使用最多的数据存储方案,很好地解决了因为重复存储造成存储空间浪费的问题。极限存储原理就是给数据库中的记录加上一个生命期。这样数据库中的任意一条记录,由于存在确定的生命周期,一定对应唯一的一个数据标签,而一个数据标签对应符合该生命周期的记录集合,对于历史快照数据,就可以划分到不同的生命周期数据标签里去。在适当的场合下使用该方案,可以大大节约存储空间,减少/去除冗余数据,降低存储成本,提高历史快照数据的访问速度,表越大,极限存储带来的效果越是明显。
4 结束语
大数据时代来了,大数据已经成为现今业界最热门研究课题,是未来的发展趋势。随着物联网、4G网络等的应用,大数据从概念走向了价值化,形成了以大数据产业为核心的新兴战略性产业。大数据处理模式会多样化并存,深度学习与研究大数据处理技术,是对数据驾驭能力新的挑战。有人预言:“大数据”所能带来的巨大商业价值,将引领一场足以匹敌20世纪计算机革命的巨大变革。
参考文献
[1] 黄訸等. 面向高性能计算机的海量数据处理平台实现与评测[J].计算机研究与发展,2012(49).
[2] 赵浩然.论数据分区对海量数据处理的必要性[J].科学之友, 2011(33).
[3] 李莉.海量数据处理策略[J].无线互联科技,2013(2).
[4] Apache Hadoop. [EB/OL]. http://hadoop.apache.org/.
[5] 翟岩龙等.基于Hadoop的高性能海量数据处理平台研究 [J].计算机科学,2013(3).
作者简介:
韩江(1979-),男,硕士;主要研究方向和关注领域:数据库应用。endprint
【 摘 要 】 随着大数据时代的到来,对大数据的处理变得越来越重要。本文对如何处理大数据进行了分析,研究了大数据处理的相关技术,包括数据存储架构、数据结构处理、极限存储处理等方面。最后,对大数据的未来发展进行了展望。
【 关键词 】 大数据;数据处理;数据存储
1 引言
随着云计算、移动互联、物联网、新技术与应用的不断涌现,大数据的处理变得越来越重要。根据统计数据显示,超过50%的企业目前每日生成的数据量在1TB以上,超过10TB的有10%,而更让人吃惊的是有5%的企业每日生成的数据量已经达到了50TB以上。特别是在金融、互联网、电信等行业,几乎已经到了“数据就是业务本身”的地步。随着大数据时代的到来,数据本身对于一个企业来说变得越来越有价值,如果企业不能有效利用数据挖掘商业价值,就不可能在现代商业中取得行业领先地位。
2 大数据处理难点
(1)数据量大 数据库每天处理的数据量达到TB级、PB级甚至EB级,不仅给数据处理带来了很大的难度,而且对数据存储、服务器性能以及安全等方面都带来了一系列问题。
(2)结构化和非结构化大量并存 存储的大数据中不仅仅包括结构化的数据,也包括一些非结构化的数据,这些数据不仅通过数据库结合在一块,而且要并用一个统一平台来解决所有的数据问题。
(3)数据的快速增长 由于大数据的增长速度一般是PB级增长,不仅要考虑到存储系统的吞吐量以及CPU的并发处理能力,还要考虑到数据库高度可扩展、可伸缩等多方面的需求。比如:①扩展方式要简单,容量扩充必须通过简单易行的方式完成,维护升级的代价要低;②线性扩展,不是依靠增加每个单个服务器,或者单个集群的能力,而是依靠简单的添加服务器完成。
3 大数据处理技术方法
3.1 采用基于Hadoop架构的高性能体系结构计算机
3.1.1 Hadoop架构简介
Hadoop 是一个能够对大数据进行分布式处理的软件框架,以一种可靠、高效、可伸缩的方式进行处理的,Hadoop主要由分布式文件系统HDFS和编程模型MapReduce两部分组成。HDFS提供了海量数据的存储,MapReduce提供了对数据的计算。
3.1.2 搭建MapReduce系统架构
高性能体系结构计算机具有非常强大的计算能力以及存储能力,因此可高效率地进行大数据处理。在高性能体系结构计算机上进行大数据处理,首先要兼容原有应用程序,还要支持 MapReduce 的编程模式,不能使用传统的MPI编程模式,而必须在高性能计算机上部署MapReduce 架构,如图1所示。
其次,要对高性能体系结构计算机存储系统的读写速度受限进行改进,否则会成为整个系统性能的瓶颈。由于高并发带来的对集群文件系统的资源竞争和冲突, Lustre文件系统不能充分发挥并行I/O性能的优势。严重影响了高性能计算机进行海量数据处理的高效性,因此解决的主要方法就是缓解资源的竞争,增加集群文件系统的条带化块大小或直接去掉HDFS层,让Lustre文件系统直接为MapReduce层服务。这两种方法都可以解决文件系统的资源竞争,最大限度的发挥存储系统的并行I/O性能。
3.2 数据结构处理
3.2.1合理进行数据分区
存储大数据的数据仓库容量一般都会达到GB级别,甚至有的达到了TB级别。随着时间的增长,表中的数据量也会大规模的增长,不但影响着数据库的运行效率,也增大数据库的维护难度。对表不同的访问模式也可能会影响性能和可用性。通过合理的数据分区这些问题会得到较好的改善。数据分区可以使数据分的更小、更容易管理,减小磁盘I/O,系统负荷,从而提高系统的运行效率。除了合理进行数据分区外,建立索引也是一个非常必要的。建立良好的索引是进行数据优化的好帮手,但建立索引要考虑到具体情况,不管是组合索引、独立索引,索引的填充因子和聚集、非聚集索引都要考虑。例如如果是建立复合索引,应尽可能的让索引顺序与字段顺序相一致,而且要考虑只有用到复合索引中的第一个字段作为条件时,才能使用建立的复合索引,否则建立的复合索引将不会被使用,特别是针对大表的分组、排序等字段。
3.2.2优化查询SQL语句
大数据进行查询处理过程中,优化查询的SQL语句对大数据查询效率的影响非常大。可以通过很多方法进行优化:(1)尽量避免在 where 子句中使用!=或<>操作符 ,进行 null 值判断,使用 or 来连接条件,前置百分号%,对字段进行表达式操作,函数操作等情况;(2)把数据、日志、索引尽可能的放到不同的I/O设备上,这样可以增加读取速度;(3)根据查询条件,建立索引,并且要优化索引、优化访问方式,限制结果集的数据量,索引应该尽量小,建议使用字节数小的列建立索引;(4)尽量使用数值型字段,若字段存储数值型的字段尽量不要设计成字符型,否则会降低查询和连接的性能,并会增加存储开销。
3.2.3 优化分页处理
数据库查询数据经常会用到分页处理,常规处理通常采用两种方案:(1)使用内存,查询后在内存中进行分页,缺点是占用内存较大;(2)执行存储过程时在数据库中分页,缺点是依赖数据库,查询效率低。因此,分页处理优化也是对大数据处理的一个重要技术方法。
分页处理时,可以考虑在内存中预先加载进一定页数的数据来满足部分数据的需求,同时将所有列组合的数据进行记录。查询的时候,首先到内存中将查询的条件与列组合的数据进行比较,如果存在则在内存中查询需要的数据,查询结束后,删掉第一页最后的一个数据之前的所有数据,另起一个监控线程加载相应条数进内存,这样可以提高查询的效率。
3.2.4 设计良好的数据存储空间
对于大数据的处理,数据存储在使用和维护中占据了核心地位。在数据量每天增长相当大的情况下,如果采用传统的存储方式会占用相当大的存储空间。如何更快、更高效地获取历史快照数据也要依赖于优良的数据存储空间设计。因此,设计良好的数据存储空间是进行数据处理的基础。极限存储方案是当前进行大数据处理使用最多的数据存储方案,很好地解决了因为重复存储造成存储空间浪费的问题。极限存储原理就是给数据库中的记录加上一个生命期。这样数据库中的任意一条记录,由于存在确定的生命周期,一定对应唯一的一个数据标签,而一个数据标签对应符合该生命周期的记录集合,对于历史快照数据,就可以划分到不同的生命周期数据标签里去。在适当的场合下使用该方案,可以大大节约存储空间,减少/去除冗余数据,降低存储成本,提高历史快照数据的访问速度,表越大,极限存储带来的效果越是明显。
4 结束语
大数据时代来了,大数据已经成为现今业界最热门研究课题,是未来的发展趋势。随着物联网、4G网络等的应用,大数据从概念走向了价值化,形成了以大数据产业为核心的新兴战略性产业。大数据处理模式会多样化并存,深度学习与研究大数据处理技术,是对数据驾驭能力新的挑战。有人预言:“大数据”所能带来的巨大商业价值,将引领一场足以匹敌20世纪计算机革命的巨大变革。
参考文献
[1] 黄訸等. 面向高性能计算机的海量数据处理平台实现与评测[J].计算机研究与发展,2012(49).
[2] 赵浩然.论数据分区对海量数据处理的必要性[J].科学之友, 2011(33).
[3] 李莉.海量数据处理策略[J].无线互联科技,2013(2).
[4] Apache Hadoop. [EB/OL]. http://hadoop.apache.org/.
[5] 翟岩龙等.基于Hadoop的高性能海量数据处理平台研究 [J].计算机科学,2013(3).
作者简介:
韩江(1979-),男,硕士;主要研究方向和关注领域:数据库应用。endprint