模式自由(Schema-free)和数据存储的非格式化趋势
最近遐想,数据存储的非格式化趋势。
格式化表格到自由的XML存储
数年以前,多家数据库厂商开始XML数据库存储。XML数据作为一种自描述的半结构化数据为Web的数据管理提供了新的数据模型,如果将XML标记数据放入一定的结构中,对数据的检索、分析、更新和输出就能够在更加容易管理的、系统的和较为熟悉的环境下进行,因而我们将数据库技术应用于XML数据处理领域,通过XML数据模型与数据库模型的映射来存储、提取、综合和分析XML文档的内容。这为数据库研究开拓了一个新的方向,将数据库技术的研究扩展到对Web数据的管理。
模式自由(Schema-free)
模式自由(Schema-free),所谓“面向集合”(Collection-Oriented),意思是数据被分组存储在数据集中,被称为一个集合(Collection)。每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(Table),不同的是它不需要定义任何模式(Schema)。
模式自由(Schema-free),意味着对于存储在Mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。
存储在集合中的文档,被存储为“键-值”对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各中复杂的文件类型。我们称这种存储形式为BSON(Binary Serialized dOcument Format)。
现在,一般设备的计算能力已经有了飞跃的提高,不再受限于使用严格格式化数据存取来提高效率。采用在线解析的方式(比如:XML,JSON)已经可以满足人机交互,实现较好的用户体验。除了在嵌入式、处理流程极为固定的场景下,曾经定义一个按位(bit)存取的数据机构,采用二进制方式的高效数据存储的时代,几乎一去不复返了。
闹钟和其它
最近,遇到的一个应用,开始扩展联想。
我们手机的“闹钟”基础功能,可以进行自由模式(Schema-Free)的扩展,基础的“格式化域”包括:+定义时间,+目标时间,+文字内容;进行动态增删的内容(自由扩展域)包括:++执行地点,++附件,++同步至目标,++etc各种可扩展域。后续处理根据闹钟的数据记录提取“域”数据内容,分支转向执行。