数据分层:打造数据资产管家

一、引言

随着企业数据规模的增长,数据的价值变得越来越重要。然而,传统的数据库在承载大量数据时面临挑战,需要高效有序的维护。因此,建立高效的数据仓库成为了企业决策和管理的基石,但现代技术的背景下,数据管理和保护仍然存在着重要挑战。

为了解决这些挑战,数据分层成为了数仓建设中不可或缺的步骤之一。通过对数据的分层整理,不同的数据可以被合理地分类,方便企业快速进行数据分析和决策。

在实际应用中,数据分层需要进行灵活而有效的规划和设计,并结合相关的技术和工具进行管理和监控。只有这样,企业才能提高决策和管理的效率,增强市场竞争力。

二、了解数据分层

什么是数据分层

数据分层是一种管理海量数据的方法。因为数据通常会包括许多不同的来源,而这些来源往往也会以不同的方式存储和处理数据。这就是为什么需要使用数据分层。通过将数据分级存储、加工和管理,可以更好地维护数据一致性、数据安全和数据复用。

121.png

数据分层前后对比

为什么需要使用数据分层

如果把数据看作图书馆里的书,我们希望看到它们在书架上分门别类地放置;如果把数据看作城市的建筑,我们希望城市规划布局合理;如果把数据看作电脑文件和文件夹,我们希望按照自己的习惯有很好的文件夹组织方式,而不是糟糕混乱的桌面,经常为找一个文件而不知所措。

简单来说,数据分层是将现实世界中收集到的有效信息,按照其特点和用途进行分类和组织,从而更加合理地表现数据的价值。数据分层解决了数据管理中的各种挑战和问题,并满足了以下几个方面的需求:

  1. 数据量和质量——提高数据管理效率和准确性

  • 随着企业数据不断增长,数据量庞大且多样化,数据质量也面临挑战。
  • 数据分层可以对不同的数据类别进行基本的数据清洗和整理,从而提高数据的质量和可信度。
  • 常见的数据类别包括:
    1. 数值型数据(如销售额、成本等)
    2. 文本型数据(如文件、文档等)
    3. 图像型数据
    4. 视频型数据
    5. 音频型数据
  1. 数据来源和结构——促进数据集成和共享

  • 不同数据源和系统中的数据结构和格式差异巨大,使得数据之间无法直接进行比较和集成。
  • 数据分层通过对不同的数据类别进行转换、整合和标准化,以实现数据的一致性和互操作性。
  • 常见的数据类别包括:
    1. 结构化数据(如关系型数据库中的表格数据)
    2. 半结构化数据(如JSON、XML等非严格格式化数据)
    3. 非结构化数据(如文本、日志等无固定格式的数据)
  1. 数据定位和权限控制——加强数据安全和合规性

  • 随着多个部门和用户共享数据的需求增加,需要确保数据的定位清晰且能够进行精确的权限控制。
  • 数据分层可以明确每个数据类别的归属和访问权限,保障数据的安全性和隐私保护。
  • 常见的数据类别包括:
    1. 个人身份数据(如个人身份证号码、手机号码等)
    2. 机密数据(如公司财务数据、合同等)
    3. 敏感数据(如用户的健康状况、信用卡信息等)
  1. 数据处理流程和效率——增强数据价值和应用

  • 数据处理过程中不合理的流程和冗余操作可能导致数据的重复和浪费。
  • 数据分层可以建立规范和优化的数据处理流程,以提高数据处理的效率和准确性。
  • 常见的数据类别包括:
    1. 处理过程中生成的临时数据
    2. 派生数据(如计算指标和数据挖掘结果)
    3. 集成数据(如数据仓库中的整合数据)
  1. 数据归档和压缩——降低数据管理和使用成本

  • 通过对数据进行归档和压缩,可以减少存储空间的占用。
  • 根据数据的使用频率和价值,将不常访问的数据归档到较廉价但仍可靠的存储介质中,从而释放出更多高速和高成本存储设备的存储空间。
  • 常见的数据类别包括:
    1. 历史数据(如过去几年的销售订单数据)
    2. 备份数据(如系统的数据库备份)
    3. 归档数据(如长期存储的审计日志)

三、数据分层的逻辑

数据有哪些分层

了解了数据分层的一些优势,大家可能就有疑问了。我们如何进行数据分层呢?大概需要分几层呢?

