IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 一幅长文细学MongoDB(一)——MongoDB相关概念 -> 正文阅读

[大数据]一幅长文细学MongoDB(一)——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概念说明
databasedatabase数据库
tablecollection数据库表/集合
rowdocument数据记录行/文档
columnfield数据字段/域
indexindex索引
table joins表连接,mongoDB不支持
嵌入文档MongoDB通过嵌入式文档来代替多表连接
primary keyprimary key主键,MongoDB自动将_id字段设置为主键

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

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

1.5 MongoDB特点

  • 高性能
  • 高可用
  • 高扩展
  • 丰富的查询支持
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-09-24 21:03:44  更:2022-09-24 21:06:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:19:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码