数据湖是一种方法 数据湖的四个最佳实践

转载自:http://bigdata.chinabyte.com/311/13871811.shtml

数据湖听起来很简单:把数据或信息汇集到一个结合处理速度和存储空间的大数据系统――Hadoop集群或内存解决方案,那样业务部门就能访问数据,获取新的洞察力。不过,与IT行业的许多技术一样,现实比梦想困难得多。

  Pentaho公司的创始人兼首席技术官詹姆斯·狄克逊(James Dixon)发明了这个术语,他表示,其中一方面是由于对数据湖应该是什么存在着误解。他从来就没有打算用数据湖来描述从所有企业应用程序获取数据的巨大的Hadoop存储库。

  数据湖是什么东东?

  狄克逊说:“有人问数据湖是什么时,我告诉他们,它就是你以前在磁带上拥有的东西。拿来你在磁带上的东西,把它倒入到数据湖,然后开始探索该数据。我们的看法是,只把需要的数据倒入到Hadoop;如果你想结合来自数据湖的信息和客户关系管理(CRM)系统里面的信息,我们就进行连接,只有需要时才执行这番数据结合。”

  尽管狄克森的初衷并非如此,但这个术语具有更广泛的含义,而且有着更大的希望。人们开始将大数据湖视作通过把所有数据放入到一个超快、易于访问的存储库,解决集成难题的一种方法。

  实际上,存储库反而变成了一个缓慢、僵化的数据沼泽。大数据需要特殊的专长来分析数据。使用原始数据得出的结论在数据质量和治理方面发出了危险信号。

  尼克·霍德克(Nick Heudecker)是Gartner的IT领导者数据和分析部门的数据管理研究人员,他说:“每个人都想把数据湖视作IT行业的银弹。之前有没有这样的一种银弹?我还在等待。我认为,一旦你跨过了那个发现阶段,就需要做更多工作。就数据湖而言,那同一基础设施有所帮助,但是一旦你使用该数据来回答你生成的问题,就需要更深入地探究专业信息管理世界。”

  所以鉴于数据湖现状,你如何利用它们、为贵企业带来最大优势?专家们表示,数据湖有四个关键的最佳实践:

  ·了解数据湖的使用场合

  ·别忘了现有的数据管理最佳实践,比如确立强大的数据管理

  ·知道数据湖的业务理由,因为这将决定合适的架构

  ·要注意元数据

  1. 了解数据湖的使用场合

  想建立一个成功的数据湖,企业需要摈弃这种想法:数据湖让你可以在一个地方收集所有数据。数据湖并非取代企业数据管理系统和实践――至少从大数据的现状来看不是这样,明白这一点同样很重要。

  MapR公司的数据和应用程序高级副总裁杰克·诺里斯(Jack Norris)说:“企业组织仍在谈论数据湖,但它们也认识到,不是所有数据湖都一样。某些数量的功能是你所需要的,或者我们听人谈起过数据沼泽,很难让数据流进流出,数据就停滞在那里。”

  考虑到数据湖没有按计划那样奏效,它仍然切实可行吗?专家们表示,是的,前提是你得了解其局限性。

  霍德克说:“在我看来,它就是数据科学沙盒。你在这里处理数据,试图找到新的洞察力。一旦你找到了那新的洞察力,任由数据处于原始格式合理吗?我会认为,这并不合理,因为你现在需要优化数据。你需要确保数据得到治理,确保数据在语义上一致,并满足业务使用者的要求,所以在我看来,数据湖好比实验室。你可以用它处理其他事情,不过对我来说,我在建议客户时,我会尽量建议他们这么考虑其数据湖。”

  这不像听起来那么有局限性。比如说,霍德克特别指出,企业使用数据湖从部署的物联网获取洞察力。TDWI Research的数据管理研究主任菲利普·拉索姆(Philip Russom)表示,数据湖身兼多职,比如为敏捷数据仓库和报告提供更大的灵活性。数据湖还经常为Hadoop集群和数据集成充当数据着陆区和集结区。

  拉索姆在电子邮件中说:“在极端状态下,数据湖直接从数据源摄取原始状态的数据,不经过任何清理、标准化、重新建模和改动等操作。处理原始的、未改动的详细源数据的目的在于,新的、独特的分析需求出现时,可以在运行时实时改动数据。这假设,一旦你改变数据用于特定的用途,输出数据对其他用途而言就有点局限性。”

  2. 运用现有的数据管理最佳实践

  拉索姆补充道,可以跨越这些比较简单的使用场合,但那需要的不仅仅是将数据倒入到数据湖。

  他在邮件中写道:“现在有些用户多年来一直在使用某种形式的数据湖(甚至是在新的Hadoop上),我们可以从它们成熟的运用中学到经验。用户已明白,如果要求数据湖的一些部分(很少是整个数据湖)采用某种结构,就能够从数据湖得到更大的用途(即商业价值)。”

  这也意味着,企业组织在分析数据湖存储系统或与企业应用程序集成时,不能忽视过去二三十年好不容易获取的数据经验教训。审计跟踪记录、数据完整性、数据管理、数据治理和数据所有权,这些都仍然适用。

  3. 知道数据湖的业务理由

  技术专家们喜欢说,IT项目应该始于业务,但在这里,这是确定如何构建数据湖的关键的第一步。业务理由并不是仅仅影响架构,而是决定架构。

  比如说,狄克逊特别指出,该公司采访Hadoop集群的早期采用者后,80%到90%的使用场合针对结构化数据,而不是非结构化数据。想确定你的数据是否可以建立在传统关系数据库、Hadoop集群或另一种NoSQL替代数据库,关键在于知道自己的业务使用场合将是什么,它需要哪种类型的数据。据霍德克声称,比如说,关系数据库就适合物联网传感器数据,这意味着你可以节省招聘NoSQL人才的成本。

  业务理由还将决定你要不要使用任何NoSQL解决方案上的某种SQL支持。如果数据将被转移到企业分析工具,那么你要考虑如何支持数据最佳实践。

  诺里斯说:“重点绝不仅仅是数据,而是始终关于你要做什么工作。使用场合是什么,你可以运用什么应用程序来处理该数据以便从中受益。”

  4. 支持元数据

  最后,要注意元数据。元数据一再出现,它是确保数据湖是可行战略而不是数据墓地的关键。这里的好消息是,大数据和分析厂商在推出将元数据添加到数据湖及其他大数据存储系统的新工具。比如说,元数据注入就是Pentaho Business Analytics 6.1的一个关键部分。

  狄克逊说:“现阶段,人们认识到大数据确实带来了其他数据存储系统无法带来的东西。现在它的表现要像其他企业级应用程序。现在它需要安全,需要监控、日志和审计,它需要元数据,变得更稳健、更实用、更人性化。我认为,这是它变得更像是企业IT的标准工具的结果。”

  霍德克表示,元数据也是Gartner发现的一个新趋势的关键:对数据进行“联系,而不是收集”。相比将数据转移到越来越大的集群或数据仓库,让数据待在原地来得更省钱、更容易、更高效。

  他说:“最大的挑战是元数据和元数据管理,这也是企业应该最关注的方面。如果你非常清楚地了解数据的元数据,就能解决你在忙于工作时可能会延迟或延期的许多事情。所以,只要拥有良好的元数据,你就能搞定治理,就能搞定安全,就能搞定任何数据质量问题。”

  “只要你专注于此,那么就能建立坚实的基础,然后在需求不断变化,你对使用场合的了解变得更明确时,不断夯实这个基础。”

