data architecture 和 data structure 的区别是什么

data architecture 和 data structure 的区别有:1、概念不同;2、应用场景不同;3、本质不同。概念不同是指data architecture是一种具有一定逻辑关系并且封装了相应操作的数据元素集合,而data structure描述了如何管理从收集到转换、分发和使用的数据。

一、data architecture 和 data structure 的区别

1、概念不同

data architecture:数据结构(data architecture)是一种具有一定逻辑关系,在计算机中应用某种存储结构,并且封装了相应操作的数据元素集合。它包含三方面的内容,逻辑关系、存储关系及操作。

data structure:数据架构(data structure)描述如何管理从收集到转换、分发和使用的数据。 它为数据及其在数据存储系统中流动的方式设定了蓝图。 它是数据处理操作和人工智能 (AI) 应用程序的基础。

2、应用场景不同

data architecture:主要应用在数据库设计中,用来描述不同数据间的关系,如数据库中的关系模型,data architecture就是反映了各不同实体之间的联系。

data structure:data structure主要应用在程序设计中,也就是我们经常说到的“数据结构”。简单来说,数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。

3、本质不同

data architecture:数据结构的本质(data architecture)不应该是栈、链表这些具体的东西,它的本质应该是抽象和重组,如何通过结构化的思维抽象现实世界,将它们变成一个一个独立的基本单元,然后通过重组,然后组成一个高效的系统。 数据结构应该教会我们通过结构化思维进行抽象和重组的能力。

data structure

  • 根据要解决的问题,对目标系统的边界进行界定。
  • 并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。
  • 并对这些切分出来的部分,设立沟通机制。
  • 使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作

二、流行数据架构框架

数据架构可以借鉴流行的企业架构框架,包括 TOGAF、DAMA-DMBOK 2 和 Zachman 企业架构框架。

1、The Open Group Architecture Framework (TOGAF)

这个企业架构方法由 The Open Group 于 1995 年开发,IBM 是该组织的白金会员。该架构有四大支柱:

  • 业务架构,它定义企业的组织结构、业务策略和流程。
  • 数据架构,它描述概念、逻辑和物理数据资产,以及这些资产在整个生命周期中的存储和管理方式。
  • 应用程序架构,它代表应用程序系统,以及这些系统与关键业务流程以及相互之间的关系。
  • 技术架构,它描述支持任务关键型应用程序所需的技术基础架构(硬件、软件和网络)。

因此,TOGAF 为设计和实现企业的 IT 架构(包括其数据架构)提供了一个完整的框架。

2、DAMA-DMBOK 2

DAMA International 最初成立时的名称是 Data Management Association International,是一个致力于推进数据和信息管理的非营利组织。 其数据管理知识体系 DAMA-DMBOK 2 涵盖数据架构以及治理和道德、数据建模和设计、存储、安全和集成。

3、Zachman 企业架构框架

该框架最初由 IBM 的 John Zachman 于 1987 年开发,使用一个从上下文到详细信息的六层矩阵,映射了诸如为什么、怎么做和是什么等六个问题。 它提供了一种正式的数据组织和分析方式,但不包括具体方法。

三、数据结构的常用结构

  1. 数组:在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
  2. :是只能在某一端插入和删除的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。
  3. 队列:一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列是按照“先进先出”或“后进后出”的原则组织数据的。队列中没有元素时,称为空队列。
  4. 链表:是一种物理存储单元上非连续、非顺序的存储结构,它既可以表示线性结构,也可以用于表示非线性结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。
  5. :是包含n(n>0)个结点的有穷集合K,且在K中定义了一个关系N
  6. :是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。
  7. :在计算机科学中,堆是一种特殊的树形数据结构,每个结点都有一个值。通常我们所说的堆的数据结构,是指二叉堆。堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。
  8. 散列表(Hash table,也叫哈希表):若结构中存在关键字和K相等的记录,则必定在f(K)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为散列函数(Hash function),按这个思想建立的表为散列表。
  9. 八大排序算法:排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。

延伸阅读

数据的逻辑结构简介

数据的逻辑结构是指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。逻辑结构包括:

  • 集合:数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系。
  • 线性结构:数据结构中的元素存在一对一的相互关系。
  • 树形结构:数据结构中的元素存在一对多的相互关系。
  • 图形结构:数据结构中的元素存在多对多的相互关系。

