zoukankan      html  css  js  c++  java
  • MongoDB的主要特性概述

    一、文档数据模型

      文档是一组属性名和属性的集合。相较于关系数据库复杂的规范化,面向文档的数据模型很容易以聚合的形式来表示数据。文档采用无Schema的形式,这种做法带来了一定的优势:首先,由应用程序,而非数据库来保证数据结构;其次,无Schema的模型允许用真正可变属性来表示数据

    二、即时查询

      即时查询:无需预先定义系统接受的查询类型。关系型数据库必备的性质,文档数据库提供了类似SQL查询的功能。但是,如Key-Value数据库不能实现即时查询功能。

    三、二级索引

      通常采用B树实现类似RDBMS的索引,对查询进行优化。

    四、复制

      MongoDB采用副本集(replica set)的拓扑结构提供复制功能。副本集将数据分布到多台机器上实现冗余,在服务器或网络故障时能够提供自动故障转移。复制功能还能用于扩展数据库的读能力(对于一个读密集的应用,可以把数据库读操作分散到副本集集群中的各台机器)。

      副本集由一个主节点(Primary node)和一个或多个从节点(secondary node)构成。当主节点down掉后,集群会选择一个从节点自动将它提升为主节点,先前的主节点恢复后变成一个从节点。主节点既能够读也能够写,而从节点是只读的。图中官方文档给出的当主节点故障后MongoDB处理方式。

    集群故障处理

    五、速度和持久化折中

      通过开启Journaling日志记录,控制速度和持久化之间的平衡。

    六、水平扩展能力

      水平扩展与垂直扩展。垂直扩展,升级硬件,已暂时消除数据库的性能瓶颈。优势在于简单、可靠。缺点:成本过高,硬件水平有限。

      水平扩展,通过集群,将数据分布到多台机器,而不是只提升单个节点的性能。优点:成本降低、可以降低故障带来的影响。

    参考资料:MongoDB in Action,MongoDB文档

  • 相关阅读:
    质数
    解决Winform中ListView.TopItem设置的问题
    证书格式简介及不同格式之间的转换方式
    Postgresql如何清理pg_xlog
    VirtualBox 4.2 released !
    ImportError: No module named qtdemo_rc
    C#使用RSA证书文件加密和解密示例
    VIM自动关闭预览提示窗口
    VMware和VirtualBox中的网络适配器类型及虚拟网络性能优化
    正则表达式Java
  • 原文地址:https://www.cnblogs.com/vettel/p/3437164.html
Copyright © 2011-2022 走看看