3、数据仓库的深入剖析与应用

数据仓库的深入剖析与应用

1. 为何不直接查询源系统

在进行数据查询时,有人会疑惑:为何要将数据从源系统导入数据仓库(DDS)再进行查询,而不直接查询源系统呢?

1.1 源系统特性

源系统通常是事务性系统,供众多用户使用。事务性系统的重要特性是能让多个用户同时进行更新和查询操作,这就要求它在短时间内执行大量数据库事务(如更新、插入、删除和查询),即具备快速处理数据库事务的能力。为实现这一点,事务系统遵循去除数据冗余的基本原则。因为若同一数据存于系统多处,更新和维护数据一致性会耗时较长;而仅存于一处则可快速更新数据,且无需担忧不同位置间的数据一致性问题,同时也便于维护并发和锁定机制,让多人能在同一数据库协同工作。

1.2 查询性能差异

在规范化数据库(如事务性系统)上执行复杂查询,比在非规范化数据库(如数据仓库)上执行要慢。因为规范化数据库需要连接多个表,且不适合将数据加载到多维数据库进行切片分析。多维数据库由包含多个维度单元格的立方体组成,每个单元格映射到每个维度的一个成员。从规范化数据库加载多维数据库,需进行多连接查询将数据转换为维度格式,虽可实现但速度较慢。

1.3 数据完整性

公司可能有多个源系统或前台事务系统,直接查询源系统只能获取部分数据,而数据仓库整合了多个源系统的数据,查询数据仓库可获得整合后的数据。

2. 商业智能

商业智能是通过对公司数据和第三方外部数据进行各类分析,以理解业务状况,辅助制定战略、战术和运营业务决策,并采取必要行动提升业务绩效的一系列活动。其涵盖收集、分析、理解和管理运营绩效、客户与供应商活动、财务绩效、市场动态、竞争、法规合规性和质量控制等方面的数据。

2.1 商业智能示例

  • 业务绩效管理 :生成关键绩效指标,如各地区、产品线和时间段的每日销售额、资源利用率和主要运营成本及其汇总数据,助力人们采取战术行动使运营绩效达预期。
  • 客户盈利能力分析 :明确哪些客户盈利值得保留,哪些亏损需采取措施。关键在于尽可能准确地将成本分配到最小业务交易单位,类似于基于活动的成本核算。
  • 统计分析 :如购买可能性或购物篮分析。购物篮分析是分析销售数据,确定哪些产品可能一起被购买或订购,其可能性用支持度和置信度等统计指标表示,主要适用于零售和制造业,在金融服务业也有一定应用。
  • 预测分析 :预测销售、收入和成本数据,用于规划下一年度预算,并考虑有机增长、经济形势和公司未来方向等因素。

2.2 商业智能活动分类

根据分析深度和复杂程度,商业智能活动可分为以下三类:
| 类别 | 描述 |
| ---- | ---- |
| 报告 | 如关键绩效指标、按业务部门和服务代码统计的全球销售数据、全球客户账户、综合交付状态以及不同国家各分支机构的资源利用率等。 |
| OLAP(在线分析处理) | 包括聚合、钻取、切片和切块、跨钻等操作。 |
| 数据挖掘 | 如数据特征化、数据区分、关联分析、分类、聚类、预测、趋势分析、偏差分析和相似性分析等。 |

2.3 报告

在数据仓库环境中,报告是从数据仓库检索数据并将其呈现给用户(屏幕显示或打印)的程序。用户可订阅报告,使其按特定时间(如每日或每周)或事件自动通过电子邮件发送。报告依据功能规范构建,展示业务用户分析和理解业务状况所需的 DDS 数据。常见形式为包含简单列的表格,还有交叉表或矩阵形式,类似 Excel 数据透视表,一个数据属性为行,另一个为列,每个单元格包含对应行和列属性的值。数据仓库报告不仅用于向用户展示业务数据,还用于数据仓库管理,如监控数据质量、数据仓库应用程序使用情况和 ETL 活动。

2.4 OLAP(在线分析处理)

OLAP 是交互式分析存储在维度数据仓库中的业务交易数据,以制定战术和战略业务决策的活动。从事 OLAP 工作的典型人员有业务分析师、业务经理和高管。其典型功能包括聚合(求和)、钻取(获取详细信息)和切片切块(切割立方体并汇总单元格值)。OLAP 功能可通过关系数据库或多维数据库实现,使用关系数据库的称为关系型在线分析处理(ROLAP),使用多维数据库的称为多维在线分析处理(MOLAP)。例如,通过测量特定时期内的销售增长来分析营销活动对某些产品的有效性;分析同一时期内价格上涨对不同地区和产品组产品销售的影响。

