MongoDB介绍

疑问 解答
什么是 MongoDB 一个以 JSON 为数据模型的文档数据库
为什么叫文档数据库? 文档来自于 “JSON Document”,并非我们一般理解的 PDF,WORD 文档
谁开发 MongDB? 上市公司 MongoDB Inc. ,总部位于美国纽约。
主要用途 应用数据库,类似于 Oracle,MySQL
海量数据处理,数据中台
主要特点 建模为可选
JSON 数据模型比较适合开发者
横向扩展可以支撑很大数据量和并发
MongoDB 是免费的吗? MongoDB 有两个发布版本:社区版和企业版。
社区版是基于 SSPL,一种和 AGPL 基本类似的开源协议
企业版是基于商业协议,需付费使用

MongoDB VS 关系型数据库

MongoDB RDBMS
数据模型 文档模型 关系模型
数据库类型 OLTP OLTP
CURL 操作 MQL/SQL SQL
高可用 复制集 集群模式
横向扩展能力 通过原生分片完善支持 数据分区或者应用侵入式
索引支持 B-树、全文索引、地理位置索引、多键(multikey)索引、TTL索引 B 树
开发难度 容易 困难
数据容量 没有理论上限 千万、亿
扩展方式 垂直扩展+水平扩展 垂直扩展

MongoDB 优势:面向开发者的易用+高效数据库

  • 简单直观:以自然的方式来建模,以直观的方式来与数据库交互
  • 结构灵活:弹性模式从容响应需求的频繁变化
  • 原生的高可用
    • Replica Set - 2 to 50 个成员
    • 自恢复
    • 多中心容灾能力
    • 滚动服务 - 最小化服务终端
  • 横向扩展能力
    • 需要的时候无缝扩展
    • 应用全透明
    • 多种数据分布策略
    • 轻松支持 TB - PB 数量级
  • 快速开发:做更多的事,写更少的代码
    • 数据库引擎只需要在一个存储区读写
    • 反范式、无关联的组织极大优化查询速度
    • 程序 API 自然,开发快速

灵活:快速响应业务变化

  • 多形性:同一个集合中可以包含不同字段(类型)的文档对象
  • 动态性:线上修改数据模式,修改是应用与数据库均无须下线
  • 数据治理:支持使用 JSON Schema 来规范数据模式。在保证模式灵活动态的前提下,提供数据治理能力。

MongoDB 技术优势总结

  • JSON 结构和对象模型接近,开发代码量低
  • JSON 的动态模型意味着更容易响应新的业务需求
  • 复制集提供 99.999% 高可用
  • 分片架构支持海量数据和无缝扩容

MongoDB 全家桶

软件模块 描述
mongod MongoDB 数据库软件
mongo MongoDB 命令行工具,管理 MongoDB数据库
mongodump/mongorestore MongoDB路由进程,分片环境下使用
mongoexport/mongoimport 命令行数据库备份与恢复工具
Compass MongoDB GUI 管理工具
Ops Manager(企业版) MongoDB 集群管理软件
BI Connector(企业版) SQL解释器/BI套接件
MongoDB Charts(企业版) MongoDB 可视化软件
Atlas(付费及免费) MongoDB 云托管服务,包括永久免费云数据库

MongoDB 模型设计基础

数据模型大的三要素

  • 实体
  • 属性
  • 关系

数据模型的三层深度

  • 概念模型
  • 逻辑模型
  • 物理模型

一个模型逐步细化的过程

