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 年开发,使用一个从上下文到详细信息的六层矩阵,映射了诸如为什么、怎么做和是什么等六个问题。 它提供了一种正式的数据组织和分析方式,但不包括具体方法。
三、数据结构的常用结构
- 数组:在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
- 栈:是只能在某一端插入和删除的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。
- 队列:一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列是按照“先进先出”或“后进后出”的原则组织数据的。队列中没有元素时,称为空队列。
- 链表:是一种物理存储单元上非连续、非顺序的存储结构,它既可以表示线性结构,也可以用于表示非线性结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。
- 树:是包含n(n>0)个结点的有穷集合K,且在K中定义了一个关系N
- 图:是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。
- 堆:在计算机科学中,堆是一种特殊的树形数据结构,每个结点都有一个值。通常我们所说的堆的数据结构,是指二叉堆。堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。
- 散列表(Hash table,也叫哈希表):若结构中存在关键字和K相等的记录,则必定在f(K)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为散列函数(Hash function),按这个思想建立的表为散列表。
- 八大排序算法:排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。
延伸阅读
数据的逻辑结构简介
数据的逻辑结构是指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。逻辑结构包括:
- 集合:数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系。
- 线性结构:数据结构中的元素存在一对一的相互关系。
- 树形结构:数据结构中的元素存在一对多的相互关系。
- 图形结构:数据结构中的元素存在多对多的相互关系。
文章标题:data architecture 和 data structure 的区别是什么,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/48513