数据(计算机科学)

可以通过计算机设备可视化的各种数据

计算机科学中,数据(被视为单数,复数或质量名词)是一个或多个符号的任何序列;基准是数据的单个符号。数据需要解释才能成为信息数字数据是使用(1)和零(0)的二进制编号系统表示的数据,而不是模拟表示。在现代(1960年后)计算机系统中,所有数据都是数字化的。

数据存在于三个状态:静止状态的数据运输中的数据使用中的数据。在大多数情况下,计算机中的数据作为并行数据移动。在大多数情况下,数据移动或从计算机移动的数据作为序列数据移动。来自模拟设备(例如温度传感器)的数据可以使用模数转换器转换为数字。代表由计算机执行操作的数量,字符或符号的数据存储记录磁性光学,电子或机械记录介质上,并以数字电气或光学信号的形式传输。数据通过外围设备传递到计算机。

物理计算机内存元素由一个地址和数据存储的字节/单词组成。数字数据通常存储在关系数据库中,例如或SQL数据库,通常可以表示为抽象键/值对。数据可以在许多不同类型的数据结构中组织,包括数组,图形对象。数据结构可以存储许多不同类型的数据,包括数字字符串甚至其他数据结构

特征

元数据有助于将数据转换为信息。元数据是有关数据的数据。可以暗示,指定或给出元数据。

与物理事件或过程有关的数据将具有时间组件。可以隐含此时间分量。当温度记录器之类的设备从温度传感器接收数据时,就是这种情况。当收到温度时,假定数据具有现在的时间参考。因此该设备一起记录日期,时间和温度。当数据记录器通信温度时,它还必须将日期和时间报告为每个温度读数的元数据。

从根本上讲,计算机遵循以数据形式给出的一系列指令。一组执行给定任务(或任务)的说明称为程序。程序是以编码说明形式的数据,以控制计算机或其他机器的操作。在名义情况下,计算机执行的程序将由机器代码组成。该程序操纵的存储元素,但并未由中央处理单元(CPU)实际执行,也是数据。最重要的是,一个基准是存储在特定位置的。因此,计算机程序可以通过操纵其程序化数据来在其他计算机程序上操作。

要将数据字节存储在文件中,必须以文件格式序列化。通常,程序存储在特殊的文件类型中,与其他数据相同。可执行文件包含程序;所有其他文件也是数据文件。但是,可执行文件还可能包含程序内置的程序使用的数据。特别是,某些可执行文件具有一个数据段,该数据段名义上包含变量的常数和初始值,这两个都可以视为数据。

程序和数据之间的界线可能会变得模糊。例如,解释器是一个程序。解释器的输入数据本身就是一个程序,而不是用本机器语言表达的程序。在许多情况下,解释的程序将是一个可读的文本文件,该文件由文本编辑器程序操纵。元编程类似地涉及操纵其他程序作为数据的程序。诸如编译器链接器辩论者程序更新器病毒扫描仪以及其他程序之类的程序之类的程序。

例如,用户可能首先指示操作系统从一个文件加载文字处理器程序,然后使用运行程序打开和编辑存储在另一个文件中的文档。在此示例中,该文档将被视为数据。如果文字处理器还具有拼写检查器,则咒语检查器的字典(单词列表)也将被视为数据。咒语检查器用于提示更正的算法将是机器代码数据或文本,以某些可解释的编程语言

在替代用法中,有时将二进制文件不可读)称为数据,将其与可读文本区分开。

2007年的数字数据总量估计为281亿GB (281个exabytes )。

数据键和值,结构和持久性

数据中的密钥为值提供了上下文。无论数据结构如何,总有一个关键组件。数据和数据结构中的密钥对于赋予数据值的含义至关重要。如果没有直接或间接与结构中值或值集合的键相关联,则值将变得毫无意义,不再为数据。也就是说,必须有一个与值组件相关的关键组件才能将其视为数据。

根据以下示例,可以以多种方式在计算机中表示数据:

