从数据仓库到数据结构:数据架构的演变之路

在上个世纪,从电子商务巨头到医疗服务机构和政府部门,数据已成为每家组织的生命线。有效地收集和管理这些数据可以为组织提供宝贵的洞察力,以帮助决策,然而这是一项艰巨的任务。

尽管数据很重要,但CIOinsight声称,只有10%的组织认为自己擅长数据分析管理。组织认识到数据利用方面的这一重大缺口后,积极采用现代数据架构来缩小缺口。

数据架构是结构化的框架和系统,它们定义了如何在组织内组织、集成和访问数据。架构为数据及其在数据存储系统中的流动明确了蓝图,并确立了指导原则。

本文讨论了数据架构的演变、基本原则以及采用现代数据架构有效管理组织数据的优点。

数据架构的演变

多年来,数据架构不断发展,以适应不断增长的业务需求。下面讨论的一个值得注意的转变是数据架构由逻辑仓库向数据结构(Data Fabrics)转变。

1. 逻辑仓库

逻辑仓库又叫数据仓库,几十年来一直是数据管理的基础。这些数据仓库是中央存储库,旨在存储来自不同来源(比如事务系统、应用程序日志文件或关系数据库等)的数据,从而提供信息的统一视图。

通常,逻辑仓库使用提取、转换和加载(ETL)流程从源系统提取数据,对其进行转换以确保一致性,并加载到仓库中。逻辑仓库仅用于执行查询和分析,常常含有大量的历史数据。

逻辑仓库面临的挑战

虽然逻辑仓库发挥了其作用,但随着数据量增加,它们面临几个挑战。一些主要的限制包括如下:

  • 数据孤岛:逻辑仓库通常会导致数据孤岛,即不同的部门或团队会维护各自孤立的数据集,从而导致不一致和重复。
  • 性能:由于数据必须经过多个流程和阶段才能用于分析,这大大影响了数据仓库的性能。
  • 可扩展性:由于硬件限制,实施数据仓库既复杂又昂贵。它还需要数据建模、ETL流程和数据库管理方面的专业知识,因而更难处理急剧增加的数据。

2. 数据湖

为了应对数据仓库的挑战,数据湖架构在2010年被引入。虽然数据湖架构与数据仓库非常相似,但两者的不同之处在于数据湖还适用于半结构化数据和非结构化数据。

数据湖以自然或原始格式存储大量数据的功能帮助我们:

  • 使用来自多个数据源的数据,不用考虑数据类型(非结构化、半结构化、结构化);
  • 创建数据的重点部分,以满足特定用例的需求;
  • 利用先进的分析和机器学习技术发现新的洞察力,而不受预定义模式的限制。

数据湖面临的挑战

数据湖的这种开放格式特性使其比数据仓库更受欢迎。然而,数据湖带来了挑战,因为没有严格标准化而摄取的数据导致数据库中出现不一致。此外,存储在数据湖中的数据需要大量的转换和集成工作,然后才能用于复杂又耗时的分析。

3. 数据网格

数据网格架构是一种新兴的方法,它为中央数据湖架构提供了另一种选择。数据网格是由Zhamak Dehghani在2019年创造的,这种分散的数据架构按特定的业务领域组织数据。

通过引入面向领域的数据所有权,负责各领域的团队对其数据和产品负责,从而提高数据质量和治理。

传统的数据湖在处理大量数据时常常遇到可扩展性和性能方面的挑战。然而,数据网格架构通过其分散的自助式数据基础设施解决了这些可扩展性问题。

由于每个领域都可以自主地选择最适合其需求的技术和工具,数据网格允许团队独立地扩展其数据存储和处理系统。

4. 数据结构

数据结构是一种自适应、灵活又安全的集成式数据架构。它是一种架构方法和技术框架,通过提供跨各种数据源的统一集成数据视图来解决数据湖挑战。

通过应对数据集成、转换和移动中涉及的技术复杂性,数据结构允许更快速、更有效地访问数据,以便任何人都可以使用它。

现代数据架构原则

据Dataversity声称,数据架构原则指一系列策略,以监管用于收集、集成和管理数据资产的企业数据框架和操作规则。这些原则帮助我们创建一致、可靠又高效的数据架构,使其与组织的目标和目的保持一致。

