zoukankan      html  css  js  c++  java
  • MongoDB概述

    MongoDB是一个高性能、高可用的、自动伸缩的开源的文档型数据库。MongoDB数据库把文档存在集合collection)中。集合中的文档它们不需要相同的schema,每个文档都可以有不同的schema。 这使得MongoDB比传统的RDBMS更灵活,因为你不用为预先定义schema而操心。

    如图所示:



    Document 数据库

      在MongoDB中一条记录就是一个document,是由 field 和值这样的键值对组成的数据结构。MongoDB的document类似于一个JSON对象,document中的 field 的值也可以包括其他的document ,数组和 document的数组。下图就是一个document的样例:

    使用 document 的优点:

    • 可以与许多编程语言中的本地数据类型相对应
    • 由于document支持嵌套,这样可以减少类似关系型数据库中的表连接操作,减少了性能开销
    • 动态的schema相对关系型数据的表的schema有更大的灵活度,比如方便的提供多态的特性

    关键特性

    高性能

    MongoDB提供高性能的数据持久化。特别是:

    • 支持嵌入的数据模型可以减少 I/O的操作
    • 通过索引支持更快的查询,并且索引对嵌入的document和数组也有作用

    丰富的查询语言

    MongoDB提供丰富的查询语言支持CRUD的读写操作,并且还支持:

    •  聚合管道,是一个基于数据处理管道概念的数据聚合的框架
    •  全文检索和地理化信息查询

    高可用

    MongoDB的复制机制又称 replica set (副本集),提供:

    •   自动故障转移
    •   数据冗余备份

    一个副本集是一组MongoDB服务器,它们维护相同的数据集,提供冗余和增加数据可用性。

    水平扩充

     MongoDB提供了水平的可伸缩性作为其核心功能的一部分:

    •  可以在一个集群的机器上进行数据切片
    •  从3.4开始,MongoDB支持基于分片键创建数据区(Zone)。在一个负载均衡的集群中,MongoDB读写操作可以只涉及到数据区内的那些分片数据。

    支持多个存储引擎

     MongoDB支持以下存储引擎:

    •   WiredTiger 存储引擎 (包括支持空闲时密 ,这是Mongo默认的存储引擎)
    •   In-Memory 存储引擎
    •   MMAPv1存储引擎 (4.0版本被弃用)

    此外,MongoDB还提供了可插入的存储引擎API,允许第三方为MongoDB开发存储引擎。

  • 相关阅读:
    文章截断显示方法
    mysql数据库基础知识和认识
    js 返回上一页和刷新以及页面跳转
    编译原理根据项目集规范族构造LR(0)分析表
    编译原理LR(0)项目集规范族的构造详解
    编译原理复习
    FIRST集合、FOLLOW集合及LL(1)文法求法
    UML时序图
    UML活动图(二)
    UML活动图(Activity Diagram)
  • 原文地址:https://www.cnblogs.com/hzhuxin/p/9590254.html
Copyright © 2011-2022 走看看