2.5 数据挖掘

数据挖掘是探索数据以发现描述数据的模式和关系,并预测数据未知或未来值的过程。其关键价值在于理解过去某些事情发生的原因并预测未来。用于解释当前或过去情况时称为描述性分析,用于预测未来时称为预测性分析。在商业智能中,数据挖掘的常见应用包括信用卡行业的欺诈检测、金融领域的预测和预算编制、电信行业通过分析通话模式开发移动套餐、零售行业的购物篮分析、保险行业的客户风险评估、能源和公用事业的使用监测以及制造业的机器维修时间预测等。

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(商业智能):::process --> B(报告):::process
    A --> C(OLAP):::process
    A --> D(数据挖掘):::process
    B --> B1(关键绩效指标):::process
    B --> B2(全球销售数据):::process
    B --> B3(客户账户):::process
    C --> C1(聚合):::process
    C --> C2(钻取):::process
    C --> C3(切片切块):::process
    D --> D1(数据特征化):::process
    D --> D2(关联分析):::process
    D --> D3(预测):::process

3. 其他分析活动

3.1 非商业用途

数据仓库除用于商业智能外,还用于非商业分析活动,如科学研究、政府部门(统计局、气象局、经济分析和预测)、军事情报、应急和灾害管理、慈善组织、服务器性能监测和网络流量分析等。

3.2 客户关系管理(CRM)

CRM 是组织(商业和非商业)为管理和分析客户、与客户保持联系和沟通、吸引和赢得新客户、向客户营销产品和服务、与客户进行交易(商业和非商业交易)、为客户提供服务和支持以及为客户创造新想法和新产品或服务而开展的一系列活动。

3.3 网络分析

网络分析是了解网站流量行为和特征的活动,包括统计每天/每周/每月各页面的访问次数、访客数量和唯一访客数量、推荐网站、访客在网站内的典型路径、访客浏览器技术特征、域名和地理分析、访问的机器人类型、各页面退出率以及结账过程的转化率等,对在线业务尤为重要。

4. 批量更新

4.1 只读系统

数据仓库通常是只读系统,用户无法更新或删除其中的数据。数据仓库数据通过名为 ETL 的标准机制,在特定时间从运营源系统导入进行更新,这与用户可随时更新的事务性系统或 OLTP 不同。

4.2 数据一致性

不允许用户更新或删除数据仓库中的数据,是为维护数据一致性,确保数据仓库中的数据与运营源系统一致。例如,数据仓库从系统 A 和系统 B 获取数据,系统 A 有 1100 万客户,系统 B 有 800 万客户,其中 200 万客户在两个系统中都存在,数据仓库将包含 1700 万客户。若用户更新数据仓库(如删除 100 万客户),则与源系统不一致,且下次 ETL 更新时,用户在仓库中所做更改将被覆盖。

4.3 数据稳定性

数据仓库采用批量更新而非实时更新,是为创建数据稳定性。运营源系统时刻在变化,若允许源系统实时更新数据仓库或用户随时更新,数据不断变化会使分析变得困难。例如,在包含犯罪数据的多维立方体上进行钻取操作,不同时间可能得到不一致结果。

4.4 源系统性能

实时更新数据仓库意味着源系统更新时立即更新数据仓库,可通过在源系统每个表安装数据库触发器或修改源系统应用程序,使其在写入源系统数据库后立即写入数据仓库来实现。但对于大型源系统且需从多个表提取数据时,这两种方法都会显著影响源系统应用程序性能。一种实用方法是仅对少数关键表进行实时更新,其他表按正常每日批量更新。

4.5 实时数据仓库趋势