其实这个问题需要根据实际的业务状况以及需要处理的数据体量来进行划分,介绍分层之前,咱们先来了解下会有哪些分层,每层的作用和目的是啥。

13.jpeg

如何进行数据分层

下面以一个互联网在线学习平台为例:

如果想要从学生、教师和课程等不同维度进行深入的数据分析和挖掘,则单一的数据源无法满足这一需求,必须进行数据分层,将数据按照不同的层次进行清洗和整合,并与不同维度的数据进行连接和关联。如果不进行数据分层的处理,数据的管理和维护将变得非常困难,同时也会导致数据的准确性和可靠性受到影响。

此外,如果各个业务之间的数据交互和处理没有进行优化和规划,数据处理在不同业务之间的流转和传递就会变得十分复杂,这对平台的运营效率和效果产生不良影响。同时无法为用户提供更好的个性化服务,因为个性化服务需要对用户的属性、偏好和需求进行深入的了解和分析。

因此,数据分层处理对于在线学习平台的优化是十分必要的:

15.png

从这个案例可以分析出,通过数据分层设计带来如下价值:

  • 更准确的数据收集和管理:通过ODS层的操作数据层,平台可以对学生和教师的注册信息、学习行为数据进行更准确地收集和管理,保证数据的真实可靠性。
  • 更深入的数据分析:借助DWD层的数据仓库明细层,平台可以深入分析学生的学习行为,如观看视频的时长、做题的次数等。同时,通过课程维度表的建立,也可对课程信息进行更详尽的分析。
  • 更全面的数据汇总:在DWS层的数据仓库汇总层中,平台可以对学生的学习行为和成绩情况进行详细汇总、分析和展示,同时可以综合考虑课程信息,制作出更详尽的报告。这样做可以方便平台进行更全面的数据分析和统计,也可为教师和学生提供更有效的反馈和建议。
  • 更灵活的数据维护:在DIM层的维度数据层中,平台可以对学生、教师和课程等属性信息进行维护和管理,方便后续数据分析和应用。同时,这些维度表也可以根据实际需求不断调整和扩展,增强平台的数据分析和应用能力。
  • 更精准的数据应用:在ADS层的应用数据层中,平台可以根据学生和教师的数据情况,进行更精准的教学评估、学习进度分析和课程推荐等功能。这样,平台可以为教师和学生提供更精准、个性化的服务,提高用户体验和平台价值。

数据分层的优势

由上述案例可见,数据仓库的分层设计具有诸多价值,能够提升数据管理效率、简化复杂问题处理、提高数据复用能力,并为平台提供规范化的数据管理和分析支持:

  • 提供方便使用的数据结构: 通过规范化的数据分层设计,使得学生、教师和课程等不同维度的数据能够被清晰地定位和理解,方便使用方进行数据分析和挖掘。
  • 追溯数据源头:分层后的数据血缘关系清晰明确,能够快速准确地追踪数据的来源,帮助用户了解数据的可靠性和可信度。
  • 提高数据的维护效率:通过数据分层的规范化设计,可以减少数据开发的工作量,节约计算和存储资源的使用,同时方便维护人员进行数据管理和维护操作。
  • 简化复杂问题的处理:将复杂的业务问题划分为多个步骤,并在每一层只处理单一的步骤,有助于提高问题的可控性和可理解性。当数据出现问题时,只需要修复有问题的部分,而不需要对所有数据进行修复。
  • 提升数据的复用能力:通过规范化的数据分层设计,可以开发一些通用的中间层数据,减少重复计算,提高业务表的使用率,从而提升系统的执行效率。
  • 减少业务变化的影响:由于业务可能会经常变化,通过数据分层设计,无需每次业务变化都重新接入数据,降低了对业务的影响和改动的成本。
  • 统一数据指标口径:通过数据分层设计,提供统一的数据出口和对外输出的数据指标口径,保证数据的一致性和统一性,为平台提供规范化的数据管理和分析支持。

四、得物数据分层的案例介绍

背景

为了帮助公司了解员工对公司目标、文化、薪酬福利、职业发展、工作环境等方面的满意度和需求,有助于识别问题、改善环境、增加团队凝聚力,从而提高员工的工作效率和工作满意度。得物每年会进行两次全司的员工满意度调研,从中挖掘出有价值的指标,以便更好地了解员工需求并制定相应的改进计划。

数据分析痛点

