说明:
(1) 本篇博客内容:MongoDB简介,CentOS7中安装MongoDB,使用Navicat连接MongoDB,MongoDB开启用户账号权限,MongoDB创建账号;
目录
一:MongoDB,简介;
1.NoSql数据库;
(1)MongoDB是非关系型数据库;
(2) 其可以存储JSON数据;即,MongoDB适合存储JSON这种文档数据
● MongoDB的数据格式很灵活,比MySQL、MariaDB更灵活;
● 一些JSON文档数据,使用MongoDB来存储;可以帮MySQL等数据库,分摊一部分的流量压力;
……………………………………………………
2.内存级别查询;
(1)对于一些经常需要读写数据,MongoDB会将其放在内存中;
● 这样一来,MongoDB对于一些热数据的并发性能是很高的;这可以帮助提升系统的整体效率;
……………………………………………………
3.不支持事务;
(1)对于一些非事务的数据,完全是可以保存到MongoDB中的;
● 这些非事务的数据,往往也都是一些非核心数据(2)即,我们可以把一些【非核心】+【读写有很高的并发】的数据,放在MongoDB中的;
● 比如,物流系统中的"车辆运行轨迹"、"GPS坐标"、"大气检测中的动态指标"数据;
● 或者,当前系统中,首页的友情链接数据;
● 这样的数据,不是很重要,但是其并发读是很高的;所以,完全可以把其放在MongoDB中;
……………………………………………………
4.GridFS小文件存储;
(1)MongoDB还提供了一个GridFS;GridFS适合存储一些小文件;而且,我们可以自己去把控接口的读取权限;
● 一般,身份证信息、人脸信息等,我们是可以把其存储在MongoDB的GridFS中的;
(1)【MySQL:database:逻辑空间】,【MongoDB:dataBase】;
● 在MySQL中,一个database就是一个逻辑空间;
● 和MySQL一样,MongoDB也有dataBase;
(2)【MySQL:table:表】,【MongoDB:collection】;
● 在MySQL中,一database中包含很多的表,也就是table;
● 在MongoDB中,没有table的概念,而是collection数据集合;每个database中,可以包含多个不同的collection数据集合;比如,我们可以有一个用户的集合,也可以有一个订单的集合;
(3)【MySQL:row:行】,【MongoDB:document】;
● 在MySQL中,一张表中是一行一行的记录;
● 在MongoDB中,没有row 行(记录)的概念;MongoDB的collection集合中,是一个一个的document 文档;document一般是JSON的形式; 一个JSON,本身就是一个JSON对象;其可以转换成MySQL中的一条记录(row);
(4)【MySQL:column:列】,【MongoDB:field】;
● 在MySQL中,有列的概念;
● 在MongoDB中,其document中的是field;field其实就是,JSON对象中的某个属性;
(5)【MySQL:index:索引】,【MongoDB:index】;
● MySQL和MongoDB都有索引;
(6)在MySQL中,可以进行join表关联查询;而MongoDB是非关系型数据库,其没有关联查询;
(7)【MySQL:主键id】,【MongoDB:_id】;
(1)如上图的例子中,UserList可以看成是某个database中的collection;