热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据仓库_佳文推介|逻辑数据仓库全集数据统一视图之路

篇首语:本文由编程笔记#小编为大家整理,主要介绍了佳文推介|逻辑数据仓库-全集数据统一视图之路相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了佳文推介 | 逻辑数据仓库-全集数据统一视图之路相关的知识,希望对你有一定的参考价值。








































佳文推介 | 逻辑数据仓库-全集数据统一视图之路


http://h5ip.cn/103166294


















导读:企业数据仓库到底出了哪些问题呢?问题看起来似乎相当多。简单来讲,当数据量过大时,存储和查询都会出现困难,更别提我们还要解决数据质量、数据安全等问题。这个时候提倡诸如虚拟数据仓库和逻辑数据仓库这样的方案就会很有意义了。


本文译自Robert Sheldon的“The Logical Data Warehouse – Towards a Single View of All the Data”,从企业数仓到逻辑数仓,数仓到底经历什么?敬请阅读全文~


文中图片来源:《黑客帝国》










0
1





前言







多年来,传统的EDW(Enterprise Data Warehouse,企业数据仓库)一直是综合商业智能(BI)解决方案的中流砥柱,它可以提供一个所有人都能相信并使用的中央储存库。但在当今信息已然过载的世界中,EDW几乎无法跟上大数据数量及多样性爆炸性的增长,这就导致IT技术人员苦苦寻找其他高度灵活、可扩展、且能够满足不断增长的数据实时分析需求的BI解决方案。


在传统的EDW平台中,数据可能来自事务型数据库、企业内重要的软件应用系统(line-of-business(LOB) applications)、客户关系管理(CRM)系统、企业资源规划(ERP)系统或其他来源。将数据加载到数据仓库之前,需要对其进行清洗和转换,以确保整个企业范围内数据的可靠性、一致性和准确性。提取-转换-加载(ETL)操作精确且高度精炼,它提供了一个稳定且可预测的环境,可以从此环境中访问数据。


有了EDW,数据科学家和信息工作者就拥有了一个集中处理平台,他们可以通过该平台执行复杂的分析并生成信息丰富的报表,供需要的人过滤和钻取数据。理论上,EDW的设计中应该包含一组粒度足够细的历史数据,从中可以获取十分有意义的信息,从而证明执行和维护这个系统所需的时间和资源投入是合理的。





0
2





企业数据仓库万岁!







曾几何时,EDW也可以存储足够多的数据,为决策者提供了解趋势和推动业务战略所需的信息。数据经转换之后,被加载到数据仓库中(通常是夜间批量加载),数据分析师便可以利用各种BI工具来分析这些数据,这些数据为少量分析师提供了丰富的信息库,他们可以随时任意分析这些数据。然而,这样的日子一去不复返。


佳文推介 | 逻辑数据仓库-全集数据统一视图之路


在当今的互联网环境下,数据量正在以惊人的速度增长,这在很大程度上归功于Web2.0时代的到来以及随之诞生的云服务、社交网络、移动设备和物联网(IoT),所有这些都被列为大数据的范畴,或者更确切地说,数据量大而多样的、分散的、以非结构化数据为主的开放性数据,带着无比的荣耀,重新定义了这个信息时代。


信息数量不仅在以20年前无法想象的速度增长,还以各种各样的格式散落在全球的信息孤岛中,在这种情况下,我们依然期望这些信息可访问、有意义,并且可以被呼之欲出的最新自助式BI产品(着眼于多源、多类型、不断倍增的数据的实时分析)消费。


面对这种数据过载的情况,传统EDW的不足之处就显示出来了。EDW因其单一来源/单一事实的承诺而进入全盛时期,现在却又因阅读器、传感器、扫描仪、社交网站、RFID标签和无数其他数据生成器和存储的出现而被迫退位。


EDW提供了一个中央储存库来存储清洗过的、可信任的、结构良好的数据,虽然这样的储存库仍然可以起到重要作用,但毕竟我们生活的世界主要由原始的、混乱的、非结构化的数据组成。随着“混乱数据”的不断升级,人们对它的兴趣也不断增长,想要更好的理解它、从其中获取价值、并根据它做出决策。这就得需要一个灵活、敏捷、经济且相对轻松的解决方案,然而这些都不是EDW的强项。


