浅谈大数据关键技术
扫描二维码
随时随地手机看文章
引 言
近年来,随着物联网技术、云计算技术和智能手机的普及,数据量呈爆炸式增长,大数据时代已经到来,如何存储管理和分析这些大数据是目前研究的热点。
1 大数据概述
大数据的常见特点包括大规模(Volume)、 高速性(Velocity)和多样性(Variety)[1]。大规模说明大数据的数据非常多,数据量在 ZB 级别 ;高速性说明大数据要求数据处理与分析具有“实时性”;多样性说明大数据不仅有传统的结构化数据,还有更多普遍采用文件系统存储 [2] 的半结构化数据和非结构化数据。一般来说,大数据的处理流程分为 : 数据抽取与集成、数据分析以及数据解释 [3]。
2 大数据关键技术
大数据有很多技术,本文仅介绍容错技术和可视化分析这两个重要的关键技术。
2.1 容错技术
目前分布式存储系统一般采用容错技术来提高系统的可靠性,当某些数据失效时利用容错技术来访问冗余数据。容错技术主要是利用数据冗余来实现,目前有两种方法 :复制(Replication)和纠删码(Erasure Code)[4]。
2.1.1 基于复制的容错技术
基于复制的容错技术的原理是将所有数据对象复制成多个数据副本,同时将这些数据副本分布在不同的存储节点, 当某个数据对象失效时,可利用其他数据副本来让存储系统正确运行。
目前有许多系统是采用基于复制的容错技术,如 Google公司的 GFS 和 HDFS,Amazon 公司的 Dynamo,它们分别采用基于元数据服务器(Meta-Data Server,MDS)的组织结构和基于 P2P 的组织结构。
基于元数据服务器的组织结构是利用元数据服务器来进行集中式管理,管理 MDS存储数据及其副本相关信息。副本的信息主要有位置信息和副本与数据的对应关系,如读取数据,需要访问 MDS来获取数据对象的位置信息 ;基于P2P的组织结构是利用 P2P的方式组织管理存储节点,存储或访问数据时,利用分布式哈希表(DistributedHashTable, DHT)来确定存储节点。
如何创建数据的副本和创建多少个副本是复制策略需要考虑的问题,目前复制策略有两种 :静态和动态。静态复制策略是系统运行前指定数目的副本,如 GFS和 HDFS两个系统中由配置参数确定副本的数目,优点是简单,缺点是缺乏灵活 ;动态复制策略根据系统环境动态地创建副本,优点是灵活,缺点是实现难。
创建的数据副本如何存放是放置策略需要考虑的问题, 目前放置策略有两种 :顺序和随机。顺序放置策略是将所有副本按顺序存放到存储节点,而随机放置策略是将所有副本随机存放到存储节点。
2.1.2 基于纠删码的容错技术
基于纠删码的容错技术的原理是将需要存储的数据对象D平均分成 k 个数据块(D1,D2,…,Dk),同时给这些数据块进行编码,编码为(X1,X2,…,Xn),当读取数据时,可以通过编码块(X1,X2,…,Xn)解码为原始数据对象 D。目前,纠删码的容错技术有 Reed-Solomon 码和奇偶校验码(Parity-Check Code)等方法。
降低纠删码修复成本的方法有两种 :基于度数限制和基于网络编码。基于度数限制方法是限制纠删码数据块和冗余块的度数,如 WEAVER 码 ;基于网络编码是将编码和路由进行融合,如再生码(Regenerating Code)。
2.2 可视化分析
一幅图胜过千言万语,故用可视化的图形来分析大数据, 这样会让用户直观地发现数据背后隐藏的信息,一般可视化分析技术有多维数据可视化、文本可视化、网络可视化和时空数据可视化等 [5]。
2.2.1 多维数据可视化
若数据变量具有多个维度属性,则称为多维数据。目前多维数据可视化技术有 5 类 :基于几何、面向像素、基于图标、基于层次和基于图形等。
基于几何的可视化技术原理是利用几何的方法来实现高维数据映射到二维空间。其方法有 :平行坐标系、放射坐标系、散点图矩阵和 Andrews 曲线法等。平行坐标系是利用二维空间中 n 条平行坐标轴来表示 n 个维度,将维度和坐标轴建立一一对应关系 ;放射坐标系属于圆形平行坐标系,它利用 n 条半径表示 n 个维度 ;散点图矩阵是将各维变量两两组合成一个点,从矩阵中得到隐藏的信息 ;Andrews 曲线法是利用周期函数将多维数据映射到二维坐标系中的曲线上。
面向像素的可视化技术原理是,将多维数据划分为多个子窗口,每一个子窗口代表数据的某一维,并用像素的颜色来区分维度。其有两种方法 :基于查询和独立于查询。基于查询的方法是利用数据项和查询值两者关联度的高低来进行排列 ;独立于查询的方法是将数据项的值简单排列,排列的方式为从左到右或从上到下。
基于图标的可视化技术原理是利用具有可视特征的图标来表示多个维度。其方法有 :Chernoff 面法和星绘法。Chernoff 面法利用人脸的大小、器官的特征来表示多维信息 ; 星绘法是从一点向外辐射多条线段,每条线段代表一个维度。
基于层次的可视化技术原理是,将多维空间划分为多个子空间,并以层次结构的方式来展示这些子空间,其方法有维堆和嵌套坐标系等。
基于图形的可视化技术原理是用整个图形来表达多个维度和它们之间的相互关系,其方法有多线图和 Survey Plot 等。
2.2.2 文本可视化
非结构化数据最主要的是文本信息,文本可视化可以直观地展示大数据文本信息中所蕴含的关键信息。文本可视化的研究主要有两类 :基于文本内容和基于文本关系。
基于文本内容的可视化主要有标签云(Tag Cloud)、Tile Bars 等技术。标签云将关键词根据词频或字母顺序来排序, 以字体大小、字体颜色来对关键词进行可视化,一般用在网络媒体中来识别主题热度 ;Tile Bars 应用于查询任务,它利用矩形条的灰度来展示查询词在文献中的分布情况。
基于文本关系的可视化主要有 Word Tree 和 FP-Tree 等技术。Word Tree 是与后缀树相结合,以树状结构展示关键词的上下文关系 ;FP-Tree 显示文献的共引关系,能展现文献聚类中的信息。
2.2.3 网络可视化
网络可视化是用图形来展示网络数据,从而可以发现网络数据的结构,其技术有两类 :基于节点和边与基于空间填充。基于节点和边的可视化技术是最经典的技术,它有圆锥树(Cone Tree)和放射图(Radial Graph)等方法 ;基于空间填充的技术有矩形填充和嵌套圆填充等方法。
2.2.4 时空数据可视化
时空数据具有地理位置与时间标签,时空数据可视化技术有流式地图(Flow Map)和时空立方体(Space-time Cube)等。流式地图展示了对象随时间与空间的变化所发生的行为变化,它融合了时间信息和地图信息 ;时空立方体利用三维来展现事件、时间和空间,它突破了二维平面的局限性。
3 结语
本文所述的容错技术和可视化分析技术是大数据的两个重要技术,它们是现在研究的热点,目前工业界和学界都在进行深入的研究。若干年后,希望会有更好更完美的解决方案。