员工满意度数据分析中,存在以下痛点需注意:

  • 业务逻辑复杂:为维护员工隐私,指标的计算需要满足填答人数必须大于3才能出统计数据。这一规则的设计,增加了数据处理的难度,提高数据出错的风险。
  • 复杂的统计维度和指标:统计维度多样化,包括性别、年龄、司龄、岗位、职级等等,这也给数据的处理和分析增加了难度。
  • 业务变更频繁:员工满意度调查问卷在不同周期会增加、删除、变更题目。这也增加了数据处理和维护的难度和工作量。

设计数据分层

为了解决上述痛点和需求,我们决定设计数据分层。通过将数据划分为不同层次,将数据处理、分析和服务化的流程分解成多个独立部分,从而最大限度地提高数据分析处理的效率和安全性。

数据分层不仅实现了数据的可视化维护和服务化,还为数据加工、应用和管理提供了更加清晰和规范化的指导方针,从而助力业务的发展和优化。

操作数据存储层ODS

ODS层的设计目标是捕获和保存原始数据,以便后续的数据清洗、整合和转换。在这一层,数据通常以源系统的格式保存,保留了数据的完整性和粒度,并提供了适当的数据结构和字段以支持后续的转换处理。

67.jpeg

明细数据层DWD

DWD层的设计目标是提供清洗、结构化和可查询的明细数据,以满足企业不同业务需求和分析要求。在DWD层,数据已经经过了一系列的清洗和转换过程,包括校验、敏感数据加密、去重、标准化、格式化和结构调整等,以确保数据的准确性、完整性和一致性。

65.jpeg

汇总数据层DWS

DWD层的数据分散且过于细节化,难以支持更高层次的分析和决策。此时就需要使用DWS层对DWD层的数据进行汇总和聚合,以得到更高层次的数据信息。从而提供大量的元数据、预先计算的指标和快速数据查询等功能。

DWS层的数据通常具有更高的抽象层次,可以根据不同的业务需要进行不同的聚合方式,比如按照性别、年龄、司龄等粒度提供满意度指标1,满意度指标2等汇总指标。

98.jpeg

维度层DIM

DIM层可以看作是用来对数据进行分类、分组和筛选的“标签”。它通常是一些描述性的属性或特征,对数据进行了翻译和转换。

例如,对于系统满意度事实表,可以将维度层分为系统安全、系统性能、系统体验、系统稳定性等属性信息,这些属性可以对满意度调研数据进行分类、分组和筛选,帮助系统负责人更好地优化产品和服务。

90.jpeg

数据应用层ADS

ADS是数据仓库中最接近用户和应用系统的一层,也是企业数据分析和应用的重要来源和基础。它的主要作用是将数据仓库中的数据用于企业的业务运营、决策分析、客户服务等方面,为用户和应用系统提供便利的数据访问和操作接口。

在设计和实施数据应用层ADS时,需要考虑以下因素:

  • 数据质量:数据应用层的数据质量直接影响企业的业务应用效果和决策分析结果。因此,在实施数据应用层时需要严格控制数据质量,保证数据的准确性、完整性和一致性。
  • 安全性:数据在应用层的使用涉及到企业的核心业务和敏感数据,因此,在设计和实施数据应用层时需要考虑数据安全的问题,采取一定的安全措施和技术手段,例如数据加密、权限控制等,确保数据安全和保密。
  • 可维护性:数据应用层是企业应用的基础,其稳定性和可维护性对企业长期发展至关重要。因此,在实施和应用数据应用层时需要考虑系统的可靠性、可扩展性和可维护性,例如数据备份、故障恢复、日志记录等。

09.jpeg

总结

在这个案例中,我们遇到了许多困难,如数据权限限制、业务逻辑复杂、统计维度多样、业务变更频繁等,这些困难给数据的处理和分析带来了很大的难度和不便。

由于数据的分析是一个复杂的过程,可以采用数据分层的方法来解决这些问题。数据分层将数据处理、分析和服务化的流程分解成多个独立部分,从而最大限度地提高数据分析处理的效率和安全性。通过将数据划分为不同层次,数据分层实现了数据的可视化维护和服务化,为数据加工、应用和管理提供了更加清晰和规范化的指导方针,从而助力业务的发展和优化。

五、写在末尾

数据分层带来的一些问题

