MongoDB 简介 – 第一部分

作者 : 慕源网 本文共3420个字,预计阅读时间需要9分钟 发布时间: 2022-01-4 共297人阅读

介绍

在本文中,我们将讨论安装MongoDB以实现MongoDB数据库的数据结构和相关配置的设计和过程。

如果我们谈论大多数大型和可扩展应用程序或服务的核心,最好的解决方案始终是高性能数据存储解决方案。因此,每个好的应用程序总是需要适当的过程或机制来准确、快速和可靠地存储和检索数据。因此,为了解决这个问题,市场上有几种存储解决方案可供我们使用。其中,三个主要组成部分是——

  1. 文件中的直接文件系统
  2. RDBMS 或关系数据库
  3. NoSQL 数据库

以下部分描述了 NoSQL 和 MongoDB 的基本概念。

什么是 No-SQL 数据库?

NoSQL 数据库的实际含义是 Not Only SQL。这意味着 NoSQL 数据库实际上是 SQL 数据库的替代品,可以执行所有类型的查询操作,如 Microsoft SQL Server。NoSQL 包含所有不属于传统数据库管理系统 (RDBMS) 的数据库。NoSQL 数据库背后的主要目标基本上是简单的设计,包括水平和垂直扩展,以及对可用数据的轻松控制。

NoSQL 数据库第一次打破了关系型数据库的传统结构,也为开发者提供了一个机会,让他们可以按照自己的编程需求,实现像数据一样的模型。这意味着可以以传统关系数据库无法构建的方式实现和设计 NoSQL 数据库。

在当今的开发世界中,有几种不同的 NoSQL 数据库技术,如 HBase 列结构、Redis 键/值结构等。在本系列文章中,我们将讨论 MongoDB,因为它是当前可用的最流行且支持良好的 NoSQL 数据库。目前有四种类型的 NoSQL 数据库可用:

  • 文档数据库

    文档数据库始终采用面向文档的方法来存储数据。这种类型的数据库背后的主要思想是单个实体的所有数据都需要存储为一个文档,并且所有文档可以一起存储在一个集合中。该文档可以存储子文档数据,这些数据在 RDBMS 中通常存储为编码字符串或单独的表中。每个文档都可以通过唯一的密钥访问。

  • 键值数据库

    在 NoSQL 数据库类别中,键值存储是最简单的一种。这些数据库以无计划的方式存储数据。键可以指向任何类型的数据,例如对象、字符串或任何其他类型的数据。这些数据库的主要优点是它们易于实现和添加数据。可以借助键值从这些数据库中获取数据。但主要的缺点是我们无法根据存储的值找到任何元素。我们总是需要根据键名来查找数据。

  • 列存储数据库

    这些类型的数据库将数据存储在键空间内的列中。键空间始终定义在唯一的名称、值和时间戳上。这与键值数据库非常相似。

  • 图存储数据库

    这些类型的数据库主要是为可以轻松表示为图形数据的数据而设计的。这意味着数据与它们之间不确定数量的数据关系(例如家庭和社会关系等)相互关联。

什么是文档数据库?

文档数据库是一种特殊的数据库,它基于处理数据或文档的原则,而不是严格定义的信息表。这些类型的数据库在从文档中聚合数据并将它们转换为可搜索的、有组织的形式方面始终发挥着重要作用。

在面向文档的数据库中,Row 的概念被称为文档的更灵活的数据模型所取代。在这种类型中,数据库允许以面向文档的方法在单个记录中表示更复杂的分层数据关系的方式嵌入文档和数组。基本上,文档数据库始终支持半结构化数据模型。

例如,假设一份文件有两个姓名、一个地址和一份住户年龄列表。第二个文档可能有四个姓名、两个地址,并且没有年龄信息。面向文档的数据库将两者中的数据按类型存储,能够处理非固定长度的数据集。

文档数据库相对于 RDBMS 的优势

基于文档的数据库的主要优点是,

  1. 它可以存储大量结构化、半结构化或非结构化数据
  2. 集合中的每个文档相对于相同集合中的其他文档是独立的
  3. 应用程序的逻辑很容易编写,因为不需要像 SQL 数据库这样的数据库和应用程序之间的对象对话。
  4. 它支持强大的索引功能。因此,搜索数据的速度非常快。

MongoDB 的主要特性

