MongoDB零基础入门到高级进阶-尚学堂

Posted 多加关注哟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB零基础入门到高级进阶-尚学堂相关的知识,希望对你有一定的参考价值。

一、MongoDB简介

1、什么是MongoDB

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。


2、什么是NoSQL

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。

NoSQL是否能代替关系型数据库?

现在还不能,关系型数据库用于数据的持久化,而NoSQL主要用户数据的检索


3、NoSQL数据库的分类

3.1 键值(Key-Value)存储数据库

这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了。举例如redis


3.2 列存储数据库

这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。如:Cassandra, HBase, Riak。


3.3 文档型数据库


3.4 图形数据库


二、MongoDB与关系型数据库的对比

1、MongoDB与关系型数据库的术语对比

clipboard


2、数据存储对比

clipboard


3、RDBMS 与 MongoDB对应的术语

RDBMS :related database management system

clipboard


三、MongoDB的数据类型

clipboard


四、MongoDB的下载和安装

1、下载MongoDB

下载地址:https://www.mongodb.com/download-center/community


2、安装MongoDB

1)上传 MongoDB安装包到linux系统中 /home/leyou文件夹下

clipboard


2)解压缩

tar -xvf mongodb-linux-x86_64-rhel70-4.0.25.tgz


3)将解压后的mongoDB目录移动到 /opt目录中并改名为 mongodb

mv mongodb-linux-x86_64-rhel70-4.0.25 /opt/mongodb

clipboard


4)创建数据存储目录

MongoDB的数据可以通过配置存储在任意目录下,在案例中存储在$MongoDB_HOME/data/db目录中,这个目录需要手动创建

mkdir -p /opt/mongodb/data/db/


5)创建日志存储目录

MongoDB的日志数据可以通过配置存储在任意目录下,在案例中存储在$MongoDB_HOME/logs目录中,且日志文件名为mongodb.logs。这个目录和日志文件需要手工创建

mkdir -p /opt/mongodb/logs/

touch /opt/mongodb/logs/mongodb.log

clipboard

至此,MongoDB安装成功


3、MongoDB的启动

1) MongoDB的启动方式分为两种

①、前置启动

②、后置启动


前置启动:

MongoDB的默认启动方式为前置启动。所谓前置启动就是MongoDB启动进程后会占用当前终端窗口

命令为:/opt/mongodb/bin/mongod --dbpath /opt/mongodb/data/db/


后置启动

所谓后置启动就是以守护进程的方式启动MongoDB。命令中的fork就是开启子进程。

命令为:

/opt/mongodb/bin/mongod --dbpath /opt/mongodb/data/db/ --logpath /opt/mongodb/logs/mongodb.log –fork


配置启动

命令启动并不适合管理,毕竟每次输入命令都需要考虑各参数的配置。可以通过配置文件来配置启动参数,这样在管理MongoDB上比较方便

①、编辑配置文件

mkdir /opt/mongodb/etc/

vi /opt/mongodb/etc/mongodb.conf

dbpath=/opt/mongodb/data/db/

logpath=/opt/mongodb/logs/mongodb.log

logappend=true

bind_ip_all=true

port=27017

fork=true

port是端口,27017即默认的MongoDB端口号。

bind_ip_all是绑定所有IP,即所有客户端都可以访问


②、启动

/opt/mongodb/bin/mongod --config /opt/mongodb/etc/mongodb.conf

或者

/opt/mongodb/bin/mongod -f /opt/mongodb/etc/mongodb.conf


4、MongoDB关闭

1)前置启动关闭,使用 ctrl+C

如果我们的启动方式是前置启动,那么直接使用快捷键ctrl+c就可以关闭mongoDB。这种关闭方式会等待当前进行中的操作完成,所以是安全的关闭方式


2)使用kill命令关闭

我们可以通过Linux的kill命令结束mongoDB进程,然后删除data/db目录中的mongod.lock文件,否则下次无法启动,但是此方法不建议使用,因为会造成数据损坏现象


3)使用mongoDB的函数关闭

连接到MongoDB服务后,切换到admin库,并使用命令关闭服务。

use admin

db.shutdownServer()

db.runCommand(“shutdown”)


4)使用mongod的命令关闭

mongod --shutdown --dbpath <path>

mongod命令的shutdown选项能安全的关闭 MongoDB服务

以上是关于MongoDB零基础入门到高级进阶-尚学堂的主要内容,如果未能解决你的问题,请参考以下文章

Java面试中被问到过哪些问题基础篇

尚学堂java教程基础视频?

java学习路线-Java技术人员之路从0基础到高级

零基础入门到精通:Python大数据与机器学习之Pandas-数据操作

适合零基础学习的asp.net入门教程

nodejs vuejs java python 入门到高级视频