为了有效地利用数据作为一种有竞争力的资产,以下是需要遵循的几个常见现代数据架构原则:

  • 数据质量(DQ):数据质量对于任何数据架构都必不可少;建立数据质量标准和流程可确保数据的准确性、完整性和可靠性。数据质量原则指导我们实施数据分析、清理和验证技术,以立即识别和纠正数据问题,从而避免低劣的数据质量。有效管理和可靠的数据对于开发准确模型和可靠模式以提取宝贵的洞察力至关重要。
  • 数据治理(DG):Experian数据质量报告表明,全球78%的组织受到数据治理不善的困扰,这导致人们对数据和从数据获得的洞察力产生不信任。数据治理告诉我们,在数据生命周期的任何时候,数据消费者都应该知道数据的位置、格式、使用关系以及与数据相关的任何其他相关信息,以避免数据债务。数据治理与数据质量密切相关,使数据架构能够确保数据完整性,并提高数据质量。
  • 争取确保一致性:这条数据原则强调面对整个组织的所有数据结构、格式和流程,确保一致性。使用标准术语和词汇表可以确保数据在不同系统之间定义一致,从而使开发人员和非开发人员更容易就同一项目进行协作。跨组织数据表示的一致性为团队提供了“事实的单一版本”,从而使数据和数据分析易于被公司内的广泛用户理解。
  • 使数据成为可共享的资产:使数据成为可共享的资产强调我们将数据视为一种有价值的资源,可以在不同的系统之间共享和访问。该原则旨在消除数据孤岛,并鼓励设计有助于高效共享数据的数据架构。这么做确保所有利益相关者全面了解公司及数据,以便于合作和明智的决策。
  • 数据安全和隐私:现代数据架构必须确保数据的机密性和完整性,同时保护敏感信息免遭未经授权的访问、破坏或滥用。

现代数据架构的特点

下面讨论现代数据架构的一些特点:

  • 自动化:现代数据架构使用自动化的流程、工具和技术,以优化与数据相关的任务和操作。与传统系统不同,现代数据架构可以使用基于云的工具在数小时或数天内构建好复杂的流程。
  • 适应性:现代数据架构必须灵活,以响应不断变化的业务需求。它必须支持多种类型的用户、查询操作和部署、数据处理引擎以及管道等。
  • 可扩展性:可扩展性是现代数据架构的一个关键特点,它允许我们在业务需求发生变化时快速且经济地扩展或缩小规模。
  • 具有成本效益:利用可扩展基础设施的现代数据架构使我们得以轻松地适应未来不断增长的需求,无需一开始过度购买硬件。此外,现代数据架构有时采用“按需付费模式”的云计算平台,这样我们只需为实际使用的资源付费。

现代数据架构的好处

在讨论了现代数据架构及其特点之后,下面讨论现代数据架构给企业和组织带来的好处。

  • 提供全面的公司视图:由于数据集成可以实现来自组织内各种数据源和系统的数据无缝集成,因而可以一致地收集和存储数据。这种集成确保了任何时候的数据都能提供公司的全面视图,即“事实的单一来源”。
  • 减少冗余:通过收集和协调不同的数据和数据源,数据集成减少了组织中数据字段的重叠。
  • 改进的数据质量:现代数据架构包含数据清理和验证、数据标准化、数据质量监控和修复等技术,以确保数据可靠性。

结论

数据在组织中越来越重要,这推动了数据架构的发展。从传统的数据仓库到现代的数据网格和数据结构方法,这些架构解决了特定的挑战,带来了新的机遇。

通过采用现代数据架构,组织可以得益于改进的数据质量和全面的数据洞察力,从而全面释放数据的潜力,并在当今世界保持竞争力。

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

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

相关文章

DL_20无线串口模块

今日介绍一块最近入手的无线串口模块,40r左右,精简好用,虽然感觉配置波特率啥的并不智能化,但250米的通信距离还是很顶的!它的升级版甚至有1000米的通信距离(空旷地带) 这篇文章不多讲其余话&am…

【C++】开源:abseil-cpp基础组件库配置使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍abseil-cpp基础组件库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&#…

什么,你说你不会通过jdbc一次性创建10个数据库???

小朋友你是否有很多问号???????????? 1、在资源文件中建一个文件,填入连接数据库的基本信息。 2、通过反射拿到资源文件。…

数据库新闻速递 -- POSTGRESQL 正在蚕食数据库市场 (翻译)

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请加 liuaustin3微信号 ,在新加的朋友会分到3群&#xff…

机器学习笔记 - 使用 YOLOv5、O​​penCV、Python 和 C++ 检测物体

一、YOLO v5简述 YOLO v5虽然已经不是最先进的对象检测器,但是YOLOv5 使用了一个简单的卷积神经网络 CNN架构(相对YOLO v8来讲,不过v8精度是更高了一些),更易理解。这里主要介绍如何轻松使用 YOLO v5来识别图像中的对象。将使用 OpenCV、Python 和 C++ 来加载和调用我们的…

K8S系列文章之 一键部署K8S环境

部署的原理是基于自动化部署工具 Ansible 实现的,需要提前安装Ansible 并配置下主机节点环境 1. 安装 Ansible 首先ansible基于python2.X 环境,默认centos都已经安装好了python2环境 // 最好更新下库 // yum update yum install -y epel-release yum i…

flask使用cookie (设置cookie与查看cookie内容)