实现和维护传统的EDW平台需要有完整的规划和大量的投入,需要仔细思考如何对数据进行ETL操作以及投入多少资源来维持其运转。


当新需求出现时,EDW却难以随之变化,这可能会给业务带来损害;对源应用程序的修改也可能会对EDW造成严重破坏。基于EDW做项目,时间往往过长,当项目实现时,通常已经不能满足当前的业务需求。这并不是说我们应该彻底抛弃传统的EDW,而是说,当提到大数据的种种时,EDW已不能与之匹配。





0
3





逻辑数据仓库万万岁!







企业想要更好的利用大量涌入的信息,于是开始寻求其他解决方案来满足数据需求,这些解决方案或者是传统EDW的补充,或者是其替代品。这通常意味着企业倾向于转向一种更加逻辑化的架构,去抽象出大数据领域的固有复杂性。这种架构利用一些能够缓解数据访问和数据管控痛点的技术来融入多元环境,例如分布式处理、数据虚拟化以及元数据管理等技术。


2011年,Mark Beyer在参与Gartner公司关于“大数据、极端信息以及信息能力框架”(Big Data, Extreme Information and Information Capabilities Framework)的研究时,研发了这种虚拟的BI分析基础架构,并称之为“逻辑数据仓库(LDW, Logical Data Warehouse)”。他在博文”Mark Beyer, Father of the Logical Data Warehouse, Guest Post,” 中提到,处理分析型数据的方法是关注信息的逻辑,而不是机制:



该架构包括甚至是扩充了企业数据仓库,但还会添加语义数据抽象(semantic data abstraction)和分布式处理,通过数据和数据挖掘在元数据中的维护数据资产信息。


它还会监控自身的性能,首先将性能信息提供给人工管理,然后逐步实现针对服务等级预期(service level expectations)的动态配置和性能评估。这很重大。这不是信口开河。这会发生。



Beyer介绍了LDW的概念后,和Gartner的同事一起将这个想法具体化,最终确定了定义LDW平台的七个主要模块:



  • 储存库管理模块 - 储存库管理是对EDW中数据储存库的实现,支持保持最高数据质量标准的特定用例,例如合规问题和监管事项所需的用例。假如我们不考虑数据大小的话,数据越有价值,就越有可能驻留在EDW中。


  • 数据虚拟化模块 - 无论数据类型和位置如何,不管是结构化、半结构化还是非结构化数据,数据虚拟化就是来自分布式源的单一数据视图。数据仍保留在源系统中,可以包括Hadoop集群、关系型数据库,NoSQL数据库、云服务、数据湖、文件服务器、社交网络或任意数量的系统。


  • 分布式处理模 - 分布式处理是一种将数据处理下推到数据所在的源系统中进行数据查询和数据分析的方法。如果查询跨越多个数据源,则每个系统都可以处理自己的数据块,并将所有系统的处理结果聚合到一个统一数据集里。


  • 元数据管理模 - 元数据管理系统用于维护跨所有类数据服务的元数据,从而使分布式处理和数据虚拟化更容易进行。元数据还可用于保证数据质量,支持数据治理和主数据管理。


  • 分类/本体解析(Taxonomy/ontology resolution)模块 - 分类/本体解析系统是一个将数据资产分类与用例本体相关联的系统,以便有效地联合来自多个源的数据。从这个过程中派生出的元数据有助于在有效数据存储中定位数据资产,以及支持审计和服务级别协议(SLA)服务。


  • 审计和性能服务模块 - 此模块用于收集LDW其他模块性能的统计信息,同时也可以记录连接的用户和应用程序的使用方式。


  • SLA管理模块 - SLA管理模块用于追踪连接的应用程序和用户的预期,根据审计统计数据监控相关的SLA性能,并据此提出建议或自动优化操作。



虽然数据虚拟化和分布式处理作为单独的模块列出来,但这两种技术通常合并在一起使用。例如已经添加到SQL Server 2016中的Microsoft PolyBase,它允许从数据库表结构内部访问Hadoop集群,提供了数据的虚拟化视图,同时将处理下推到数据所在的集群中进行。


佳文推介 | 逻辑数据仓库-全集数据统一视图之路


还有就是Denodo,Denodo是一个成熟的数据虚拟化解决方案,与PolyBase一样,它也将处理下推到数据所在的系统,不管这个系统是事务型数据库、EDW解决方案 还是Hadoop集群。