近年来,实时数据仓库成为趋势甚至常态。过去每日运行一次的 ETL 批次,现在有的每小时运行一次,有的每五分钟运行一次(称为小批次)。部分采用推送方式,即源系统数据变化时立即将数据推送到仓库,通过数据库触发器检测源系统变化;部分采用拉取方式,按特定间隔更新数据仓库,通过时间戳或标识列检测源系统变化以进行提取。还有些方法使用消息传递和消息队列技术,将数据从各源系统异步传输到数据仓库。消息传递是将数据封装在包含控制位的信封中,通过网络发送到消息队列的传输机制。消息队列是对消息进行排队,按顺序系统处理的系统。应用程序将包含数据的消息发送到消息队列,另一个应用程序读取并移除消息。使用异步 ETL 时需注意不同数据到达时间不同且不知彼此到达状态的问题。使用消息队列进行 ETL 的好处是源系统可在数据仓库未在线接收时发送数据,且源系统只需向消息队列发送一次数据即可保证数据一致性,多个接收者可从消息队列读取相同消息。

5. 数据仓库定义

5.1 经典定义

  • Bill Inmon :数据仓库是面向主题、集成、非易失且随时间变化的数据集合,支持管理层决策。
  • Ralph Kimball :数据仓库是提取、清理、规范并将源数据交付到维度数据存储,然后支持和实现查询与分析以用于决策的系统。

二者都认同数据仓库整合多个运营源系统的数据。Inmon 的方法中,数据仓库物理上实现为规范化数据存储;Kimball 的方法中,实现为维度数据存储。从查询和分析数据角度看,维度数据存储比规范化数据存储更适合存储仓库数据;而规范化数据存储更适合整合多个源系统的数据。

5.2 现代应用拓展

早期数据仓库主要用于制定战略管理决策,近年来,特别是实时数据仓库出现后,也用于运营目的。如今,数据仓库还用于决策之外的场景,如理解特定情况、报告、数据集成和 CRM 操作等。Alan Simon 给出的定义为:将数据从各种来源协调、架构化并定期复制到为分析和信息处理优化的环境中。

6. 当今数据仓库应用

如今,多数数据仓库用于商业智能以增强 CRM 和数据挖掘,部分用于报告和数据集成。这些用途相互关联,如商业智能和 CRM 使用数据挖掘,商业智能使用报告,BI 和 CRM 也使用数据集成。

6.1 商业智能的核心地位

众多供应商更倾向使用商业智能而非数据仓库这一术语,他们更关注数据仓库能为企业带来的价值。如今许多数据仓库用于商业智能,目的是帮助业务用户更好理解业务、做出更优运营、战术和战略业务决策并提升业务绩效。许多公司构建商业智能系统,辅助理解业务流程、做出更好决策(通过更好利用信息和基于数据的决策)以及提升业务绩效(即更科学、更多信息地管理业务)。这些系统帮助业务用户从大量业务数据中获取信息,理解业务数据模式并通过数据挖掘预测未来行为。数据挖掘能让企业发现数据中的特定模式并预测数据未来值。商业智能几乎触及业务运营的各个方面,如呼叫中心、供应链、客户分析、财务和劳动力,涵盖分析、报告、警报、查询、仪表盘和数据集成等功能。如今许多企业领导者基于数据做决策,运行在数据仓库之上的商业智能工具是宝贵的支持工具。

6.2 客户关系管理(CRM)与数据仓库

数据仓库在 CRM 中扮演着至关重要的角色。以下是数据仓库支持 CRM 活动的详细操作流程:
1. 数据整合
- 从不同的数据源收集客户数据,如销售系统、客服系统、市场活动记录等。
- 通过 ETL 过程,将这些数据进行清理、转换和加载到数据仓库中,确保数据的一致性和准确性。
2. 客户分析
- 利用数据仓库中的数据,进行客户细分,例如根据客户的购买频率、消费金额、地域等因素将客户分为不同的群体。
- 分析客户的行为模式,如购买偏好、浏览历史等,以便为客户提供个性化的服务和营销活动。
3. 营销活动支持
- 根据客户分析的结果,制定针对性的营销活动,如发送个性化的邮件、推送定制化的广告等。
- 通过数据仓库监控营销活动的效果,评估活动的投资回报率,以便对后续的营销活动进行优化。
4. 客户服务优化
- 数据仓库可以提供客户的历史服务记录,客服人员可以根据这些记录为客户提供更高效、更贴心的服务。
- 分析客户的投诉和反馈数据,找出服务中存在的问题,及时进行改进。

6.3 数据挖掘的应用

