引言
在繁杂的计算机数据中我们可以把数据分为三类,即:
- 结构化数据
- 非结构化数据
- 半结构化数据
结构化数据
这类数据其实其实就是数据之间满足某种关系,这里称其为结构化,而在关系型数据库中关系的实体就是表,所以这类数据一般我们使用关系型数据库进行管理.结构化数据首先依赖于建立一个数据模型,数据模型是指数据是怎么样被存储,处理和登录的, 他包括数据是怎么样被存储的,数据的格式以及其他的限制.
非结构化数据
非结构化数据其实就是没有固定模式的数据,也就是数据之间没有什么关系,举个简单的例子就是文本数据,这类数据我们没办法用某种关系来描述它,遂通常使用Ceph、GFS、HDFS 和 Swift这些分布式文件系统来存储.
非结构化数据
显然半结构化数据也是一种结构化数据,只不过其结构变化很大,不好已一种特定的关系展现出来,由于结构变化很大也不能够简单的建立一个表和他对应.它的定义是非关系模型的,有基本固定结构模式的数据,例如日志文件,XML文档,JSON文档,Email等.这样的解释可能还是不能很清楚的说清楚,我们举一个例子:就比如说每一个人的个人介绍,显然每一个人写的都不太可能是一样的,有些人可能会介绍自己的兴趣,爱好,工作,家庭等.但是有些人就只是写上自己的名字性别,显然我们没有办法使用一张表来存储这些,除非使用某些方法压缩成一个字符串.一般使用Redis,memcache这样的键值数据库来存储.
总结
以前脑子里并没有数据类型这种概念,在了解以后瞬间觉得对于存储有了一种醍醐灌顶的感觉,如此繁杂的数据库我们到底该如何选择呢,问题的关键就在于数据类型,这决定了底层存储的具体实现.