(1)MongoDB是个啥玩意?

一、bug哥有话说:

电脑中所有的数据最后的归宿只有一个地方——硬盘。如果它没有存到硬盘,那么它就永远消失在这个世界。

你遇到过正在编辑一个word文档突然电脑蓝屏的情况吗?编辑文档时,修改是发生在内存的,所以我们需要经常保存( ctrl + s )文档,把修改过的数据写到硬盘去,这样即使电脑蓝屏,下次开机,还能从硬盘读出数据。

数据存在于硬盘,最熟悉的就是我们打开“我的电脑”,在D,E,F等盘里看到的各种文件。相信文件一多了,大家都会觉得自己电脑里的目录和文件乱七八糟的,毕竟这里一个txt,那里一个doc,有时想找个文档,还不知道放到哪个目录里去了。

就像房子乱了需要一个管家,电脑上的数据也需要,而MongoDB正是一个管理数据的管家——它是一款软件,用于管理数据。

二、MongoDB究竟是什么?

对计算机稍有了解的人肯定听过数据库和MySQL。它们是一样的东西吗?不是。简单说来,数据库就存放了众多数据的仓库(硬盘),而MySQL则是众多管理数据库的一个软件。通过MySQL这个软件提供的功能,我们能够简便地操作数据(增删改查)。然而,MySQL只是众多管理数据的方式,毕竟条条大路通罗马,MySQL有它的管理数据方式,其他软件开发者也能开发出新的软件进行数据管理,比如Redis,MongoDB。

说到这你应该明白了吧,MongoDB是一个管理数据库的软件,学习它,我们就能更好地管理各种数据。

下面是官方对MongoDB的解释:

MongoDB是一个文档数据库,旨在简化开发和扩展。

  • MongoDB的版本?

MongoDB提供数据库的社区版和企业版。MongoDB社区板是可用且可免费使用,MongoDB社区版的源代码地址:https://github.com/mongodb/mongo/

  • 什么是文件数据库?

MongoDB中的记录是一个文档,它是由字段和值对组成的数据结构。MongoDB文档类似于JSON对象。字段的值可以包括其他文档,数组和文档数组。下图是个简单例子:

(1)MongoDB是个啥玩意?_第1张图片

如果你对上面说的内容概念还模糊,不用怕,一步一步深入,当你亲自使用了MongoDB,很容易就理解了。毕竟光说不练假把式,等你动手了,是猪,是牛,一眼就分辨得清楚。这就是为什么任何学科都要理论与实践相结合。

  • 使用一个一个的文档来存放数据有什么好处?

    1. 文档(即对象)对应于许多编程语言中的本机数据类型(利于编程)。
    2. 嵌入式文档和数组减少了对昂贵连接的需求(减少数据库频繁的链接,提高性能)。
    3. 动态模式支持流畅的多态性。

三、MongoDB有哪些让你不得不用的优点?

  1. MongoDB提供高性能数据持久性。特别是,

1.1 对嵌入式数据模型的支持减少了数据库系统的I / O活动。
1.2 索引支持更快的查询,并且可以包含来自嵌入式文档和数组的键。
1.3 MongoDB支持丰富的查询语言以支持读写操作(CRUD)以及:

数据聚合,文本搜索和地理空间查询。

MongoDB的复制工具称为副本集,它提供:自动故障转移数据冗余
副本集是一组保持相同的数据集,从而提供冗余和提高数据可用性的MongoDB服务器。

  1. MongoDB提供水平可伸缩性作为其核心功能的一部分:

2.1 分片在一组计算机集群分布数据。从3.4版本开始,MongoDB支持基于分片键创建数据区域。在平衡群集中,MongoDB仅将区域覆盖的读取和写入指向区域内的分片。
MongoDB支持多个存储引擎:

  • WiredTiger存储引擎(包括对静态加密的支持 )
  • 内存存储引擎
  • MMAPv1存储引擎(在MongoDB 4.0中不推荐使用)

此外,MongoDB提供可插拔存储引擎API,允许第三方为MongoDB开发存储引擎。

四、下一章是?

最后,现版本的MongoDB到了4.0,下面的教程都是基于现版本的4.0社区版。下一章节将会介绍如何安装MongoDB这个软件。

你可能感兴趣的:(MongoDB,MongoDB从入门到放弃)