《数据虚拟化:商务智能系统的数据架构与管理》一 2.10 传统商务智能系统的劣势

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: 本节书摘来自华章出版社《数据虚拟化:商务智能系统的数据架构与管理》一 书中的第2章,第2.10节,作者:[荷]里克 F. 范德兰斯(Rick F. van der Lans),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.10 传统商务智能系统的劣势

基于这一章所阐述的概念,商务智能系统已经发展了很多年。正如预想的一样,这些系统中的大多数都是基于一个链式数据存储和转换过程,此外,很多数据存储还包括衍生数据。图2-15是一个普通的商务智能系统的例子,它基于这样一个包含了数据中转区、ODS、数据仓库、大量的数据集市和一些PDS的结构。在这个系统中,数据从一个存储区被复制到另一个存储区,直到它存储在一个可以被报告工具访问的区为止。因为这些复制,数据仓库、数据集市和PDS中都包含了相当大数目的派生数据。事实上,这样一种结构其内部所有的数据,例如一个数据集市,是由数据仓库衍生而来的。
我们把有这种类型结构的系统叫作传统商务智能系统。如此多的系统以这种模式发展的原因与过去20年中硬件和软件的状况相关。这些技术在性能和扩展性方面有各自的局限性,因此,一方面,报告和分析的工作负担分散在多个数据存储区中,另一方面,转换和清洗不得不分解到众多的步骤中。

screenshot