虽然数据分层设计带来了许多优点和价值,但也存在一些缺点。其中,主要包括以下几点:

  • 复杂性增加:数据分层设计的实现需要付出一定的设计与维护成本,需要建立与维护多个层级,有时出现数据结构紊乱、重复等问题可能会使得整个数据分层变得更加复杂。
  • 数据冗余:因为数据分层设计需要建立多个层级,可能会引入一定的数据冗余问题,导致数据冗余或重复使用。
  • 需要专业的技术人员:由于数据分层设计需要大量的技术编程和数据建模知识,需要专业的技术人员进行开发和维护。这会给公司带来额外的专业技术成本和困难。
  • 数据仓库容量问题:随着数据分层设计的层数增加,数据仓库的大小和存储容量也会相应增加,可能会带来一定的存储管理问题。

因此,在实际数据仓库建设中,合理利用数据分层来组织、管理和分析数据是非常重要的。数据分层需要根据实际情况和企业需求来调整。

思考

数据分层在数仓建设中扮演了一个不可或缺的角色。通过按照一定的规则和标准,重新组织和归纳数据,数据分层可以提高数据利用率,加强数据管理,进一步帮助企业开展科学化、精细化的运营管理和决策分析。

随着数据分析技术的进一步发展,数据分层也必将不断优化和完善。从数据分析工具的不断升级,到人工智能和机器学习技术的应用,数据分层必将成为企业数据管理和决策分析的头号利器。因此,作为企业管理者和数据分析师,必须时刻关注数据分层技术的发展趋势和变化,及时调整和优化自己的数据分层管理方案,保证企业数据管理和决策分析的高效性和准确性。

*文/Neel

本文属得物技术原创,更多精彩文章请看:得物技术官网

未经得物技术许可严禁转载,否则依法追究法律责任!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/158936.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动能方案 | 15693协议的读卡器应用 DP1363F 替代RC663

15693协议是一种高频(13.56 MHz)射频识别(RFID)协议,广泛满足无线识别和数据传输领域。其特点包括较远的读取范围、支持快速数据传输、与多个标签的兼容等,产生于不同行业有着广泛的应用,包括但…

【广州华锐互动】昆虫3D虚拟动态展示:探索神奇的微观世界

在这个充满科技魅力的时代,我们可以通过各种方式去了解和探索自然界的奥秘。而昆虫作为地球上最为丰富多样的生物群体之一,其独特的生活习性和形态特征一直吸引着人们的目光。 由广州华锐互动开发的昆虫3D虚拟动态展示系统,成为了一种全新的科…

Java异常处理机制

Java异常处理机制 一、异常概述与异常体系结构异常概述Error示例代码:Exception示例代码:异常体系结构Error和Exception的区别:异常分类检查异常非检查异常Why:为什么有非检查异常?Where:非检查异常有哪些?Exception异常划分运行时…

ModuleNotFoundError: No module named ‘pycocotools‘

cuda 12.1 pytorch 2.0.1 python 3.11 运行代码,报该错误,尝试了以下方法解决: 方法一 # step 1: 安装cython pip install Cython# step 2: 安装pycocotools pip install githttps://github.com/philferriere/cocoapi.git#eggpycocotools…

和田2023年群众舞蹈大赛总决赛圆满落幕!

11月19日,由中共和田地委宣传部主办,地区文旅局承办,地区文化馆、各县市文旅局协办,北京市援疆和田指挥部支持的和田地区2023年“大地欢歌 舞动和田”群众舞蹈大赛总决赛在和田市新夜市圆满落幕,比赛最终决出一等奖1名…

Adobe XD免费使用全攻略,详细教程来袭!

Adobexd是一种基于矢量的UI和UX设计工具。设计师可以使用Adobexd进行智能手表揭示设计、网页设计等。由于其强大的设计功能,Adobexd逐渐成为设计界的热门工具。作为一种海外设计工具,Adobexd是否免费也成为很多设计关注的话题,本文将为您解答…

Github Copilot AI编码完成工具

目录 一、GitHub Copilot 1、简介 2、工作原理 3、功能 二、GitHub Copilot X 1、什么是 GitHub Copilot X 2、GitHub Copilot X 的功能 三、支持、使用 1、支持 2、使用 四、实际研究、验证(代码方向) 1、代码生成 2、代码提示 3、生成测试用例 4、代码解释 5…

编译源码-【opencv3.4.16 + vs2013 x64】

编译机器:i5 13500HX RTX 4050 laptop win11 CMake 3.26.4 Configure,去掉勾选图中黄色标注的项,opencv_world 随意 Configure可能提示3rdparty下载timeout,它会下载到源码目录的.cache ├── .cache │ ├──ffmpeg │ │ …

