在大谈特谈大数据与非结构化数据的今天,如果只懂的Oracle、MSSQL、MYSQL等关系型数据库,而对MongoDB等非关系型数据库一窍不通,就未免显得有点与时代格格不入了。鉴于此,本人开始学习研究MongoDB,以求解决非格式化大数据的存储及检索等问题。
1.MongoDB是什么?
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
2.MongoDB与其它关系型数据库有哪些区别?
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。
MongoDB中没有table、row的概念,但是有Collection和Document的定义,MongoDB与其它关系型数据库的影射是这样的:
Document ----------> Row
Collection ----------> Table
DataBase ----------> DataBase
3.MongoDB的特点
Mongo最大的特点是他支持的查询语言非常强大,
其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
4.MongoDB的检索
MongoDB的检索与其它关系型数据库检索的方式类似,但语法不同。在某些情况下,MongoDB的检索功能比关系型数据库还要强大,当然这与MongoDB存储的方式也有关。