1. 关于MongoDB

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

2. MongoDB版本变迁

0.x 起步阶段 2008
1.x 支持复制集和分片集 2010
2.x 更丰富的数据库功能 2012
3.x WiredTiger和周边生态环境,性能突破 2014
4.x 分布式事务支持 2018

3. MongoDB vs 关系型数据库

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

4.MongoDB的优势

4.1 简单直观:以自然的方式来建模,以直观的方式来与数据库交互

 传统关系型数据库关系复杂,难以梳理清晰,MongoDB对象模型一目了然

4.2 结构灵活:弹性模式从容相应需求的频繁变化

 4.2.1 多形性:同一个集合中可以包含不同字段(类型)的文档对象

 4.2.2 动态性:线上修改数据模式(如增加字段),修改时应用与数据库均无需下线

 4.2.3 数据治理:支持使用JSON Schema来规范数据模式。在保证模式灵活动态的前提下,提供数据治理能力

3. 快速开发:做更多的事,写更少的代码

 JSON模型之快速特性

  3.1 数据库引擎只需要在一个存储区读写
  3.2 反范式、无关联的组织极大优化查询速度
  3.3 程序API自然,开发快速

4. 原生的高可用和横向扩展能力

 4.1 Replica Set- 2 to 50个成员(建议3个及以上)

 4.2 自恢复

 4.3 多中心容灾

 4.4 滚动服务-最小化服务终端

 4.5 需要的时候无缝扩展

 4.6 应用全透明

 4.7 多种数据分部策略

 4.8 轻松支持TB-PB数量级

5.在CentOS里安装MongoDB

 5.1 下载MongoDB

   进入MongoDB的下载中心 https://www.mongodb.com/try/download,选择MongoDB Community Server,选择合适的版本进行下载(MongoDB的正式版都是偶数版本如4.2、3.6等)

复制下载链接,在CentOS系统中使用wget下载

 5.2 安装MongoDB

  5.2.1 使用命令 tar -zxvf mongodb-linux-x86_64-rhel70-4.4.0.tgz 解压压缩包

  5.2.2 将MongoDB路径加入环境变量里 export PATH=$PATH:/root/mongodb-linux-x86_64-rhel70-4.4.0/bin/

  5.2.3 在控制台输入mongo或mongod如果有正常输出表示已经安装好了

   

MongoDB学习1:认识文档数据库MongoDB的更多相关文章

  1. MongoDB学习笔记一:MongoDB的下载和安装

    MongoDB学习笔记一:MongoDB的下载和安装 趁着这几天比較空暇,准备学习一下MongoDB数据库.今天就简单的学习了一些MongoDB的下载和安装.并创建了存储MongoDB的数据仓库. 将 ...

  2. MongoDB学习笔记:Python 操作MongoDB

    MongoDB学习笔记:Python 操作MongoDB   Pymongo 安装 安装pymongopip install pymongoPyMongo是驱动程序,使python程序能够使用Mong ...

  3. MongoDB学习笔记(1):MongoDB简介

    1. MongoDB的特点: (1) 易于使用 MongoDB是一个面向文档的数据库,非关系型数据库.通过在文档中嵌入式文档和数据,面向对象的方法能够仅使用一条记录来表现复杂的层次关系.文档的键和值不 ...

  4. MongoDB 学习(三)MongoDB 和 Spring 整合(Maven)

    一.MongoDB 和 Spring 整合(Maven) 1.相关 jar 包准备 2.用 Maven 创建项目,pom.xml 文件 <project xmlns="http://m ...

  5. MongoDB学习笔记一:MongoDB基础

    目录 MongoDB是什么? 学了有什么用? MongoDB入门 安装 修改数据库位置 MongoDB的启动方式 MongoDB的图形化工具 MongoDB基本命令 增 查询 更新 删除 排序 投影 ...

  6. MongoDB学习【一】—MongoDB简介和安装

    一.MongoDB简介 1.MongoDB是什么 MongoDB是一款强大.灵活.且易于扩展的通用型数据库,MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的 ...

  7. MongoDB学习系列(3)--解决MongoDB Unexpected Shutdown问题

    晚上准备继续学习PHP+MongoDB,点击Run_MongoDB_Service.bat文件,这个文件是我写的bat文件,就是快速启动MongoDB.但是命令行一闪而过,我很奇怪.昨天晚上写代码还是 ...

  8. [转]MongoDB学习 C#驱动操作MongoDB

    下载驱动 驱动的下载有两种方式:一种是在C#项目中通过NuGet进行安装,另一种是通过下面的链接:https://github.com/mongodb/mongo-csharp-driver/rele ...

  9. MongoDB学习笔记(四) 用MongoDB的文档结构描述数据关系

    MongoDB的集合(collection)可以看做关系型数据库的表,文档对象(document)可以看做关系型数据库的一条记录.但两者并不完全对等.表的结构是固定的,MongoDB集合并没有这个约束 ...

  10. 【MongoDB学习之二】MongoDB数据库、文档、集合、元数据

    环境 MongoDB 4.0 CentOS6.5_x64 一.连接语法格式: mongodb://[username:password@]host1[:port1][,host2[:port2],.. ...

