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

尽管数据很重要,但CIOinsight声称,只有10%的组织认为自己擅长数据分析管理。组织认识到数据利用方面的这一重大缺口后,积极采用现代数据架构来缩小缺口。
数据架构是结构化的框架和系统,它们定义了如何在组织内组织、集成和访问数据。架构为数据及其在数据存储系统中的流动明确了蓝图,并确立了指导原则。
本文讨论了数据架构的演变、基本原则以及采用现代数据架构有效管理组织数据的优点。
数据架构的演变
多年来,数据架构不断发展,以适应不断增长的业务需求。下面讨论的一个值得注意的转变是数据架构由逻辑仓库向数据结构(Data Fabrics)转变。
1. 逻辑仓库
逻辑仓库又叫数据仓库,几十年来一直是数据管理的基础。这些数据仓库是中央存储库,旨在存储来自不同来源(比如事务系统、应用程序日志文件或关系数据库等)的数据,从而提供信息的统一视图。
通常,逻辑仓库使用提取、转换和加载(ETL)流程从源系统提取数据,对其进行转换以确保一致性,并加载到仓库中。逻辑仓库仅用于执行查询和分析,常常含有大量的历史数据。
逻辑仓库面临的挑战
虽然逻辑仓库发挥了其作用,但随着数据量增加,它们面临几个挑战。一些主要的限制包括如下:
- 数据孤岛:逻辑仓库通常会导致数据孤岛,即不同的部门或团队会维护各自孤立的数据集,从而导致不一致和重复。
- 性能:由于数据必须经过多个流程和阶段才能用于分析,这大大影响了数据仓库的性能。
- 可扩展性:由于硬件限制,实施数据仓库既复杂又昂贵。它还需要数据建模、ETL流程和数据库管理方面的专业知识,因而更难处理急剧增加的数据。
2. 数据湖
为了应对数据仓库的挑战,数据湖架构在2010年被引入。虽然数据湖架构与数据仓库非常相似,但两者的不同之处在于数据湖还适用于半结构化数据和非结构化数据。
数据湖以自然或原始格式存储大量数据的功能帮助我们:
- 使用来自多个数据源的数据,不用考虑数据类型(非结构化、半结构化、结构化);
- 创建数据的重点部分,以满足特定用例的需求;
- 利用先进的分析和机器学习技术发现新的洞察力,而不受预定义模式的限制。
数据湖面临的挑战
数据湖的这种开放格式特性使其比数据仓库更受欢迎。然而,数据湖带来了挑战,因为没有严格标准化而摄取的数据导致数据库中出现不一致。此外,存储在数据湖中的数据需要大量的转换和集成工作,然后才能用于复杂又耗时的分析。
3. 数据网格
数据网格架构是一种新兴的方法,它为中央数据湖架构提供了另一种选择。数据网格是由Zhamak Dehghani在2019年创造的,这种分散的数据架构按特定的业务领域组织数据。
通过引入面向领域的数据所有权,负责各领域的团队对其数据和产品负责,从而提高数据质量和治理。
传统的数据湖在处理大量数据时常常遇到可扩展性和性能方面的挑战。然而,数据网格架构通过其分散的自助式数据基础设施解决了这些可扩展性问题。
由于每个领域都可以自主地选择最适合其需求的技术和工具,数据网格允许团队独立地扩展其数据存储和处理系统。
4. 数据结构
数据结构是一种自适应、灵活又安全的集成式数据架构。它是一种架构方法和技术框架,通过提供跨各种数据源的统一集成数据视图来解决数据湖挑战。
通过应对数据集成、转换和移动中涉及的技术复杂性,数据结构允许更快速、更有效地访问数据,以便任何人都可以使用它。
现代数据架构原则
据Dataversity声称,数据架构原则指一系列策略,以监管用于收集、集成和管理数据资产的企业数据框架和操作规则。这些原则帮助我们创建一致、可靠又高效的数据架构,使其与组织的目标和目的保持一致。
为了有效地利用数据作为一种有竞争力的资产,以下是需要遵循的几个常见现代数据架构原则:
- 数据质量(DQ):数据质量对于任何数据架构都必不可少;建立数据质量标准和流程可确保数据的准确性、完整性和可靠性。数据质量原则指导我们实施数据分析、清理和验证技术,以立即识别和纠正数据问题,从而避免低劣的数据质量。有效管理和可靠的数据对于开发准确模型和可靠模式以提取宝贵的洞察力至关重要。
- 数据治理(DG):Experian数据质量报告表明,全球78%的组织受到数据治理不善的困扰,这导致人们对数据和从数据获得的洞察力产生不信任。数据治理告诉我们,在数据生命周期的任何时候,数据消费者都应该知道数据的位置、格式、使用关系以及与数据相关的任何其他相关信息,以避免数据债务。数据治理与数据质量密切相关,使数据架构能够确保数据完整性,并提高数据质量。
- 争取确保一致性:这条数据原则强调面对整个组织的所有数据结构、格式和流程,确保一致性。使用标准术语和词汇表可以确保数据在不同系统之间定义一致,从而使开发人员和非开发人员更容易就同一项目进行协作。跨组织数据表示的一致性为团队提供了“事实的单一版本”,从而使数据和数据分析易于被公司内的广泛用户理解。
- 使数据成为可共享的资产:使数据成为可共享的资产强调我们将数据视为一种有价值的资源,可以在不同的系统之间共享和访问。该原则旨在消除数据孤岛,并鼓励设计有助于高效共享数据的数据架构。这么做确保所有利益相关者全面了解公司及数据,以便于合作和明智的决策。
- 数据安全和隐私:现代数据架构必须确保数据的机密性和完整性,同时保护敏感信息免遭未经授权的访问、破坏或滥用。
现代数据架构的特点
下面讨论现代数据架构的一些特点:
- 自动化:现代数据架构使用自动化的流程、工具和技术,以优化与数据相关的任务和操作。与传统系统不同,现代数据架构可以使用基于云的工具在数小时或数天内构建好复杂的流程。
- 适应性:现代数据架构必须灵活,以响应不断变化的业务需求。它必须支持多种类型的用户、查询操作和部署、数据处理引擎以及管道等。
- 可扩展性:可扩展性是现代数据架构的一个关键特点,它允许我们在业务需求发生变化时快速且经济地扩展或缩小规模。
- 具有成本效益:利用可扩展基础设施的现代数据架构使我们得以轻松地适应未来不断增长的需求,无需一开始过度购买硬件。此外,现代数据架构有时采用“按需付费模式”的云计算平台,这样我们只需为实际使用的资源付费。
现代数据架构的好处
在讨论了现代数据架构及其特点之后,下面讨论现代数据架构给企业和组织带来的好处。
- 提供全面的公司视图:由于数据集成可以实现来自组织内各种数据源和系统的数据无缝集成,因而可以一致地收集和存储数据。这种集成确保了任何时候的数据都能提供公司的全面视图,即“事实的单一来源”。
- 减少冗余:通过收集和协调不同的数据和数据源,数据集成减少了组织中数据字段的重叠。
- 改进的数据质量:现代数据架构包含数据清理和验证、数据标准化、数据质量监控和修复等技术,以确保数据可靠性。
结论
数据在组织中越来越重要,这推动了数据架构的发展。从传统的数据仓库到现代的数据网格和数据结构方法,这些架构解决了特定的挑战,带来了新的机遇。
通过采用现代数据架构,组织可以得益于改进的数据质量和全面的数据洞察力,从而全面释放数据的潜力,并在当今世界保持竞争力。
相关文章:
从数据仓库到数据结构:数据架构的演变之路
在上个世纪,从电子商务巨头到医疗服务机构和政府部门,数据已成为每家组织的生命线。有效地收集和管理这些数据可以为组织提供宝贵的洞察力,以帮助决策,然而这是一项艰巨的任务。 尽管数据很重要,但CIOinsight声称&…...
kafka-2.12使用记录
kafka-2.12使用记录 安装kafka 2.12版本 下载安装包 根据你的系统下载rpm /deb /zip包等等, 这里我使用的是rpm包 安装命令 rpm -ivh kafka-2.12-1.nfs.x86_64.rpm启动内置Zookeeper 以下命令要写在同一行上 /opt/kafka-2.12/bin/zookeeper-server-start.sh /opt/kafka-2…...
C++笔记之将定时器加入向量并设置定时器的ID为i
C笔记之将定时器加入向量并设置定时器的ID为i code review! 文章目录 C笔记之将定时器加入向量并设置定时器的ID为i关于代码中的void operator()() 运行 代码 #include <chrono> #include <iostream> #include <thread> #include <vector>// 定义定时…...
将一组元素四舍五入到指定精度(小数位数)numpy.around()
【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 将一组元素四舍五入 到指定精度(小数位数) numpy.around() [太阳]选择题 关于以下代码说法错误的一项是? import numpy as np anp.array([21.3,9.67,8.5, -1.13, -2.67]) print(【显示】a为…...
tinyint这个值在MySQL中的值有哪些
在MySQL中,TINYINT是一种整数数据类型,用于存储小范围的整数值。它占用1个字节的存储空间,可以表示的值范围是从-128到127(有符号)或者从0到255(无符号)。 以下是在MySQL中使用TINYINT数据类型…...
JVM 内存结构
1、方法区(线程共享) 存储静态变量(静态方法、变量、代码块)、常量池、类信息 2、堆信息(线程共享) 存储实例对象,例如 new 出来的对象信息 A a1 new A() 3、虚拟机栈(线程隔离) 每个线程的都有…...
基于百度语音识别API智能语音识别和字幕推荐系统——深度学习算法应用(含全部工程源码)+测试数据集
目录 前言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据预处理2. 翻译3. 格式转换4. 音频切割5. 语音识别6. 文本切割7. main函数 系统测试工程源代码下载其它资料下载 前言 本项目基于百度语音识别API,结合了语音识别、视频转换音频识别以及语句停顿…...
数字万用表测量基础知识--使用DMM测量电流
概览 DMM(即数字万用表)是一种电气测试和测量仪器,可测量直流和交流信号的电压、电流和电阻。本文介绍如何正确使用和理解数字万用表(DMM)。 使用DMM测量电流 另一个常见的测量功能是直流和交流电流测量。电压是通过与电路并联进行测量&am…...
【BASH】回顾与知识点梳理(二十)
【BASH】回顾与知识点梳理 二十 二十. 十六至十九章知识点总结及练习20.1 总结20.2 练习 该系列目录 --> 【BASH】回顾与知识点梳理(目录) 二十. 十六至十九章知识点总结及练习 20.1 总结 shell script 是利用 shell 的功能所写的一个『程序 (prog…...
Arduino驱动SGP40空气质量传感器(气体传感器篇)
目录 1、传感器特性 2、硬件原理图 3、控制器和传感器连线图 4、驱动程序 SGP40空气质量传感器是业内知名的瑞士公司Sensirion推出的新一代SGP40数字VOC传感器芯片。基于Sensirion的CMOSens技术,SGP40在单个芯片上提供了完整的传感器系统,包括温控微加热板和室内空气质量…...
识别和应对内存抖动
关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、人工智能等,希望大家多多支持。 目录 一、导读二、概览三、案例分析3.1 使用memory-profiler3.2 使用 cp…...
3.3用于共享数据保护的替代工具
用于共享数据保护的替代工具 虽然互斥元是最通用的机制,但提到保护共享数据时,它们并不是唯一的选择;还有别的替代品,可以在特定情况下提供更恰当的保护。 一个特别极端(但却相当常见)的情况,…...
探索数据之美:初步学习 Python 柱状图绘制
文章目录 一 基础柱状图1.1 创建简单柱状图1.2 反转x和y轴1.3 数值标签在右侧1.4 演示结果 二 基础时间线柱状图2.1 创建时间线2.2 时间线主题设置取值表2.3 演示结果 三 GDP动态柱状图绘制3.1 需求分析3.2 数据文件内容3.3 列表排序方法3.4 参考代码3.5 运行结果 一 基础柱状图…...
647. 回文子串
boolean默认类型是false class Solution {public int countSubstrings(String s) {if(s null) return 0;int result 0;int length s.length();boolean[][] dp new boolean[length][length];for(int j0;j<length;j){for(int i0;i<j;i){if(s.charAt(i) s.charAt(j)){i…...
cmake (更新中)
概述 关于 CMake CMake 是一个可扩展的开源系统,以一种与操作系统和编译器无关的方式来管理构建过程。与许多跨平台系统不同,CMake 被设计为与本机构建环境配合使用。在每个源代码目录中放置简单的配置文件(称为 CMakeLists.txt 文件…...
【go语言基础】指针数组和数组指针
1.概念 (1)指针数组: 存储指针的数组,也叫存储地址的数组,简单说就是存储地址的。 首先它是一个数组,数组中的元素都是指针(地址)。 (2)数组指针…...
ModaHub魔搭社区——Milvus Cloud向量数据库
向量数据库:在AI时代的快速发展与应用 摘要: 随着人工智能技术的不断进步,向量数据库在处理大规模数据方面发挥着越来越重要的作用。本文介绍了向量数据库的基本概念、应用场景和技术挑战,并详细阐述了Milvus Cloud作为典型的向量数据库产品的技术特点、性能优化和应用案例…...
【Java】常用Stream API
常见 Stream 流表达式 总体结构图 一、两大类型 中间操作(Intermediate Operations) 中间操作是指在Stream上执行的操作, 它们返回一个新的Stream, 允许你链式地进行多个中间操作. 终端操作(Terminal Operations) 对Stream进行最终处理的操作, 当调用终端操作时, Stream会开始执…...
P1941 [NOIP2014 提高组] 飞扬的小鸟
代码部分前有一千六百字了 P1941 [NOIP2014 提高组] 飞扬的小鸟 考察对背包 dp 算法过程理解的透彻性。过程透彻性也是解决所有问题的关键(建立在算法已学的基础上)。 n , m n,m n,m 的范围足够我们 O ( n m ) O(nm) O(nm) 的遍历整个地图。设 f i , …...
Vue3+Element plus+pageHelper实现分页
安装element plus npm install element-plus --save引入 修改main.js: import { createApp } from vue import App from ./App.vue import ElementPlus from element-plus import element-plus/dist/index.cssconst app createApp(App) app.use(ElementPlus) ap…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