在LDW架构中,Gartner所确定的其他模块跟数据虚拟化和分布式处理两个模块同样重要,要完整的实现LDW架构,就需要全部或者大多数模块相互结合,通过跨数据源来支持自助BI、预测分析和实时决策制定。这并不是说LDW必须以特定的方式实现,而是需要用这些模块有机组合,形成一个逻辑整体。


LDW力求在不把数据从原始数据孤岛中搬运出来的情况下,提供所有数据的单一视图,使查询一个或多个数据源就像是查询关系型数据库一样轻松。只有在逻辑层面上处理数据,才能实现大数据时代所需的灵活性和可扩展性。





0
4





逻辑数据仓库之名







技术在发展过程中面临的一种挑战是其概念会让人产生极大的困惑,比如LDW以及Gartner提出过的其他概念。和物联网一样,LDW也需要有一个简明的定义,即使是外行人也能根据其定义对LDW的实现结构有一个相对清晰的认识。它是SQL Server这一类的产品吗?还是像Salesforce这样的云服务?或者它更像是一个数据库抽象层或者说是虚拟化技术?后面这种说法相对更有吸引力,因为LDW通常又被称为虚拟数据仓库(VDW),虽然它还有“数据层”、“数据湖”等许多其他名称。


但VDW毕竟有点曲折的历史,所以这种叫法尤其让人觉得有问题。实际上VDW已经存在了一段时间,并且跟LDW一样,VDW承诺会完成EDW所不能完成的任务,也就是将数据统一到一个通用的虚拟储存库中。


然而,与LDW不同的是,VDW主要关注的是关系型数据库,而不是大量的大数据孤岛。通过将多个数据库串联起来,VDW承诺快速简单的执行项目,不必操心传统EDW所有那些恼人的集成细节。数据保留在各自的存储中,不同的应用程序可以虚拟的连在一起,并且可以避免EDW大量消耗资源的情况。


可惜的是,VDW也有不足之处,比如它的性能就不算很完善。想象一下,假如你尝试利用一个查询同时访问多个数据库,响应时间可能会变化,缓存可能不一致,并且一个系统停机可能会造成整个操作的停止。


VDW更大的问题在于,它也未能解决传统EDW最大的难题,即清洗所有数据。同步多个数据库(每个数据库都有自己真实数据的版本),可能会将最基本的查询变成不可预测和不可靠的分析结果。无论在哪里清洗数据,我们总要在某一时刻对数据进行清洗以获取有价值的信息。


当然,VDW还有很多其他问题,但重点是,我们应该谨慎对待在LDW中加上 VDW的标签,并希望LDW可以避免VDW存在的所有缺陷。


人们也常拿数据湖与LDW作比较,数据湖是一个存储大量非结构化数据的储存库,通常出现在Hadoop基础架构中。数据湖可以支持所有类型的数据,并且有能力对这些数据进行转换,并根据需要定义数据结构。谷歌和雅虎是最先进行“数据湖运动”(data lake movement)的公司,但是之后甚至是微软都带着的AzureData Lake服务加入其中,现在正在公开试运行中。根据Microsoft的说法,你可以利用该服务来存储和分析任何类型或大小的数据。


Azure Data Lake和其他技术一起构建于Hadoop YARN(YetAnother Resource Negotiator)之上。YARN是一个集群管理服务器,是Hadoop 2框架的一部分,它利用Hadoop的线性扩展存储和处理,解耦了许多MapReduce组件,允许多个第三方引擎使用Hadoop作为访问数据的通用标准。


佳文推介 | 逻辑数据仓库-全集数据统一视图之路


LDW的分布式处理组件很适合应用在数据湖上。实际上,数据湖在处理数据方面非常有效并且可以以相对较低的成本实现,因此LDW平台可以将其大部分数据清洗和转换操作推送到数据湖,甚至对EDW中的数据也可以进行这样的操作。当然,我们需要在进行这些操作与移动数据的成本之间进行权衡,但其潜力是存在的,也必定会是有利的。


Hadoop 2和YARN框架使得数据访问、数据处理和数据联邦比以往更高效,但数据湖不是LDW,也不是EDW的替代品。数据湖通常是LDW解决方案中非常重要的一部分,但也只是一个组成部分。