原文地址:https://www.cnblogs.com/cxrz/p/8990561.html

时间: 2024-11-09 23:53:02

数据湖是一种方法 数据湖的四个最佳实践的相关文章

oracle rename数据文件的两种方法

oracle rename数据文件的两种方法 2012-12-11 20:44 10925人阅读 评论(0) 收藏 举报  分类: oracle(98)  版权声明:本文为博主原创文章,未经博主允许不得转载. 第一种 alter tablespace users rename datafile '==' to '***'; 这种方式需要数据库处于open状态,表空间在offline的状态下才能更改. [sql] view plain copy SQL> alter tablespace user

IOS开发中数据持久化的几种方法--NSUserDefaults

IOS开发中数据持久化的几种方法--NSUserDefaults IOS 开发中,经常会遇到需要把一些数据保存在本地的情况,那么这个时候我们有以下几种可以选择的方案: 一.使用NSUserDefault是最简单直接的一个办法: 1)保存数据: 1 // 实例化一个NSUserDefaults单例对象 2 NSUserDefaults *user = [NSUserDefaults standardUserDefaults]; 3 // 把一个数组array保存在key为allContact的键值

Android数据存储的五种方法汇总

本文介绍Android中的5种数据存储方式. 数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据 下面将为大家一一详细介绍. 第一种: 使用SharedPreferences存储数据 SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置

