• MongoDB学习1:认识文档数据库MongoDB


    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如果有正常输出表示已经安装好了

       

  • 相关阅读:
    servlet和springMVC框架
    JavaWeb登录、注销、退出、记住用户名和密码-session
    一个实现用户登录注销的小程序,求大神帮忙解救 ...
    log4j:WARN Please initialize the log4j system properly解决办法
    接上一篇
    Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds...
    classpath
    跳转页面代码
    程序猿学习路线
    Calendar
  • 原文地址:https://www.cnblogs.com/xiaoqingtian/p/13416439.html
Copyright © 2020-2023  润新知