MongoDB 不仅仅是一个通用数据库,只能在其中执行插入、更新和删除数据。除此之外,还有几个重要的特性使 MongoDB 成为 NoSQL 数据库世界中最受欢迎和最丰富的数据库之一。一些功能如下,

  1. MongoDB 支持具有动态模式的 JSON 数据模型。
  2. 在 MongoDB 中,我们可以对任何字段或任何范围查询执行搜索,也可以使用正则表达式来搜索数据
  3. MongoDB 支持二级索引,允许我们在很短的时间内搜索各种数据。它还为我们提供了不同类型的索引,如唯一索引、复合索引、地理空间索引等。
  4. MongoDB 支持聚合管道,这有助于我们构建复杂的聚合来优化数据库
  5. MongoDB 支持主从复制
  6. MongoDB 支持自动负载平衡功能。
  7. MongoDB 支持水平扩展的自动分片。
  8. MongoDB 可以存储任意大小的任何类型的文件,而不会影响我们的堆栈
  9. MongoDB 基本上使用 JavaScript 对象来代替过程。
  10. MongoDB 支持特殊的集合类型,如 TTL(生存时间),用于在特定时间到期的数据存储。

为什么以及我们需要在哪里使用 Mongo DB?

在正常情况下,当需要以高性能实现数据向数据库的高插入率时,开发人员或项目经理总是首选MongoDB。如果我们需要以低成本加载或保存数千条数据,那么 MongoDB 是我们最好的选择之一。此外,如果我们需要对数据库进行分区和分片,那么 MongoDB 也有一个内置的解决方案。此外,在 RDBMS 系统的情况下,水平缩放(添加新列)也不是很容易。但就 MongoDB 而言,由于它是无模式数据库,因此添加新字段或删除现有字段并不难。

此外,一件重要的事情是,在 MongoDB 的情况下,对于添加或删除列,我们不需要任何数据库管理员或 DBA。当应用程序更改时,它会自动更改架构结构。此外,如果您不想规范化数据或不想使用连接来获取数据,那么 MongoDB 是您的完美选择。

Mongo DB 的特权

MongoDB 支持所有类型的操作系统。MongoDB 有两个版本 – 社区服务器版(完全自用或开发者模式)和企业服务器版(用于商业目的,并获得适当的许可)。MongoDB 安装程序可用于所有类型的操作系统,如 Windows、Linux 或 Mac OS。MongoDB 的安装程序可以从 MongoDB 站点下载 –

https://www.mongodb.com/download-center#community

MongoDB 简介 - 第一部分

如何安装 Mongo DB

下载上一节中提到的 MongoDB 安装程序 MSI 后,我们需要运行安装程序。

步骤1

MongoDB 简介 - 第一部分

现在,单击下一步按钮并完成安装功能,然后单击“下一步”。

第2步

MongoDB 简介 - 第一部分

第 3 步

现在,单击“下一步”按钮。

MongoDB 简介 - 第一部分

在此窗口中,我们需要提供 MongoDB 所需的数据和日志目录的路径。此外,我们可以选择要为 MongoDB 运行的服务实例类型,例如,如果我们说网络服务实例或本地服务实例。

什么是 MongoDB 指南针?

MongoDB Compass 是一个图形界面工具,可以显示有关 MongoDB 数据库的信息,也可以执行查询。它基本上是一个简单易用、复杂的图形工具,允许任何用户在不了解 MongoDB 相关查询或命令的情况下可视化和探索 MongoDB 数据。可以从 MongoDB 官网下载。我们可以安装 MongoDB Compass 的社区版,因为它对任何用户从以下链接免费。

https://www.mongodb.com/download-center#compass

MongoDB 简介 - 第一部分

如何注册 MongoDB Atlas

MongoDB 不仅提供了像 Compass 这样的 GUI 工具。它还提供 MongoDB 数据库即服务。它被称为 MongoDB Atlas。MongoDB Atlas 为现代应用程序提供 MongoDB 数据库作为具有所有操作和安全最佳实践的全自动云服务。因此,将其用作服务,我们可以轻松地在任何数据库平台上部署、操作和扩展我们的数据库。因此,我们可以通过以下链接注册 MongoDB Atlas。

https://www.mongodb.com/download-center#atlas

MongoDB 简介 - 第一部分

注册完成后,我们可以从以下位置登录MongoDB Atlas服务,并可以在沙箱中为工作创建新的MongoDB项目。
https://www.mongodb.com/cloud/atlas

我们将在本系列文章的后续文章中讨论 MongoDB Atlas 服务。

结论

在本文中,我们讨论了 MongoDB 的基本概念。此外,我们还讨论了如何安装和配置 MongoDB。我希望这篇文章能帮到你。欢迎任何与本文相关的反馈或查询。在下一篇文章中,我们将讨论如何将记录插入到 MongoDB 数据库中。

下一篇文章 >>在 MongoDB 中插入更新删除文档 – 第 2 部分


慕源网 » MongoDB 简介 – 第一部分

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录