Android数据传递的五种方法汇总

Android开发中,在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,我把常用的几种 方法都收集到了一起.它们各有利弊,有各自的应用场景. 我现在把它们集中到一个例子中展示,在例子中每一个按纽代表了一种实现方法. 1. 利用Intent对象携带简单数据 利用Intent的Extra部分来存储我们想要传递的数据,可以传送int, long, char等一些基础类型,对复杂的对象就无能为力了.         1.1 设置参数 [java] view plaincopy //传

Greenplum/PostgreSQL中数据表数据去重的几种方法

GP主要用于数据仓库领域,在GP数据库中,如果由于ETL重复跑数导致数据重复的话,就需要进行去重复操作. 一种方法是把某一时间段的数据全部删掉,然后重新跑数据,这样其实工作量也比较大,需要补数据,重跑ETL. 另一种方法就是把重复的数据删掉就行,本文就是针对Greenplum分布式数据库如何进行去重复删除操作. 对于在PostgreSQL中,唯一确定一行的位置的是用ctid,可以用这个ctid作为一行的唯一标识:在Oracle中,数据表中的一行的唯一标识可以使用ROWID进行标识,这作为这一行的

使用verilog实现4选1数据选择器的几种方法

第一种方法module mux( d1, d2, d3, d4, se1, se2, dout ); input d1; input d2; input d3; input d4; input se1; input se2; output dout; reg dout; always @ (d1 or d2 or d3 or d4 or se1 or se2) case({se1,se2}) 2'b00 : dout=d1; 2'b01 : dout=d2; 2'b10 : dout=d3; 2

ASP.NET页面之间数据传递的几种方法

1)Request.QueryString   在ASP时代,这个是较常用的方法,到了ASP.NET,好像用的人不多了,但是不管怎么说,这是一个没有过时,且很值得推荐的方法,因为不管是ASP还是ASP.NET,最基本的都还是基于HTTp协议的. 缺点是非常明显的,让在多个页面传递时,可能就Request不到了 2)Session   这个是最常用的一个方法,Session的优点是使用简单,缺点是占用服务器资源,因为每一个Session都意味这服务器需要维护相应客户的会话信息,自然如果登录的用户多

vue中数据请求的三种方法

注意请求可能存在跨域问题,需要去配置好 这三种建议使用axios 1.resource Vue 要实现异步加载需要使用到 vue-resource 库. Vue.js 2.0 版本推荐使用 axios 来完成 ajax 请求. 先导入一个线上cdn的地址,当然还可以去npm安装,但个人觉得这种方便 <script src="https://cdn.staticfile.org/vue-resource/1.5.1/vue-resource.min.js"></scri

WPF中在XAML中实现数据类型转换的两种方法

熟悉数据绑定的朋友都知道,当我们在Model中获取一个对象的数据,常常需要对其进行数据转换后显示在UI界面上,比如你用bool类型存储了一个人的性别,但是在界面上却需要经过转化后显示为男或女: 今天又把数据绑定部分又看了一下,在这里就算是做个总结吧! 方法一:当我们定义一个类,该类中又有该类类型的一个属性,那么如果我们只是在XAML中使用简单的数据绑定的话,程序就会出现问题,究其原因就是程序无法正确对该类的对象的类类型的属性无法正确转化,所以我们需要自定义一个转换类,该类继承TypeConver