一幅长文细学MongoDB(一)——MongoDB相关概念

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: MongDB是NoSQL(非关系数据库的一种),其具有十分广泛的应用场景。在本文中,我们会详细谈论MongoDB的相关概念

1.MongoDB相关概念

1.1 什么是MongDB

说明:传统的关系型数据库在新时代大数据发展的趋势下,仅仅只能存储结构化数据的数据库并不能满足业务的需求,为了解决大数据的问题,NoSQL应运而生。

MongDB是NoSQL(非关系数据库的一种),其具有十分广泛的应用场景,如:

  • 使用MongoDB存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现父级的人、地点等功能
  • 使用MongoDB存储游戏用户信息、用户的准备、积分等直接以文档的形式存储,方便查询、高效率存储和访问
  • 使用MongoDB存储订单信息,订单状态在运送过程中会不断更新,以MongDB内嵌数组的形式来存储,一次查询就能将订单所有的变更读取出来
  • 等等。。。

在以上的应用场景中,数据操作方面的共同特点是:

  • 数据量大
  • 读写操作频繁
  • 带有大数据的4V特点


1.2 什么时候选择MongoDB

选择考虑

  • 应用不需要事务以及复杂的join支持
  • 新应用,需求汇编,数据模型无法确定,向快速迭代开发
  • 应用需要2000-3000以上的读写
  • 应用发现迅速,需要能快速水平扩展
  • 应用要求存储的数据不丢失
  • 需要高可用性

对比:Mysql也不是不能选择,但选择MongoDB可以以更低的成本来存储数据。


1.3 MongoDB简介

说明:MongoDB是一个开源、高性能、无模式的文档型数据库,这和它最初的设计理念是符合的。它支持的数据结构非常松散,是一种类似于JSON的数据类型BSON,所以它既可以存储比较复杂的数据类型,又相当地灵活。

MongoDB中的记录是一个文档,它是一个由字段和值对组成的数据结构,MongoDB文档类似于JSON对象,即一个文档认为就是一个对象,字段的数据类型是字符型,它的值除了使用基本的一些类型外,还可以包括其他的文档、普通数组和文档数组。


1.4 体系结构

我们将MongoDB与Mysql对比学习,才能体会更深:

image-20220920103104281

MySQL概念 MongoDB概念 说明
database database 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column field 数据字段/域
index index 索引
table joins 表连接,mongoDB不支持
嵌入文档 MongoDB通过嵌入式文档来代替多表连接
primary key primary key 主键,MongoDB自动将_id字段设置为主键

有一些数据库名是保留的,可以直接访问这些有特殊作用的数据库。

  • admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
  • local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
  • config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。


1.5 MongoDB特点

  • 高性能
  • 高可用
  • 高扩展
  • 丰富的查询支持
相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
5月前
|
存储 NoSQL 关系型数据库
mongodb 基本概念
mongodb 基本概念
|
2天前
|
NoSQL MongoDB 数据库
|
3月前
|
存储 NoSQL 关系型数据库
|
3月前
|
存储 NoSQL 关系型数据库
1-MongoDB相关概念
1-MongoDB相关概念
|
3月前
|
存储 NoSQL Shell
MongoDB相关概念
MongoDB是一种面向文档的NoSQL数据库,旨在为Web应用提供可扩展的高性能数据存储解决方案。它支持的数据结构非常松散,采用类似于JSON的BSON格式,可以存储复杂的数据类型。MongoDB的查询语言非常强大,几乎可以实现类似关系数据库的大部分功能,并支持对数据建立索引。与传统关系数据库相比,MongoDB由数据库、集合和文档三个层次组成,使用丰富的查询表达式,可以轻松查询文档中的内嵌对象和数组。MongoDB具有高性能、丰富的查询语言和高可用性等特点,适用于各种应用场景。
212 1
|
10月前
|
存储 监控 NoSQL
MongoDB的基本概念和主要特点
MongoDB的基本概念和主要特点
149 0
MongoDB的基本概念和主要特点
|
11月前
|
存储 NoSQL JavaScript
软件开发入门教程网之MongoDB 概念解析
【摘要】 本章将会讲解不管我们学习什么数据库都应该学习其中的基础概念,在mongodb中基本的概念是文档、集合、数据库,下面我们挨个介绍。
|
存储 JSON NoSQL
玩转MongoDB—基本概念及初步使用
玩转MongoDB—基本概念及初步使用
|
存储 JSON NoSQL
MongoDB 的基本概念及原理
MongoDB 的基本概念及原理
MongoDB 的基本概念及原理
|
存储 JSON NoSQL
玩转MongoDB—基本概念及初步使用
Hello 朋友们:v:,本次我们介绍一种NoSQL数据库,也是当前除了Redis以外比较主流的非关系型数据库—MongoDB,它也被称为文档数据库,并且数据格式类似于JSON,是不是很期待,那我们就马上开始本次的文章讲解!:see_no_evil:
149 0
玩转MongoDB—基本概念及初步使用