文章标题:data architecture 和 data structure 的区别是什么,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/48513

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Z, ZLWZ, ZLW认证作者
上一篇 2023年4月2日
下一篇 2023年4月2日

相关推荐

  • VScode为什么画布出不来

    VSCode的画布不显示可能是由于以下几个原因造成的:插件未正确安装或配置、依赖库缺失、路径错误、源码存在语法错误。对于这个问题,需要根据具体的画布类型如HTML Canvas或者使用了某个特定的框架(如p5.js、Three.js等)分别进行排查和解决。 接下来,我将详细说明如何解决当使用VSCo…

    2024年4月3日
    6600
  • DevOps中的代码审查流程

    代码审查在DevOps实践中占据核心位置,确保软件开发质量与维护性。代码审查的关键环节包含1、准备工作;2、审查实施;3、反馈与修正;4、总结与记录。在准备阶段,审查者需熟悉相关代码库及变更内容,以确保高效率与细致的审查结果。3、反馈与修正阶段对开发过程至关重要,因为有效反馈不仅提升代码质量,还能加…

    2024年1月4日
    27500
  • oa办公系统哪个比较好

    办公自动化系统(OA)是企业提升管理效率、改善工作流程不可或缺的工具。针对“OA办公系统哪个比较好”这一问题,评价较高的OA办公系统包括1、微软Office 365、2、Google Workspace、3、钉钉、4、腾讯微企、5、华为Welink。微软Office 365因其强大的功能集合、云存储…

    2024年1月11日
    32600
  • 自动化容器编排与手动部署的差异

    自动化容器编排在速度、可靠性、资源优化方面较手动部署具有显著优势。自动化工具如Kubernetes可以1、快速调配服务,2、保障系统的稳定性,3、有效利用资源,4、实现服务的无缝扩缩,5、提供跨云部署能力。集群管理与服务发现成为自动化容器编排的核心优点。 详细而言,自动化容器编排通过先进的算法,依据…

    2024年1月18日
    23600
  • 从具体使用上看,j2se与j2ee有啥区别

    j2se与j2ee的区别是:J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入式系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。J2EE平台由一整套服务(services)、应用程序接口(API…

    2023年2月13日
    70000
  • 为什么vscode

    为什么VSCode如此受欢迎,关键原因在于它的轻量级、可定制化、强大的插件生态、跨平台兼容性。VSCode是由微软开发的一款免费、开源的代码编辑器。它的轻量级意味着启动速度快、对设备资源的占用少。这样的特性对于希望快速启动项目和在没有过剩资源的设备上编程的开发者来说是一个巨大的优势。此外,其强大的插…

    2024年4月3日
    6000
  • 项目经理如何管理

    项目经理在管理项目时,需要掌握和运用一系列专业的技能和策略来确保项目的成功。关键的管理策略包括:确立清晰目标、良好沟通、风险管理、资源分配和团队建设。在这些策略中,良好的沟通尤为重要,它涉及项目团队内部成员之间的沟通,以及与项目利益相关者之间的沟通。确保所有人都对项目目标、进度和需求有着共同的理解,…

    2024年4月10日
    5700
  • oa 组织机构

    标题:OA组织机构的功能和重要性 OA组织机构为公司提供了一套高效运转的工作流程框架,助力企业资源整合和信息流动性增强。这一机构通常包括以下要素:1、人员角色定位的明确性;2、工作流程的标准化与自动化;3、决策链条的快速性和准确性;4、跨部门沟通的流畅性。在人员角色定位方面,每个员工的责任和权限被具…

    2024年1月16日
    23400
  • 怎么注册oracle账户呢

    注册Oracle账户的步骤:一、访问Oracle官网;二、点击“注册”按钮;三、填写注册信息;四、接受条款和条件;五、验证邮箱地址;六、完成注册。首先需要访问Oracle官网。可以在浏览器中输入官网的地址或者直接在搜索引擎中搜索“Oracle官网”,然后点击进入。 一、访问Oracle官网 首先需要…

    2023年5月31日
    2.0K00
  • 学devops需要什么基础

    探寻学习DevOps所需根基 探究DevOps领域,涉及工作流优化、自动化技术、及软件开发与运维的无缝结合。学习此领域,需掌握1、编程与脚本语言的基础2、对云服务平台的熟悉3、版本控制系统的理解4、持续集成与持续部署(CI/CD)的知识5、容器化技术的应用6、监控与日志管理技术。编程与脚本语言作为基…

    2024年3月26日
    6900

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部