MongoDB 简单介绍的更多相关文章

  1. Mongodb简单介绍安装

    具体详细内容,请查阅 Mongodb官方文档 一.简单介绍 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. M ...

  2. Mongodb简单介绍

    1. 简单介绍 Mongodb是一种强大.灵活,可扩展的数据存储方式.属于nosql.非关系型数据库的一种. mongodb是面向文档的数据库. 尽管是非关系型数据库.可是它保留了很多关系型数据库的特 ...

  3. mongoDB简单介绍及安装

    近期一段时间对mongoDB进行了简单的学习,从它是什么?干什么?怎么用?优缺点?这一系列的疑问到如今可以简单运用.我想须要对其进行简单的总结和概述.那么这一篇就从最基础的開始,对其主要的概念和安装来 ...

  4. MongoDB(1)--简单介绍以及安装

    前段时间接触了NoSql类型的数据库redis,当时是作为缓存server使用的.那么从这篇博客開始学习还有一个非常出名的NoSql数据库:MongoDb.只是眼下还没有在开发其中使用.一步一步来吧. ...

  5. mongodb基础整理篇————简单介绍[一]

    前言 简单介绍一下文档数据库. 正文 mongodb 是一个以json为数据模型的文档数据库. 这里要介绍一下什么是json.因为有些人认为'{a:1,b:2}' 是json,而"this ...

  6. mongodb 简单部署方案及实例

    mongodb 简单部署方案及实例 转载:http://my.oschina.net/zhuzhu0129/blog/53290 第一节 准备工作 一 安装mongodb  我这里选用rehl 5.6 ...

  7. MongoDB应用介绍之前

    MongoDb企业应用实战(一) 写在MongoDB应用介绍之前   故事背景: 本人有幸,经老友( 现为x知名快递公司技术总监 ) 推荐进入中国前三大民营快递公司之一工作,在此非常感谢他,在此也非常 ...

  8. 第一篇:SpringBoot2.0简单介绍

    距离Spring Boot1.0发布已经4年了,今年3月份SpringBoot2.0正式发布.让我们一起来了解一下它. Spring Boot主要依赖于Spring,整合了很多框架的使用方式,帮助开发 ...

  9. MongoDB shell 介绍

    MongoDB shell 介绍 MongoDB自带javascript shell, 可在shell中使用命令行与MongoDB实列交互.shell可以执行管理操作,检查运行实列等等操作. 一:如何 ...

  10. MongoDB分片介绍

    本文简单介绍MongoDB的分片功能,对分片进行了概述,具体的功能详解,后续文章会陆续推出 分片是把数据分配到多个服务器上的一种方式,MongoDB使用分片实现大数据部署以及高吞吐操作. 大数据以及高 ...

随机推荐

  1. Qt/C++编写视频监控系统82-自定义音柱显示

    一.前言 通过音柱控件实时展示当前播放的声音产生的振幅的大小,得益于音频播放组件内置了音频振幅的计算,可以动态开启和关闭,开启后会对发送过来的要播放的声音数据,进行运算得到当前这个音频数据的振幅,类似 ...

  2. Qt编写地图综合应用33-雨量分布

    一.前言 雨量分布图是在区域地图基础上,针对区域中的每个最小单位区域比如县城点位不同颜色显示,最开始做这个封装的时候,并没有提供单独设置每个点颜色的接口,后面经过几个客户的强烈建议,咬咬牙把每个点都可 ...

  3. Qt开源作品13-三套样式表

    一.前言 在做各种各样的项目中,难免遇到需要设定自己界面风格样式的时候,而Qt提供的qss就是牛逼的为了实现定制各种各样的皮肤的,其实一个完美的UI界面,主要由两大块组成,一个是颜色搭配,一个是布局, ...

  4. rysnc使用手册

    rsync 是一个用于在本地和远程计算机之间同步文件和目录的命令行工具.它具有许多强大的功能,包括增量传输.压缩和保留权限等.以下是一些 rsync 的常用选项和用法示例: 基本用法 rsync [O ...

  5. g2o编译出现的问题及解决办法 By not providing "FindG2O.cmake" in CMAKE_MODULE_PATH this project has

    在安装完该g2o之后 运行一些程序 如高翔的ch6 代码会出现如下错误: CMake Warning at CMakeLists.txt:10 (FIND_PACKAGE): By not provi ...

  6. C# 设置label(标签)控件的背景颜色为透明

    有时候,我们需要将控件的背景颜色设定为透明,比如说label(标签)控件.那么,如何将控件的背景颜色设定为透明?是不是只要将控件的BackColor属性设为Transparent(透明)就可以了呢?答 ...

  7. React 应用的 Nginx 缓存控制

    典型 React 应用面临的缓存问题,可通过 Nginx 配置进行解决 通用部署 构建应用后,只需使用 Nginx 指向静态文件即可 server { listen 80; root /PATH/TO ...

  8. Final Review - 返回天空的雨滴

    目录 Motivations Tricks Conclusions Algorithms And - \[\text{Each moment, now night.} \newcommand{\vct ...

  9. Note -「广义二项级数」浅赏

      上回 说到拉反和扩展拉反,那么这里先给几个小小变形或推广.   基础 ver: \[\begin{align} [x^n]G(x) &= \frac{1}{n}[x^{n-1}](F(x) ...

  10. 2025-01-15:执行操作可获得的最大总奖励 Ⅰ。用go语言,给定一个整数数组 rewardValues,其中包含 n 个代表奖励值的数字。 你开始时的总奖励 x 为 0,并且所有下标都是未标记状

    2025-01-15:执行操作可获得的最大总奖励 Ⅰ.用go语言,给定一个整数数组 rewardValues,其中包含 n 个代表奖励值的数字. 你开始时的总奖励 x 为 0,并且所有下标都是未标记状 ...