但是技术与解决方案一如既往,不管被引进的时候多么有价值,它们都有失效日期。就像那些强大的三桅杆船一样,它们在几百年前成功地用来发现了新大陆。不管它们以前如何有影响力,最终还是被轮船取代了。它跟马最终被汽车取代是一个道理,这样的例子还有好多。
传统系统的一些缺陷渐渐明显了。
缺陷1—重复数据:第一个缺陷与系统内存储的大量重复数据相关。大多数数据存储区包括从其他数据存储区派生来的数据。例如,一个数据集市的内容是从数据仓库中派生来的,那么数据集市中的数据100%是冗余的。同样,复制导致PDS中装满冗余的数据。甚至是数据中转区和数据仓库也将会有大量重叠的数据。另外,在一个数据存储区内部,大量的重复数据会被存储。这些重复数据中的大多数存储起来,用于提高查询、报告和ETL脚本的性能,这些重复数据以索引、物化查询表、汇总数据的图表和中转区等方式隐藏。
数据仓库占用了大量的存储空间—事实上,是TB,有时候甚至是PB。但是究竟有多少原始数据呢?基于英国现状的分析师Nigel Pendse做了一项大规模的实验,表明了在最大的商务智能应用中实际可访问的网络数据报告量近似是原始数据中的5GB(见文献[34])。这是数据中的中位数。这个数据听起来是真实的,但是其他很多研究表明数据仓库的平均大小是10TB(或者更多),这两者又是如何匹配的?如果这些都是原始数据,那么根据Pendse的研究,为了得到10TB的数据,2000个不同的且其中没有重复数据元素的商务智能应用将是必须的,这几乎是不可能的。众所周知,数据仓库有时候会包括商务智能应用不能访问到的数据,例如原始细节数据、索引等,但是这还不足以解释它所占用的巨大数据空间的原因。因此,这些数据清楚地说明了大量的重复存储的数据是人们可感知的。
显然,存储这些重复数据是有原因的,这个原因就是性能。为了加速查询,我们需要那些索引、物化查询表、汇总数据的列和派生的数据存储区等。
存储不再是那么昂贵了,那么问题是什么呢?问题就是灵活性。重复数据存储得越多,结构的灵活性就越差。每一个修改都要求对重复数据进行额外的操作。保持重复数据的同步也需要很大的花费。存储重复数据将会导致数据的不一致。通过移除大多数的冗余数据,商务智能系统能够被大大简化。
缺陷2—非共享的元数据规范:传统系统的第二个缺陷可以用非共享的元数据规范来形容。许多报告和分析的工具允许我们使用特定方式,使得报告更加独立于数据资源。例如,在SAP的Business Objects体系的概念中,我们可以定义确定的术语和表格间关系。这对于所有使用这个工具所作的报告来说是完美的,但是如果我们想生成其他的报告,例如用Excel或者用IBM/Cognos的工具,又会是怎样呢?这意味着这些元数据规范必须复制到那些工具中。
总之,很多导入到工具中的规范不是共享的。企业中往往会建立各种各样的环境,在这个环境中,不同的工具用于不同的任务,所以这需要可共享规范的存在。这一不可共享规范的例子与报告和分析工具相关,但是其他的不可共享规范的例子也存在于ETL工具和数据库服务器中。不可共享的元数据规范降低了灵活性,难以管理,将会导致不一致的报告结果。
缺陷3—灵活局限性:关于灵活性的一个重要的弱点。软件工程领域已经教会我们,如果我们设计了一个系统,就需要把内存结构和应用结构分开,因为如果能把它们清晰地分开,存储结构的改变就不会总是需要应用结构的改变,反之亦然。这对于保持性和灵活性都有好处。就像1.5.1节所述的一样,David L. Parnas是首先认识到信息隐藏(别名封装)和抽象化的重要性的人之一。随后,这些概念成为其他概念,诸如面向对象、基于组件的开发、面向服务的体系结构等的基础。
每一个软件工程师都把抽象化和封装视作非常基本的概念,但是似乎商务智能专家不是这样。大多数商务智能系统完全没有基于这两个概念。几乎所有的报告都与一个特别的数据库服务技术相联系。我们来看一个简单的例子:设想我们都使用报告工具,可以写出自己的SQL语句来访问数据库,我们使用所有的所有权的钟声和数据库服务的口哨来获得最佳的性能。如果我们想要用另一个支持略有不同的SQL语言的数据库服务来代替这个数据库服务将会发生什么呢?或者我们想要选择一个基于MDX的数据库服务呢?或者也许我们想要访问一个外部数据库,它不会返回一个表格而是一个XML文件呢?在所有这些可能的情形中,我们需要极大程度地改变报告的定义。
在商务智能系统中采用抽象化和封装的概念,对于提高自身的灵活性、更容易地实现改变和采纳新的工程技术非常重要。
缺陷4—数据质量的下降:当各种相同数据的副本存在时,数据就会有不一致性的风险。换句话说,存储复制数据,正如我们所想的一样,在传统商务智能系统中广泛存在,就包含了数据质量的风险。David Loshin将它规定如下(见文献[35]):
每次复制数据时,它也受限于数据转换的次数,它们都可能会导致数据错误。越后来的副本与原始的数据相差越大。复制的数据只会导致熵和不一致性。
在每一个商务智能系统中,目标之一应当是最小化数据的复制以达到最小化数据质量的风险。
缺陷5—有局限的运营报告支持:另一个与运营报告和分析相关联的缺陷。越来越多的企业对支持这些新的商务智能的挑战形式感兴趣。运营的商务智能系统决定着报告必须包括最新的数据。每天更新一次数据资源对他们来说是不够的。非常接近商务进程的决策者,像运营经理,尤其需要100%全新的数据。但是这如何做到呢?一个人不需要成为技术巫师也可以理解,如果为了从生产数据库中获取资源到报告中,一个数据必须从一个存储区内复制4~5次到达另一个存储区,在几微秒内完成这些工作几乎是不可能的。大多数商务智能系统没有按照运营报告与运营数据相关联的方式来设计。我们不得不简化结构来支持运营的商务智能系统。最根本的是,可以通过移除数据存储区和最少化复制步骤来简化结构。
缺陷6—基于无结构的外部数据的报告支持的局限性:在无结构化的外部的数据的分析和报告上日益增加的兴趣导致了最后一个缺陷。大多数的数据仓库中都装着来自生产数据库中的结构化数据,但是我们很少在里面找到无结构化的外部的数据。为了允许使用新的数据资源报告,许多专家提议用与内部产生数据相同的处理方式来处理这两种数据:如果它是无结构的,则使其结构化并把它复制到数据仓库中,它就可以被分析和报告所使用。换言之,这一提议是基于复制数据。他们想要改造这些数据资源使其适应传统的商务智能结构。
但是为什么不直接分析无结构化数据资源和外部数据资源本身呢?在某种程度上,那是互联网风格的解决方案。如果在互联网上搜索某些东西,我们不会首先将需要的所有的网页都复制到自己的数据库中。不,数据就在它原本的地方。所以,越来越多的文件管理系统将允许我们直接分析他们的数据库,减少了将数据复制到数据仓库中这种需求。不幸的是,许多商务智能工具不支持访问他们的系统。至于外部数据,在互联网上做有关外部数据的商务智能,在今天可以运用混搭的工具以复杂的方式完成(见1.13节)。
注意:我们想强调的是这一节提到的涉及商务智能系统的不足之处,并不是结构本身。例如,很多商务智能系统基于CIF(企业信息工厂)已经得到了发展,其中数据集市用物理的数据存储区来实现。CIF没有控制这些,但是因为软件和硬件技术的可行性,许多企业开始实现这些。数据虚拟化使得虚拟数据集市成为可能(见7.5.2节和7.6.2节)。一个商务智能系统以这种方式发展对于支持CIF仍然是合格的。

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
20天前
|
监控 持续交付 API
深入理解微服务架构:构建高效、可扩展的系统
【10月更文挑战第14天】深入理解微服务架构:构建高效、可扩展的系统
70 0
|
3月前
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
765 3
|
6天前
|
前端开发 安全 关系型数据库
秒合约系统/开发模式规则/技术架构实现
秒合约系统是一种高频交易平台,支持快速交易、双向持仓和高杠杆。系统涵盖用户注册登录、合约创建与编辑、自动执行、状态记录、提醒通知、搜索筛选、安全权限管理等功能。交易规则明确,设有价格限制和强平机制,确保风险可控。技术架构采用高并发后端语言、关系型数据库和前端框架,通过智能合约实现自动化交易,确保安全性和用户体验。
|
14天前
|
存储 数据管理 调度
HarmonyOS架构理解:揭开鸿蒙系统的神秘面纱
【10月更文挑战第21天】华为的鸿蒙系统(HarmonyOS)以其独特的分布式架构备受关注。该架构包括分布式软总线、分布式数据管理和分布式任务调度。分布式软总线实现设备间的无缝连接;分布式数据管理支持跨设备数据共享;分布式任务调度则实现跨设备任务协同。这些特性为开发者提供了强大的工具,助力智能设备的未来发展。
54 1
|
23天前
|
存储 监控 负载均衡
|
1月前
|
传感器 存储 架构师
构建基于 IoT 的废物管理系统:软件架构师指南
构建基于 IoT 的废物管理系统:软件架构师指南
66 9
|
1月前
|
存储 安全 开发工具
百度公共IM系统的Andriod端IM SDK组件架构设计与技术实现
本文主要介绍了百度公共IM系统的Andriod端IM SDK的建设背景、IM SDK主要结构和工作流程以及建设过程遇到的问题和解决方案。
49 3
|
2月前
|
监控 Android开发 iOS开发
深入探索安卓与iOS的系统架构差异:理解两大移动平台的技术根基在移动技术日新月异的今天,安卓和iOS作为市场上最为流行的两个操作系统,各自拥有独特的技术特性和庞大的用户基础。本文将深入探讨这两个平台的系统架构差异,揭示它们如何支撑起各自的生态系统,并影响着全球数亿用户的使用体验。
本文通过对比分析安卓和iOS的系统架构,揭示了这两个平台在设计理念、安全性、用户体验和技术生态上的根本区别。不同于常规的技术综述,本文以深入浅出的方式,带领读者理解这些差异是如何影响应用开发、用户选择和市场趋势的。通过梳理历史脉络和未来展望,本文旨在为开发者、用户以及行业分析师提供有价值的见解,帮助大家更好地把握移动技术发展的脉络。
80 6
|
2月前
|
网络协议 安全 中间件
系统架构设计师【第2章】: 计算机系统基础知识 (核心总结)
本文全面介绍了计算机系统及其相关技术,涵盖计算机系统概述、硬件、软件等内容。计算机系统由硬件(如处理器、存储器、输入输出设备)和软件(系统软件、应用软件)组成,旨在高效处理和管理数据。硬件核心为处理器,历经从4位到64位的发展,软件则分为系统软件和应用软件,满足不同需求。此外,深入探讨了计算机网络、嵌入式系统、多媒体技术、系统工程及性能评估等多个领域,强调了各组件和技术在现代信息技术中的重要作用与应用。
68 4
|
2月前
|
缓存 运维 NoSQL
二级缓存架构极致提升系统性能
本文详细阐述了如何通过二级缓存架构设计提升高并发下的系统性能。
119 12