Lotus通过其群件产品Notes提出了数据库技术的全新概念" 文档数据库 ",文档数据库区别于传统的其它数据库,它是用来管理文档。在传统的数据库中,信息被分割成离散的数据段,而在文档数据库中,文档是处理信息的基本单位。一文档可以很长、很复杂、可以无结构,与字处理文档类似。一个文档相当于关系数据库中的一条记录。
面向文档的数据库是键值数据库的子类型,这是从NoSQL数据库继承的另一个概念。 它们之间的区别在于数据的处理方式:在键值数据库中,数据对数据库是不透明的; 而面向文档的数据库系统则依赖于文件的内部结构,文件的内部结构会获取元数据以进一步优化数据库引擎。 尽管由于系统工具的不同,这种差异并不明显,但在设计概念上,此文档存储方法使用了现代编程技术来提供更丰富的体验。
文档数据库与传统的关系数据库明显不同。 关系数据库通常将数据存储在程序开发人员定义的相互独立的表中,并且单个对象可以分散在多个表中。 对于数据库中单个实例中的给定对象,文档数据库存储其所有信息,并且每个存储的对象可以与任何其他对象不同。 这简化了对象到数据库的映射,并且通常消除了类似于对象关系映射的任何操作。 这也使文档数据库对网络应用程序更有价值,因为后者的数据一直在变化,而对于后者,部署速度是一个重要的问题。
文档数据库也不同于关系数据库。 关系数据库是高度结构化的,而Notes文档数据库则允许创建许多不同类型的非结构化或任意格式的字段。 与关系数据库的主要区别在于,它不提供参数完整性和分布式事务支持,但与关系数据库不互斥,它们可以相互交换数据以相互补充和扩展。