数据挖掘在当今数据仓库应用中具有重要地位,以下是一些具体的应用场景和操作步骤:
| 应用场景 | 操作步骤 |
| ---- | ---- |
| 欺诈检测(信用卡行业) | 1. 收集大量的信用卡交易数据,包括交易时间、金额、地点等信息。
2. 使用数据挖掘算法,如聚类分析、异常检测等,识别出可能的欺诈交易模式。
3. 建立欺诈预警模型,当出现符合欺诈模式的交易时,及时发出警报。 |
| 预测和预算编制(金融领域) | 1. 整合历史财务数据,如收入、成本、利润等。
2. 运用时间序列分析、回归分析等算法,预测未来的财务指标。
3. 根据预测结果,制定合理的预算计划。 |
| 购物篮分析(零售行业) | 1. 提取销售数据,记录每个订单中包含的商品信息。
2. 使用关联规则挖掘算法,找出经常一起购买的商品组合。
3. 根据分析结果,进行商品陈列优化、促销活动策划等。 |

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(数据仓库应用):::process --> B(商业智能):::process
    A --> C(CRM):::process
    A --> D(数据挖掘):::process
    B --> B1(业务决策支持):::process
    B --> B2(绩效提升):::process
    C --> C1(客户分析):::process
    C --> C2(营销活动):::process
    D --> D1(欺诈检测):::process
    D --> D2(预测预算):::process
    D --> D3(购物篮分析):::process

7. 数据仓库的未来发展趋势

7.1 实时性增强

随着业务需求的不断变化,对数据实时性的要求越来越高。未来的数据仓库将更加注重实时数据的处理和分析,实现数据的实时更新和查询。例如,金融行业需要实时监控市场行情,及时做出投资决策;电商行业需要实时了解用户的购买行为,提供个性化的推荐。为了实现实时性,数据仓库将采用更先进的技术,如内存数据库、流式计算等。

7.2 与人工智能的融合

人工智能技术的发展为数据仓库带来了新的机遇。未来的数据仓库将与人工智能深度融合,利用机器学习、深度学习等算法,自动发现数据中的模式和规律,进行更精准的预测和决策。例如,通过机器学习算法对客户数据进行分析,预测客户的流失率,提前采取措施进行挽留;利用深度学习算法对图像、文本等非结构化数据进行处理,挖掘其中的有价值信息。

7.3 云化部署

云服务的普及使得数据仓库的部署更加便捷和灵活。未来,越来越多的数据仓库将采用云化部署的方式,利用云计算的弹性和扩展性,降低企业的硬件成本和维护成本。云数据仓库还可以提供更强大的计算能力和存储能力,满足企业不断增长的数据需求。同时,云数据仓库还支持多租户模式,方便企业之间的数据共享和合作。

7.4 数据安全与隐私保护

随着数据泄露事件的频繁发生,数据安全和隐私保护成为了数据仓库发展的重要关注点。未来的数据仓库将加强数据安全技术的应用,如数据加密、访问控制、审计跟踪等,确保数据的安全性和保密性。同时,数据仓库还将遵守相关的法律法规,如 GDPR 等,保护用户的隐私权益。

8. 总结与建议

8.1 数据仓库的重要性总结

数据仓库在当今企业中具有不可替代的重要作用。它整合了多个源系统的数据,为企业提供了全面、准确的信息支持。通过商业智能、CRM 和数据挖掘等应用,数据仓库帮助企业更好地理解业务、做出科学决策、提升业务绩效。同时,数据仓库还在非商业领域发挥着重要作用,如科学研究、政府部门等。

8.2 企业实施数据仓库的建议

  • 明确目标 :在实施数据仓库之前,企业需要明确自己的目标和需求,确定数据仓库的应用场景和功能。例如,是用于商业智能分析、CRM 管理还是数据挖掘等。
  • 选择合适的技术架构 :根据企业的实际情况和需求,选择合适的数据仓库技术架构。例如,是采用 Inmon 的规范化数据存储架构还是 Kimball 的维度数据存储架构。
  • 注重数据质量 :数据质量是数据仓库的生命线,企业需要建立完善的数据质量管理体系,确保数据的准确性、一致性和完整性。
  • 培养专业人才 :数据仓库的实施和管理需要专业的人才,企业需要培养或引进相关的技术人才,提高企业的数据管理和分析能力。
  • 持续优化和改进 :数据仓库是一个不断发展和完善的系统,企业需要持续对数据仓库进行优化和改进,以适应业务的不断变化和发展。

总之,数据仓库作为企业数据管理和分析的重要工具,将在未来的企业发展中发挥更加重要的作用。企业需要充分认识到数据仓库的重要性,积极采取措施实施和应用数据仓库,以提升企业的竞争力和创新能力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值