结构化数据
结构化的数据一般是指可以使用关系型数据库表示和存储,可以用二维表来逻辑表达实现的数据。例如:需要多少个属性,每个属性什么类型,每个属性的取值范围等等,类似下图所示,提前定义好了一个二维矩阵的元数据,包含有列名称、列的类型、列的约束等:
可见,虽然结构化数据的存储和排列是很有规律的,这对查询和修改等操作很有帮助。但是,它的扩展性不好(比如,业务需要增加一个字段,此时就需要将已存储入库的所有数据全部更新一遍,效率极低)。
对于结构化数据来讲通常是先有结构再有数据,而对于半结构化数据来说则是先有数据再有结构。
非结构化数据
非结构化数据就是没有固定结构的数据。包括所有格式的办公文档、Word、PPT、文本、图片、各类报表、图像和音频/视频信息等等。
对非结构化的数据,一般以二进制的形式直接整体进行存储。
半结构化数据
半结构化数据就是介于完全结构化数据(如关系型数据库、面向对象数据库中的数据)和完全非结构化的数据(如声音、图像文件等)之间的数据,它并无明确的数据模型结构,但包含相关标记定义可用来分隔语义元素以及对记录和字段进行分层。数据的结构和内容混在一起,没有明显的区分,因此,它也被称为自描述的结构。
半结构化数据,属于同一类的实体可以有不同的属性,即使他们被组合在一起,且这些属性的顺序也并不重要。例如,日志文件、HTML文件、XML文档、JSON文档、Email等。
现以常见的XML文件举例如下(属性的顺序可以调整,且属性的个数是可以不一样):
可见,半结构化的数据格式可以自由地表达、更新很多有用的信息。所以,半结构化数据的扩展性是很好的。
文章参考来自、详情可见:https://www.cnblogs.com/lucky815/p/14970358.html