Linux C 网络编程概述

网络编程 计算机网络概述分类网络体系结构通信协议通信流程网络通信帧格式以太网帧格式分析ARP 协议分析IP 数据报分析IP分类IP 分配子网掩码 TCP 段分析 TCP三次握手协议 ⭐TCP四次挥手协议 ⭐ TCP编程基于 TCP 客户端编程-步骤说明基于 TCP 服务器端编程-步骤说明基于 TCP 服…

汽车智能座舱/智能驾驶SOC -1

看到华为&小康的 AITO问界M6、M7各种广告营销、宣传、测评、好评如潮水般席卷网络各APP平台。翻看了中信和海通对特斯拉M3和比亚迪元的拆解报告,也好奇华为的汽车芯片平台又能做出哪些新花样,下面是Mark开头,也学习下智能座舱和智能驾驶芯…

MISRA 2012学习笔记(5)-Rules 8.10

文章目录 Rules8.10 基本类型模型(The essential type model)8.10.1 原理8.10.2 基本类型(Essential type)Rule 10.1 操作数不得具有不适当的基本类型Rule 10.2 在加减法运算中,不得不当使用本质为字符类型的表达式Rule 10.3 表达式的值不得赋值给具有较窄基本类型或…

单线程的JS中Vue导致的“线程安全”问题

目录 现象分析原因 浏览器中Js是单线程的,当然不可能出现线程安全问题。只是遇到的问题的现象与多线程的情况十分相似,导致对不了解Vue实现的我怀疑起了人生… 现象 项目中用到了element-plus中的加载组件,简单封装了一下,用来保…

linux 开发板以太网通过Ubuntu上外网方法

在开发板嵌入式设备,有一个mgbe网卡,用网线与连接soc的网卡,和外接网卡,将网卡usb接口插入电脑,选择接入到Ubuntu系统 在Ubuntu将能识别到这个外接网卡,这样就可以通过Ubuntu和soc通讯了, 如下…

服务案例|故障频发的一周,居然睡得更香!

医院运维有多忙? 医院运维,听起来平平无奇毫不惊艳,但其中的含金量,可不是“维持系统正常运行”就能总结的。毕竟医院对业务连续性的超高要求,让运维面对的问题都是暂时的,下一秒可能就有新问题需要发现解…

双12电视盒子推荐:测评员解析目前电视盒子哪个最好

电视盒子不需要每月缴费,只需联网就可以收看海量视频资源,游戏、网课、投屏等功能让电视盒子的使用场景更丰富,我每年都会进行数十次电视盒子测评,本期要分享的是双十二电视盒子推荐,全面解析目前电视盒子哪个最好。 一…

思福迪 运维安全管理系统 test_qrcode_b 远程命令执行漏洞

思福迪 运维安全管理系统 test_qrcode_b 远程命令执行漏洞 一、漏洞描述二、漏洞影响三、网络测绘四、漏洞复现1.手动复现2.自动化复现3.python源代码 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任…

数据结构——栈的详细介绍

数据结构——栈 一、栈的结构和概念二、 栈的两种构建方式①、用数组进行构建②、用链表进行构建 三、栈的创建四、栈的初始化五、栈的销毁六、压栈七、出栈八、判空九、获取栈顶元素十、获取栈的size 一、栈的结构和概念 栈:栈是一种特殊的线性表,其只…

第15届蓝桥STEMA测评真题剖析-2023年10月29日Scratch编程初中级组

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第160讲。 第15届蓝桥第2次STEMA测评,这是2023年10月29日举办的STEMA,比赛仍然采取线上形式。这…

Autoware.universe部署06:使用DBC文件进行UDP的CAN通信代码编写

目录标题 一、安装DBC文件编辑工具VectorCANdb二、编写DBC文件2.1 CAN通信协议2.2 编写DBC文件2.2.1 根据CAN协议设置signals2.2.2 设置报文2.2.3 建立节点 三、根据DBC文件编写ROS2驱动程序四、实际通信调试 根据CAN协议编写DBC文件,通过DBC文件编写ROS2包进行UDP通…

jetpack compose中实现丝滑的轮播图效果

写在前面 最近在翻Jetpack库,发现了DataStore,官方是这么说的: Jetpack DataStore 是一种数据存储解决方案,允许您使用协议缓冲区存储键值对或类型化对象。DataStore 使用 Kotlin 协程和 Flow 以异步、一致的事务方式存储数据。 …