随机推荐

  1. P1330 封锁阳光大学(洛谷)

    题目描述 曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街.河蟹看到欢快的曹,感到不爽.河蟹决定封锁阳光大学,不让曹刷街. 阳光大学的校园是一张由n个点构成的无向图,n个点由m条道 ...

  2. oracle 在物理机上添加磁盘操作

    物理机上添加磁盘操作 注意:1)物理机上添加磁盘操作,不涉及到start_udev的动作.2)磁盘分区的操作,需要谨慎进行,核准无误后再操作. (1)查看磁盘名称命名 # su - grid$ sql ...

  3. Java常用开源库

    Java的经久不衰,很大程度上得益于Java的生态好.在日常开发中,我们也会经常使用到各种开源库和工具类,为了避免重复造轮子,本文将贴出工作及学习中会用到的部分开源库和工具类.Java的生态实在太大, ...

  4. 技术干货:Ceph搭建硬件建议详解

    Ceph是专为在商品硬件上运行而设计的,这使得构建和维护超大规模的数据集群在经济上是可行的.当规划出你的集群硬件时,你需要平衡一些考虑因素,包括故障域和潜在的性能问题.硬件规划应该包括将Ceph守护进 ...

  5. MySQL的权限赋予

    MySQL 赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利. grant selec ...

  6. Jarvisoj-web Login

    题目入口: http://web.jarvisoj.com:32772/ 有个登陆框,随便提交参数然后bp抓包 get到了一个Hint,给了sql查询的语句 select * from `admin` ...

  7. 前端学习(九):CSS基础

    进击のpython ***** 前端学习--CSS基础 CSS的样式可以写在哪呢?其实CSS的样式插入式十分灵活的 按照插入的形势来看,可以分为三种情况 而接下来就对这三种情况进行简单的讨论 内嵌式 ...

  8. 大数据框架Hive优化方法

    常规调优手段 Fetch抓取 某些情况查询不必用MapReduce计算,比如select*,可以直接读取文件 本地模式 有时数据量比较小,hive可以通过本地模式在单台机器上处理所有任务,对于小数据集 ...

  9. 修改了数据库文件可以识别是否最新,按数据库文件名20181217.db,日期名作文件名时间戳

    修改了数据库文件可以识别是否最新,按数据库文件名20181217.db,日期名作文件名时间戳 压缩包device.rar上传到邮箱

  10. 如何阅读一本书——分析阅读Pre

    如何阅读一本书--分析阅读Pre 前情介绍 作者: 莫提默.艾德勒 查尔斯.范多伦 初版:1940年,一出版就是全美畅销书榜首一年多.钢铁侠Elon.Musk学过. 需要注意的句子: 成功的阅读牵涉到 ...