结构化数据
结构化数据是指可以使用关系型数据库表示和存储,表现为二维形式的数据。一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。举一个例子:
id | name | age | gender |
---|---|---|---|
1 | Amy | 20 | female |
2 | Bob | 30 | male |
所以,结构化的数据的存储和排列是很有规律的,这对查询和修改等操作很有帮助。缺点是扩展性不好(比如增加一个字段、或者字段经常发生变化)。
非结构化数据
非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。包括所有格式的办公文档、文本、HTML、XML、图片、图像和音频/视频信息等。
半结构化数据
所谓半结构化数据是介于完全结构化数据(如关系型数据库)和完全无结构化数据(如音频、视频)之间的数据,它并不符合关系型数据库或其他数据表的形式关联起来的数据模型结构,但包含相关标记,用来分隔语义元素以及对记录和字段进行分层。因此,它也被称为自描述的结构,数据的格式和内容混在一起,没有明显的区分。
半结构化数据,属于同一类实体可以有不同的属性,即使他们被组合在一起,这些属性的顺序并不重要。常见的半结构数据有HTML、XML和JSON文档。
例如对于两条数据可以有不同的数据属性和不同的属性顺序构成:
数据1:
<person>
<name>Amy</name>
<age>18</name>
<gender>female</gender>
</person>
数据2:
<person>
<name>Bob</name>
<gender>male</gender>
</person>