MongoDB全面认识

MongoDB 是一个非关系型数据库(NoSQL)。它拥有很多优秀特性,例如高性能、高可用、支持丰富的查询语句、无需预定义数据模型和水平可伸缩等,这些特性使它受到众多开发者的青睐。

内容提要:在认识 MongoDB 之前,我们需要了解一些非关系型数据库的概念,这有助于我们更全面的认识 MongoDB。接着学习 MongoBD 的安装、交互式接口的使用和 MongoDB 的数据类型。

01 初识 NoSQL

NoSQL 泛指非关系型数据库,该词是关系型数据库(即 SQL)的相对称呼。我们常用的关系型数据库无法满足 WEB2.0 时代的需求,在实际应用中暴露了很多难以克服的问题。
NoSQL 的产生就是为了解决例如海量数据的存储、弹性可伸缩和灵活性等方面的挑战。

02 NoSQL 的分类

NoSQL 数据库数量很多,但可以划分为如下图所示的 4 大类:

在这里插入图片描述
每种类型都有一个我们熟知的数据库代表,例如文档型存储数据库的代表就是 MongoDB。以下列出不同类型数据库的适用场景和数据库代表:

  1. 键值存储数据库:查询速度快,非常适合业务关系简单的场景。数据库代表——Redis;
  2. 列存储数据库:数据以列簇形式存储,通常用来应对分布式存储的海量数据,数据库代表——HBase;
  3. 文档型存储数据库:适合存储结构化、半结构化的文档和特定格式的文档。数据库代表——MongoDB;
  4. 图形数据库:它使用灵活的图形模型,适合推荐系统、社交网络。数据库代表——Neo4J。

03 NoSQL 的范围和定义

NoSQL 数据库并没有明确的范围和定义,但它们都存在以下特征:

  1. 不需要预定义模式:不需要事先定义数据模式,预定义表结构。数据中的每条记录都可能有不同的属性和格式。当插入数据时,并不需要预先定义它们的模式。
  2. 无共享架构:相对于将所有数据存储的存储区域网络中的全共享架构。NoSQL往往将数据划分后存储在各个本地服务器上。因为从本地磁盘读取数据的性能往往好于通过网络传输读取数据的性能,从而提高了系统的性能。
  3. 弹性可扩展:可以在系统运行的时候,动态增加或者删除结点。不需要停机维护,数据可以自动迁移。
  4. 分区:相对于将数据存放于同一个节点,NoSQL数据库需要将数据进行分区,将记录分散在多个节点上面。并且通常分区的同时还要做复制。这样既提高了并行性能,又能保证没有单点失效的问题。
  5. 异步复制:和 RAID 存储系统不同的是,NoSQL中的复制,往往是基于日志的异步复制。这样,数据就可以尽快地写入一个节点,而不会被网络传输引起迟延。缺点是并不总是能保证一致性,这样的方式在出现故障的时候,可能会丢失少量的数据。
  6. BASE:相对于事务严格的ACID特性,NoSQL 数据库保证的是BASE特性。BASE是最终一致性和软事务。

归纳:NoSQL 适用于数据模型较简单、无高度的数据一致性需求,但要求高性能和灵活性的情况。

04 安装 MongoDB

win10安装MongoDB参照https://blog.csdn.net/stormdony/article/details/79837480

在 Ubuntu 18.04 TLS 中安装 MongoDB

安装共有 5 个步骤:导入公钥,创建列表,更新库列表,安装,验证。

Ubuntu 软件包管理工具要求使用 GPG 密钥签署软件包,以确保软件包一致性和真实性,所以我们在安装前必须导入 MongoDB 的 GPG 密钥。在终端输入以下命令:

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
命令执行后,终端输出内容如下:

gpg: 密钥 68818C72E525xxxx:公钥“MongoDB 4.0 Release Signing Key <packaging@mongodb.com>”已导入
gpg: 合计被处理的数量:1
gpg: 已导入:1

这说明密钥添加成功。接着为 MongoDB 创建列表文件。在终端输入以下命令:

$ echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

然后更新库列表,对应命令如下:

$ sudo apt-get update

待列表更新完毕后,就可以执行 MongoDB 的安装命令了。对应命令如下:

$ sudo apt-get install -y mongodb-org

命令执行后,终端输出内容如下:

完成。
正在添加用户"mongodb"到"mongodb"组...
正在将用户“mongodb”加入到“mongodb”组中
完成。
正在设置 mongodb-org (4.0.10) ...

这代表 MongoDB 已成功安装。要注意的是,apt-get 命令会在新版本可用时升级软件包。为防止意外升级,我们可以将软件包固定在当前安装的版本上。对应命令如下:

$ echo "mongodb-org hold" | sudo dpkg --set-selections
$ echo "mongodb-org-server hold" | sudo dpkg --set-selections
$ echo "mongodb-org-shell hold" | sudo dpkg --set-selections
$ echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
$ echo "mongodb-org-tools hold" | sudo dpkg --set-selections

最后,使用 --version 验证 MongoDB 是否安装成功。验证命令如下:

$ mongo --version

命令执行后,终端输出内容如下:

MongoDB shell version v4.0.10
git version: c389e7f69f637f7a1ac3cc9fae843b635f20b766
OpenSSL version: OpenSSL 1.1.0g  2 Nov 2017
allocator: tcmalloc
modules: none
build environment:
    distmod: ubuntu1804
    distarch: x86_64
    target_arch: x86_64

这说明 MongoDB 已成功安装。MongoDB 安装完成后并未自动启动,启动命令如下:

$ sudo systemctl start mongod

命令执行后,如无报错信息即视为启动成功。当然,我们也可以为它设置开机启动。对应命令如下:

$ sudo systemctl enable mongod

以上就是在 Ubuntu 18.04 TLS 系统中安装 MongoDB 的过程。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值