也就是说,将LDW与VDW或数据湖区分开,并没有给出LDW的具像。实际上,要得出这个“具像”并不容易,因为从整体上看,LDW既是一个概念或是一种倡导,也是一种物理实现。这就是为什么“逻辑”这个词在LDW这个名称中如此突出。


也许我们最好把LDW看作是一个由各个部分相结合组成的逻辑结构,包括EDW、云服务、Hadoop集群、数据湖以及其他元素,某些组成部分有虚拟化数据和分发处理的能力。然而,仅这些元素并不能完成LDW架构。因此,我们还要寻求其他产品。


例如ThoughtWeb提供的Enterprise Analytics Studio,这是一种用于集中管理、设计和构建企业LDW的软件解决方案。该解决方案可以利用结构化和非结构化数据,组织和转换数据,应对SLA管理以及分类/本体解析。


MarkLogic也提供了一个LDW解决方案,将其作为一个可搜索的企业数据层,这个数据层提供了各种数据孤岛的统一视图。MarkLogic解决方案中包括NoSQL数据库、元数据目录和储存库、Web服务以及用于连接远程数据源的工具。它还可以接收大量数据,转换和聚合数据,并将其提供给多个应用程序。


甚至Cisco也携其数据虚拟化平台加入了舞台。据介绍,该平台支持LDW的每个模块,包括储存库管理、分布式处理,当然还有数据虚拟化。


【小编语:当然,还有来自敏捷大数据团队的 Moonbox 计算服务平台,也是支持了数据虚拟化、分布式处理、元数据管理以及审计功能,为用户带来虚拟数据库般使用体验,用户只需通过统一SQL语言,即可透明实现跨异构数据系统混算和写出,可以成为LDW架构中非常重要的一部分。】


这些解决方案看起来似乎很完整,但它们本身并不是整个LDW平台,而是为系统提供动力的组件,目的是使所有数据完美的发挥作用。这些解决方案中的任何一个都不能绝对定义LDW,没有一种架构可以定义LDW应该如何组成。它是可变的、可适的、可塑的,是大数据这道菜中必不可少的成分。








0
5





大数据世界








随着Hadoop的YARN,微软的PolyBase和Denodo数据虚拟化平台等技术的不断涌现,以及来自Cisco,ThoughtWeb和MarkLogic等公司解决方案的不断提出,将不同系统整合到LDW平台的能力将持续增长。确实,全球数据越来越多,除了从逻辑平台上进行数据虚拟化、分布式处理和数据治理之外,我们还有什么选择呢?


不过,随LDW而来的,是我们不得不解决的问题:如何在适当控制访问的基础上确保数据安全?如何处理远程分析所需的历史数据?如何处理隐私、合规和监管问题?如何处理孤岛之间存在的数据不一致问题?我们是否完全忽视了数据质量?


在解决这些问题之前,LDW可能面临与VDW相同的命运。然而,如果能在不影响性能的前提下很好的解决这些问题,LDW将有望成为企业把控不断涌入的大数据的重要工具。那么,接下来的问题,就是该如何运用好这些送上门来的新信息以发挥更大的作用了。











From ABD-STACK












敏捷大数据求小星星佳文推介 | 逻辑数据仓库-全集数据统一视图之路佳文推介 | 逻辑数据仓库-全集数据统一视图之路啦~


如果您喜欢我们的平台


就请移步到Github


帮我们点一下Star吧~


您的举手之劳对我们的鼓励
















































DBus











https://github.com/BriData/DBus























Wormhole





















https://github.com/edp963/wormhole





















































Moonbox











https://github.com/edp963/moonbox























Davinci





















https://github.com/edp963/davinci
































同时,也欢迎您加入微信群,和技术大神们点对点交流哦~








佳文推介 | 逻辑数据仓库-全集数据统一视图之路






长按添加加群小助手



















































推荐阅读
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • MyBatis错题分析解析及注意事项
    本文对MyBatis的错题进行了分析和解析,同时介绍了使用MyBatis时需要注意的一些事项,如resultMap的使用、SqlSession和SqlSessionFactory的获取方式、动态SQL中的else元素和when元素的使用、resource属性和url属性的配置方式、typeAliases的使用方法等。同时还指出了在属性名与查询字段名不一致时需要使用resultMap进行结果映射,而不能使用resultType。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
author-avatar
viper-zhu_890_552
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有