MongoDB学习系列 -- 基础知识了解

(1)MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

(2)MongoDB数据有三个层级结构:文档→集合→数据库。如果你了解关系型数据库的话,你可以把文档类比为表中的每行记录,而集合就类似于表。在每个实例下有多个数据库,一个数据库下有多个集合,每个集合里有多个文档。

(3)文档是数据存储的基本单元,是一种类似于JSON的BSON结构。

(4)MongoDB并不是内存级别的Nosql。MongoDB中的集合是无模式的,集合中的数据可以是多种多样的。

(5)原则上建议同一个应用数据存放在一个数据库中,同种类型的文档放在同一个集合中,便于维护。

(6)每个MongoDB实例下都可以有多个数据库,每个实例下都有一个admin数据库,只有这个数据库下的用户才能进行服务的关闭以及数据库列表的展示;

(7)每个MongoDB数据库权限的校验都是独立的,可以在服务启动时通过--auth 开启;进行用户权限的校验分为两步:切换数据库、auth校验

(8)MongoDB和其他数据库一样,在各种命名、关键字使用、文档大小等方面存在一些限制,不能使用system关键字命名,如文档大小不能超过16M。

(9)MongoDB是C/S结构的,其中C的种类比较多,可以是PHP、Python、Java等语言的API,也可以是mongo(一种javascript shell)。

(10)MongoDB所采用的传输协议是不加密的,建议将MongoDB服务器部署在防火墙之后或者只有应用服务器能访问的网络中。

(11)如果你是MongoDB的初学者,一定是学会使用help命令。

        db.help()                    help on db methods
	db.mycoll.help()             help on collection methods
	sh.help()                    sharding helpers
	rs.help()                    replica set helpers
	help admin                   administrative help
	help connect                 connecting to a db help
	help keys                    key shortcuts
	help misc                    misc things to know
	help mr                      mapreduce

	show dbs                     show database names
	show collections             show collections in current database
	show users                   show users in current database
	show profile                 show most recent system.profile entries with time >= 1ms
	show logs                    show the accessible logger names
	show log [name]              prints out the last segment of log in memory, 'global' is default
	use <db_name>                set current database
	db.foo.find()                list objects in collection foo
	db.foo.find( { a : 1 } )     list objects in foo where a == 1
	it                           result of the last line evaluated; use to further iterate
	DBQuery.shellBatchSize = x   set default number of items to display on shell
	exit                         quit the mongo shell

如果你想看数据库相关的命令就使用db.help()命令,同样是db.collection.help()集合命令,再说一遍,这个命令很重要。

(12)MongoDB的数据存储位置是固定的(/data/db或者是在启动时通过dbpath指定的),只需要拷贝文件就可以实现数据的备份。
(13)MongoDB支持数据的冷备份(直接拷贝数据目录的数据,这种情况下需要首先关闭服务)以及热备份(使用mongodump命令备份以及mongorestore进行数据恢复),建议在从服务器上进行数据的备份。 

(14)MongoDB支持分布式部署以及主从部署

OK,上面只是对MongoDB基础知识有一个简单的了解,下面的文章我们会进行MongoDB详细的学习。

MongoDB学习系列 -- 常见各种限制

MongoDB学习系列 -- 数据库、集合、文档的CURD

MongoDB学习系列 -- 数组修改器

MongoDB学习系列 -- 文档查询

猜你喜欢

转载自blog.csdn.net/ydm19891101/article/details/80785890