Hadoop也需要有数据生命周期管理

运维 系统运维 Hadoop
我们希望让Hadoop来承载海量结构化数据和非结构化数据的存储,以及部分的数据加工,也许以后还会通过HIVE或者PIG的方式承载一些高端的即席查询任务。这种混合而不是单一的任务注定了也需要实施生命周期管理,因为数据加工通常是对近段时间的数据进行,而数据存储和数据查询则需要对历史数据进行。

 在数据仓库中肯定是要实施数据生命周期管理的,因为我们在实际使用中发现对于数据仓库中的数据访问存在典型的二八原则,即通常80%的访问集中在20%的数据上,这个结论是我们抽查了几个省的数据仓库后确认的,甚至有的省由于数据仓库设计的不一样(比如日表、月表)等显现得更加明显。基于这样的情况,为了让数据仓库运行得更加高效,同时能低成本的存储长期的数据,约一半以上的省公司数据仓库实现了按照数据生命周期的分库。

但是当我们将目光转向Hadoop的时候,发现同样的问题依然存在。我们希望让Hadoop来承载海量结构化数据和非结构化数据的存储,以及部分的数据加工,也许以后还会通过HIVE或者PIG的方式承载一些高端的即席查询任务。这种混合而不是单一的任务注定了也需要实施生命周期管理,因为数据加工通常是对近段时间的数据进行,而数据存储和数据查询则需要对历史数据进行。

根据访问频次和响应时间以及吞吐率的需求不同,我们可以通过几种方式来进行数据生命周期管理。

一、在一个Hadoop系统中,通过不同的压缩率、块大小和副本数量来控制。对于归档的数据,可以使用较高的压缩率,较大的块和较少的副本来保存。因为较高的压缩率需要较长的解压时间、较大的块可以节约NameNode的空间,较少的副本(但仍需要保证数据安全)虽然会减少Map任务的本地调度几率,但是由于频率较少所以影响不大。

二、组成两个HDFS系统。一个是专门为高性能计算设计的,有较多的高性能磁盘(SAS盘)、CPU和内存,系统存储容量不用太大。另外一个专门为历史数据存储和查询设计,用较多的高容量磁盘(SATA盘)、较少比例的CPU和内存。两个系统中的数据对象通过一个第三方组件来进行透明的管理,两个系统中的数据通过Hadoop中一个专门用来在两个HDFS中导数据的组件,通过MapReduce来进行高效的数据同步。在数据处理方面,两个系统可以配置在一套JobTrack上,也可以仅让第二套系统承担HDFS的任务,所有的MapReduce任务都放在第一套高性能系统上去实现,让它再去访问第二套系统的HDFS。

个人感觉两个也许可以混合起来用,当然这加大了系统的复杂度,需要同步加强管控。

责任编辑:黄丹 来源: labs
相关推荐

2021-07-19 05:52:29

网络生命周期网络框架

2012-06-20 10:29:16

敏捷开发

2014-11-11 10:47:19

hadoop数据流

2015-07-08 16:28:23

weak生命周期

2012-08-16 14:45:50

Informatica数据集成大数据

2010-12-03 12:22:02

局域网文档文档安全数据保护

2022-06-01 09:25:16

嵌套生命周期智能技术工业资产

2009-05-21 09:12:41

Java开发平台生命周期管理

2023-04-19 07:50:59

​云原生生命周期管理

2024-05-28 07:55:31

SpringBean用域

2020-11-26 09:57:14

集成数据

2022-03-21 12:08:54

API网络安全可视化

2015-12-04 09:46:34

数据中心生命周期管理

2009-06-24 10:47:55

JSF生命周期

2013-08-19 17:03:00

.Net生命周期对象

2010-05-17 22:06:41

数据安全电子文档鼎普科技

2012-12-04 10:02:03

2020-03-13 07:33:28

物联网生命周期管理IOT

2013-09-26 11:20:34

Informatica

2023-12-18 08:24:56

ViewModel数据操作Android
点赞
收藏

51CTO技术栈公众号