内存

  • 随机访问存储器(RAM)保存了CPU可以直接访问的数据。 CPU只能在其处理器寄存器或内存中操纵数据。这与数据存储相反,在该数据存储中,CPU必须在存储设备(磁盘,磁带...)和内存之间引导数据传输。 RAM是一个线性连续位置的数组,处理器可以通过为读取或写入操作提供地址来读取或写入。处理器可以随时以任何顺序在内存中的任何位置进行操作。在RAM中,数据的最小元素是二进制。访问RAM的功能和局限性是特定于处理器的。总体上,主内存是从地址0(十六进制0)开始的位置数组。每个位置通常可以根据计算机架构存储8或32位。

钥匙

  • 数据键不必是内存中的直接硬件地址。间接,抽象和逻辑密钥代码可以与值相关的数据结构。从结构开始,数据结构就可以存储数据值的预定偏移(或链接或路径)。因此,数据密钥包括结构的密钥以及偏移(或链接或路径)到结构中。当重复使用这样的结构时,将数据值和数据键的变化在相同的重复结构中,可以认为结果类似于,其中重复结构的每个元素都被视为列,并且每个重复该结构被认为是表的一排。在这样的数据组织中,数据密钥通常是列的一个值(或几个值的复合)中的值。

有组织的重复数据结构

  • 重复数据结构的表格视图只是许多可能性之一。重复数据结构可以层次组织,以便在一系列亲子关系中相互链接节点。值和可能更复杂的数据结构链接到节点。因此,节点层次结构提供了解决与节点相关的数据结构的关键。可以将此表示形式视为倒立的树。现代计算机操作系统文件系统是一个常见的例子。 XML是另一个。

分类或订购的数据

  • 当数据在键上排序时,数据具有一些固有的功能。键的子集的所有值一起出现在一起。当用相同的密钥或键更改的子集依次通过数据组时,这在数据处理圆圈中称为断裂或控制断裂。它特别促进了密钥子集对数据值的汇总。

外围存储

  • 直到散装非易失性记忆(如Flash)的出现之前,传统上,持久数据存储是通过将数据写入磁带和磁盘驱动器(例如磁带和磁盘驱动器)来实现的。这些设备通常会寻求磁介质上的位置,然后读取或写入预定尺寸的数据块。在这种情况下,媒体上的寻求位置是数据密钥,而块是数据值。早期使用的原始磁盘数据文件系统或光盘操作系统保留了数据文件的光盘驱动器上的连续块。在这些系统中,可以填写文件,然后在所有数据写给他们之前都没有数据空间。因此,许多未使用的数据空间都无生产力保留,以确保为每个文件提供足够的自由空间。后来的文件系统引入了分区。他们通过根据需要将分区的块动态分配给文件,保留了分区光盘数据空间的块,并更经济地使用了分配的块。为了实现这一目标,文件系统必须跟踪目录或文件分配表中的数据文件使用或未使用的块。尽管这更好地利用了光盘数据空间,但它导致了整个光盘上的文件分散,并且由于额外的额外寻找时间来读取数据。现代文件系统会动态重组零散的文件,以优化文件访问时间。文件系统中的进一步发展导致光盘驱动器的虚拟化,即可以将逻辑驱动器定义为来自许多物理驱动器的分区。

索引数据

  • 从更大的集合中检索一小部分数据可能意味着依次搜索数据。索引是一种从文件,表和数据集中数据结构中复制键和位置地址的方法,然后使用倒置的树结构来组织它们,以减少检索原始数据子集所花费的时间。为了做到这一点,必须在检索开始之前要知道要检索的数据子集的键。最受欢迎的索引是B树和动态哈希密钥索引方法。索引是备案和检索数据的开销。还有其他组织索引的方法,例如对密钥进行排序和使用二进制搜索算法

抽象和间接

  1. 的分类等级结构,这是分层数据结构的一个例子;和
  2. 在运行时,创建对从类库进行实例化对象的内存数据结构的引用。

只有在实例化之后,指定类的对象才存在。清除对象的引用后,对像也停止存在。存储对像数据的存储位置是垃圾,并将其重新分类为未使用的内存可重复使用。

数据库数据

并行分布式数据处理

  • 现代可扩展和高性能数据持久性技术(例如Apache Hadoop )依赖于高带宽网络上许多商品计算机的大规模平行分布式数据处理。在这样的系统中,数据分布在多个计算机上,因此,系统中的任何特定计算机都必须在数据的键中直接或间接表示。这可以使两组相同的数据集之间的区分,每个数据集在不同的计算机上处​​理。

也可以看看