MongoDB数据库的基本概念
时间:2011-03-22 来源:lirenqing
MongoDB是由(database)、集合(collection)、文档对象(document)三个层次组成。
和关系型数据库的对应关系:
关系型数据库 MongoDB数据库
database database
table collection
row document
MongoDB对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。
在MongoDB中可以建立索引,collection中有一个默认的隐藏字段_id,该字段
由于MongoDB的文档结构为BJSON格式(BJSON全称:Binary JSON),而BJSON格式本身就支持保存二进制格式的数据,因此可以把文件的二进制格式的数据直接保存到MongoDB的文档结构中。但是由于一个BJSON的最大长度不能超过4M,所以限制了单个文档中能存入的最大文件不能超过4M。为了提供对大容量文件存取的支持,samus驱动提供了“GridFS”方式来支持,“GridFS”方式文件操作需要引入新的程序集“MongoDB.GridFS.dll”。下面我们分别用两种方式来实现。其实对于大文件附件信息的保存问题,根据关系型数据库应用中开发的经验来看,可以考虑直接保存为文件,在数据库中只保存文件的存放地址即可,这样可以减少数据库文件大小,提高查询性能。或者将附件抽离到一个单独的数据库中,可以将附件和应用单独部署,毕竟大附件访问的频率不是很高。