• 数据仓库即服务概述


    Abstract of Data Warehouse as a Service(DWaaS)

    xxcj, xxcj-sh@outlook.com

    Shanghai, 2022-06-24

    前言

    数据仓库是一种面向商务智能活动的数据管理系统。传统上数据仓库应该具有以下特点[1,2]:

    • 面向主题:数据仓库可以高效分析关于特定主题或职能领域(例如销售、生产)的数据。
    • 集成:数据仓库可在不同来源的不同数据类型之间建立一致性。
    • 相对稳定:进入数据仓库后,数据将保持稳定,不会发生改变。
    • 反映历史变化:数据仓库分析着眼于反映历史变化。

    如果将数据仓库视为一种服务,它应该包含多个方面的具体内容,同时具备一些特点。本文参考 Google 的 Site Reliability Engineering[6],通过阐述数据仓库服务的服务目标 (SLO),初步定义了数据仓库即服务(Data Warehouse as a Service)这一概念,并举例介绍了为达到不同目标可以采取的服务评估和改善措施。

    数据仓库服务目标

    数据仓库服务的价值在于提升商务智能中数据获取和分析的效率。好的数据仓库服务应该能让用户能快速检索到所需数据,让用户能清晰理解数据的业务逻辑和正确的使用方法,保障数据的准确性和产出时效能满足用户需求。围绕着上述目标,数据仓库团队需要在资源受限,外部环境不确定的情况下,设计易用、高效的数据模型,提高数据的检索和查询效率,并保障相关数据能准确及时地产出。综上所述,数据仓库服务应关注数据的易用性、完备性、准确性和时效性,也可以从这四个维度评价数据仓库的服务水平。

    数据的易用性:指用户在数据仓库中检索、理解和获取数据时的效率,管理良好的数据仓库中的数据应该是易于检索和理解的。为了提高数据的易用性,可以使用更加规范的字段命名和字段描述。举例来说,如果要记录一个商场的每日销售额时,不仅仅要注明销售数字,也要备注数据的单位。相比“销售额”三个字,“商场单日销售额”更能帮助用户理解这一指标含义,从而与“某商品单日销售额”、“商场季度销售额”进行区分。

    数据的完备性:指数据仓库对于业务数据的覆盖程度。未保存在数据仓库中的数据难以用于商务智能场景下的数据分析。在实际工作中,数据仓库的用户最先提出的问题往往也是“数据仓库中有没有某某数据”。

    数据的准确性:指数据与业务真实情况接近程度。一般来说,数据统计和测量误差的广泛存在会影响数据的准确性。在假设接入数据准确可靠的前提下,数据仓库可以通过过滤处理脏数据、谨慎实现计算关联逻辑等措施提高数据的准确性。

    数据的时效性:指数据的产出时间和相关事件发生事件之间的间隔。数据的时效性可能会受网络传输、计算存储资源等因素的影响。在网络数据传输延迟不可控的条件下,过高地追求数据的时效性会影响数据的准确性。举例来说,用户使用微信发送消息时,可能因为丢失网络信号而导致失败,网络信号可能在一分钟或者一天之后恢复。如果要统计每日发送消息数时,就需要考虑这种情况带来的数据传输延迟。具体实践场景中,为了保证数据的准确性和时效性,可以分析数据传输延迟的分布,如果绝大多数消息的传输延迟可能在 1 小时以内,可以在一天结束后额外多收集一个小时的数据,最后根据收集到的消息发送时间来统计每日发送消息数。

    数据的准确性可以借助样本检测和交叉比对等举措进行评估,数据的时效性可以通过记录数据发送时间和接收时间之间的差异来量化。数据的易用性和完备性与用户体验相关,一般需要借助用户打分来进行评估。

    提高数据仓库服务水平的具体方法

    数据建模[3]

    合理的数据建模方法可以显著提高数据的易用性,同时也有助于提高数据的准确性和时效性。数据建模可以根据数据的业务含义和使用场景,将通用业务知识和计算包括在数据的字段和表命名之中。例如可以用统一的规则来命名含义相似的维度属性或指标,从而降低理解成本;在数据仓库中完成必要的脏数据过滤和数据去重操作,可以避免多个用户花费时间精力做重复的处理,可以提高数据分析效率。同时合理的数据建模也可以避免相似的数据重复存储,可以在一定程度上降低存储成本。

    元数据管理系统

    为了提升数据的易用性,应该设计开发元数据管理工具,实现对于数据表和字段的高效检索,识别并记录不同数据之间的依赖关系。元数据管理系统也可用于清除无用数据,提高存储资源和计算资源的利用率。

    作业基线监控系统

    基线监控[4,5]有助于提高数据的时效性。基线监控通过监控分析数据生产链路上不同作业的工作状态和运行时间,可以提前发现运转缓慢的任务并进行干预。

    数据质量监控系统

    数据质量监控系统可以提高数据仓库的数据准确性。数据质量监控系统通过探测单个数据模型中的异常数据,比对不同模型之间的数据差异,可以及时发现异常的记录或者数据趋势并及时干预。

    参考资料

    [1] 数据仓库是什么[DB/OL]. 2022-06-24. www.oracle.com/cn/database/what-is-a-data-warehouse/

    [2] Inmon W H . Building the Data Warehouse, 4th Edition[J]. 2005

    [3] RalphKimball, MargyRoss. 数据仓库工具箱:维度建模的完全指南[M]. 电子工业出版社, 2003.

    [4] 基线监控:基于依赖关系的全链路智能监控报警[DB/OL]. 2022-06-24. blog.csdn.net/m0_60025795/article/details/124969981

    [5] 基线管理 - 大数据开发治理平台 DataWorks - 阿里云[DB/OL]. 2022-06-24. help.aliyun.com/document_detail/138170.html

    [6] Beyer B , Jones C , Petoff J , et al. Site Reliability Engineering: How Google Runs Production Systems[J]. O’Reilly Media, Inc. 2016.

  • 相关阅读:
    Linux内核性能剖析的方法学和主要工具
    设计模式:观察者模式
    Servlet 学习笔记3
    高等教育学:高等教育与高等教育学
    Ubuntu-22.04通过RDP协议连接远程桌面
    LeetCode【46】全排列
    RocketMQ为什么这么快?我从源码中扒出了10大原因!
    Numpy字符串数组总结
    小谈设计模式(23)—桥接模式
    蓝桥杯双周赛算法心得——铺地板(质因数)
  • 原文地址:https://blog.csdn.net/landstream/article/details/125449864