前言
随着大数据时代的到来,数据量的膨胀式发展,对数仓建设提出的新的挑战和要求,为了实现资源的合理化配置和利用,提高资源使用率,通过半衰期的分级存储,应用于数仓建设,可以在一定程度上解决资源配置不合理,资源使用效率不高等问题。
引言
全球知名咨询公司麦肯锡全球研究院发表的一篇名为《大数据:创新、竞争和生产力的下一个新领域》 告中可以看到数据的增长是有多么迅速以及庞大。从宏观角度看,全球数据实现爆炸式增长;从微观角度看,企业管理数据也在高速增长,商业数据更是呈指数级增长。随着数据的增长同时,也对数据仓库的建设提出了更高的技术要求,架构要求,部分需求已经不能很好的满足于新的业务和需求场景的应用,不能够支撑大数据的分析和预测。
数据架构
MPP架构
概念
数据仓库MPP(massively parallel processing)是将任务并行地分散到多个服务器和节点上,在每个节点上计算完成后,將各自部分的结果汇总在一起得到最终结果。
架构图演示
在 MPP 系统中,每个节点内的CPU不能直接访问另一个节点的内存,节点之间信息交互通过节点互联 络实现。
特点
①通过Scale-Out的方式扩展计算能力,存储也同步线性扩展;
②适用于结构化数据,支持TB级数据分析预测;③存储空间扩容价格昂贵,多采用软硬件绑定的模式销售。
分级存储
随着数据的增长,单纯的通过增加服务器的数量,可以满足一部分业务需求以及场景的需要,但是不一定能满足所有,尤其在本篇博客提到的存储能力上。体现在以下两个方面:
①服务器及存储设备的大量增加,会大幅降低数据分析能力,运行效率快速下降,无法实现数据快速响应的要求;
②MPP架构的服务器和存储设备必须由厂商提供,价格非常昂贵。为了保证数据及时和快速响应,在早期数据仓库建设中,并未考虑数据分级存储。
研究现状
有很多研究以及解决方案,本篇只对代表性的几个进行简要概述。
杨文晖对海量空间数据的特点和日常数据应用规律,提出了基于访问热度和聚类关联的海量空间数据分级存储模型,该模型主要包括热点数据分级、关联数据分级、数据迁移3部分。
吴洪桥等针对数据中心在线、近线和离线的多级存储体系架构,提出了开展多源、异构影像数据分级存储与数据迁移规则的研究,依据影像数据产品链与生命周期,提出了分级存储原则、价值评估要素、分级存储策略与方法。
史敏鸽则从数据分级如何在图书馆领域应用进行了研究。
本篇是基于半衰期的分级存储的相关内容介绍,所以依据数据生命周期管理,提出的针对于分级存储的方案,从B-K算法角度,进行展示如何进行分级存储。
B-K模型分级存储算法
首先我们来谈几个概念,也是作为后面了解相关材料的基础。
数据生命周期管理
英文简写:data life cycle management(DLM)
这是一中基于分级策略的方法,用于管理信息系统数据在整个生命周期内的流动:数据从产生在线,到离线,最后被销毁。
DLM产品将数据存储分为不同层次,基于关键条件自动地将数据从一个层移动到另一个层。被频繁访问的数据存储于速度更快、更昂贵的存储媒介上,而不是很重要的数据则存储在价廉且效率稍低的媒介上。
分级存储管理
英文简写:hierarchical storage management(HSM)
指的是是数据生命周期管理(DLM)的一种实现。分级表示不同的存储媒介类型,例如RAID(独立磁盘冗余阵列)系统、光学存储或者磁带,每种类型都表示不同级别的成本和需要访问时的检索速度。
阐述
企业数据的整个生命周期的过程大致可以分为:在线阶段、近线阶段、归档阶段、销毁阶段四个阶段。随着企业数据量的增大,为了平衡效率与成本,必须对数据采用分级存储。
传统分级方式
采用固定时间点进行划分。
如3年以内为在线阶段,3-7年为近线阶段,7-20年为归档阶段,超过20年为销毁阶段。
缺点
简单地按照时间点划分,把数据从在线阶段转存到近线阶段,会导致数据分析与查询时频繁访问近线阶段的数据,造成效率低下。
学术研究方向
关于数据如何进行分级管理,学术界也做出了很多探索。Vakali提出基于访问频次的固定阈值策略,Wilkes提出基于存储介质空间占用率的分级策略,并在Hewlett-Packard实验室进行了实现。学界还提出了基于访问频次和存储介质空间相结合的存储策略。Sutoh等[11]提出了基于文件等级的转存策略。Zhao提出对数据库文件进行评分,基于评分进行分级存储的策略。但是他们的共同点是都是采用固定阈值分级存储。这种分级方式忽略了数据以及模型随着时间的推移会发生变化。也正是存在这样的问题,所以对于在线和近线阶段的数据应该采用半衰期模型,动态的划分数据阶段,合理的划分数据的半衰期。
数据半衰期是基于信息半衰期的发展,信息半衰期主要基于传统文献进行分析,数据半衰期应用于数据仓库被访问频率模型。
信息半衰期
在1958年由科学家贝尔纳(Bernal)首先提出,用“半衰期”表征信息老化速度,表示已发布信息中的一半已不再使用的时间,该概念被称为“历时半衰期”。1960年,Burton 和 Kebler 提出半衰期是指某学科(专业)实际利用的全部文献中较新的一半是在多长一段时间内发表的。该概念被称为“共时半衰期”。具体数学模型推导大家可以自己去拓展了解一下这块知识,本篇文档就不再赘述。
采用信息半衰期作为转存策略,通过实证方式,证明半衰期曲线与数据仓库单个客户数据被访问次数曲线高度拟合,同时证明在数据仓库中的具有普遍适应性,因此可以采用半衰期计算公式作为数据仓库转存策略。半衰期数据分布曲线以10年为单位,每个学科信息老化速度不同,所以选取时间长度不同。
实例
第一步进行资料信息收集,也是做基础数据整理。
对《物理学 》(1992-1996年)5年间刊载论文的引文进行统计,统计结果表明《物理学 》5年间共发表论文; 1457篇,引文共计16491篇。以某系统采用MPP数据仓库存储在线阶段数据为例,分析系统根据分析模型访问数据仓库中的数据,数据仓库目前存储280TB的数据,每天以10多GB的速度增长。信息半衰期的计算模型以10年为计算单位,以相同口径分析用户的被访问数据。从结果可知运算系统在5年内对某一用户数据访问总共 8509次。
第二步,数据分布规律
B-K模型可用以描述文献被引用次数的分布规律。《物理学 》引文数据分布规律和数据仓库数据被访问规律分布曲线非常接近,B-K模型也可以用于分析数据仓库中数据的半衰期。为了验证半衰期模型在数据仓库中被访问频次具有普遍适应性,从业务集中的6个分区中随机抽取数据,观察其数据分布规律。
第三步,优化策略验证
通过数据分析验证了B-K模型的适应性,基于B-K模型可以有效描述数据仓库中数据被访问的频次,计算数据被访问的衰减规律。
MPP和Hadoop架构对比
Hadoop架构
Hadoop生态系统是指基于Hadoop平台以及构成完整生态的各种构件,选择适合的构件组成完整的应用系统,能有效、快速地解决系统目前面临的挑战,提高效率、提供容灾备份、降低成本。基于Hadoop平台,采用Java开发多线程程序,实现B-K模型的分级算法,构建分级存储的核心模块。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System,HDFS)[20]。HDFS有高容错性的特点,被设计部署在低廉的硬件上,而且提供高吞吐量技术用以访问应用程序数据,适合有超大数据集的应用程序。Hadoop在数据仓库应用中最大优势建立在成本低廉的硬件上,但是由于新技术存在未知风险,是偏保守的技术使用者,所以对Hadoop的使用必须根据业务场景进行适当调整。Hadoop是基础分布式平台,在新一代数据仓库架构中使用Hive、Kafka、Flume等组件。
两者对比
通过对比可以得出,MPP适合多维度数据自助分析、数据集市等;Hadoop 适合海量数据存储查询(存储和查询)、批量数据ETL、非结构化数据分析(日志分析、文本分析)等。
以上就是本次针对基于半衰期的分级存储的方式的整体介绍。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!