1.flask包cookie的使用 设置cookie app.route(/set_cookie) def set_cookie():resp make_response(Setting cookie)resp.set_cookie(username, John)return resp查看cookie: app.route(/get_cookie) def get_cookie():username request.cookies.get(username)return Welco…

Spring系列四:AOP切面编程

文章目录 💗AOP-官方文档🍝AOP 讲解🍝AOP APIs 💗动态代理🍝初始动态代理🍝动态代理深入🍝AOP问题提出📗使用土方法解决📗 对土方法解耦-开发最简单的AOP类📗…

木马免杀(篇二)shellcode 学习

木马免杀(篇二)shellcode 学习 —— shellcode介绍 shellcode 是一段利用软件漏洞进行执行的机器码, 通常用汇编语言编写并被翻译为十六进制操作码,因常被攻击者用于获取系统的命令终端shell 接口,所以被称为 shellc…

并发编程面试题2

并发编程面试题2 一、AQS高频问题: 1.1 AQS是什么? AQS就是一个抽象队列同步器,abstract queued sychronizer,本质就是一个抽象类。 AQS中有一个核心属性state,其次还有一个双向链表以及一个单项链表。 首先state…

【Ubuntu】安装docker,docker compose 以及部署一个docker应用

大家好!在过去,已经分享了很多有关通过Docker部署应用的内容。今天,我将为大家详细介绍如何在Ubuntu系统上部署最新的Docker平台。 Docker是什么 Docker是一个开源的容器化平台,它允许您将应用程序及其所有依赖项打包到称为容器…

CH343 USB转串口芯片资料下载(合集)

1、产品手册 CH343DS1.PDF - 南京沁恒微电子股份有限公司CH343技术手册,USB转单串口芯片,支持最高6M波特率,串口信号支持1.8~5V,内置晶振。CH343使用系统集成的CDC驱动或厂商驱动。厂商驱动支持完整串口功能和更高波特率。https:…

基于STM32微控制器的物联网(IoT)节点设计与实现

基于STM32微控制器的物联网(IoT)节点的设计和实现。我们讨论物联网节点的基本概念和功能,并详细介绍了STM32微控制器的特点和优势。然后,我们将探讨如何使用STM32开发环境和相关的硬件模块来设计和实现一个完整的物联网节点。最后,我们将提供一个示例代码,展示如何在STM3…

【24择校指南】南京大学计算机考研考情分析

南京大学(A) 考研难度(☆☆☆☆☆) 内容:23考情概况(拟录取和复试分数人数统计)、院校概况、23初试科目、23复试详情、参考书目、各科目考情分析、各专业考情分析。 正文2178字,预计阅读:6分…

Mr. Cappuccino的第59杯咖啡——简单手写SpringIOC框架

简单手写SpringIOC框架 环境搭建基于XML方式项目结构项目代码运行结果 基于注解方式项目结构项目代码运行结果 简单手写SpringIOC框架核心原理基于XML方式原理项目结构项目代码运行结果 基于注解方式原理项目结构项目代码运行结果 环境搭建 基于XML方式 项目结构 项目代码 p…

JSP实训项目设计报告—MVC简易购物商城

JSP实训项目设计报告—MVC简易购物商城 文章目录 JSP实训项目设计报告—MVC简易购物商城设计目的设计要求设计思路系统要求单点登录模块商品展示模块购物车展示模块 概要设计Model层View层Controller层 详细设计Model层View层登录界面系统主界面 Controller层 系统运行效果项目…

kafka是有序的吗?如何保证有序?

首先,Kafka无法保证消息的全局有序性,这是因为Kafka的设计中允许多个生产者并行地向同一个主题写入消息。而且,一个主题可能会被划分为多个分区,每个分区都可以在独立的生产者和消费者之间进行并行处理。因此,生产者将…

【MongoDB】数据库、集合、文档常用CRUD命令

目录 一、数据库操作 1、创建数据库操作 2、查看当前有哪些数据库 3、查看当前在使用哪个数据库 4、删除数据库 二、集合操作 1、查看有哪些集合 2、删除集合 3、创建集合 三、文档基本操作 1、插入数据 2、查询数据 3、删除数据 4、修改数据 四、文档分页查询 …

CSP复习每日一题(四)

树的重心 给定一颗树,树中包含 n n n 个结点(编号 1 ∼ n 1∼n 1∼n)和 n − 1 n−1 n−1条无向边。请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。 重心定义: 重心是指树中的一…

试图将更改推送到 GitHub,但是远程仓库已经包含了您本地没有的工作(可能是其他人提交的修改)

这通常是由于其他人或其他仓库推送到了相同的分支上,导致您的本地仓库和远程仓库之间存在冲突。 错误信息: To github.com:8upersaiyan/CKmuduo.git ! [rejected] main -> main (fetch first) error: failed to push some refs to github.com:8upers…