zoukankan      html  css  js  c++  java
  • Mongodb介绍(非原创)

    文章大纲

    一、什么是nosql
    二、mongodb与mysql比较
    三、参考文章

     

    一、什么是nosql

    1. 简介

    这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了

    2. NoSQL数据库的四大分类

    键值存储数据库
    这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了。举例如:Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB.

    列存储数据库
    这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。如:Cassandra, HBase, Riak.

    文档型数据库
    文档型数据库的灵感是来自于Lotus Notes办公软件的,而且它同第一种键值存储相类似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如JSON。文档型数据库可 以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。如:CouchDB, MongoDb. 国内也有文档型数据库SequoiaDB,已经开源。

    图形(Graph)数据库
    图形结构的数据库同其他行列以及刚性结构的SQL数据库不同,它是使用灵活的图形模型,并且能够扩展到多个服务器上。NoSQL数据库没有标准的查询语言(SQL),因此进行数据库查询需要制定数据模型。许多NoSQL数据库都有REST式的数据接口或者查询API。如:Neo4J, InfoGrid, Infinite Graph.
    因此,我们总结NoSQL数据库在以下的这几种情况下比较适用:1、数据模型比较简单;2、需要灵活性更强的IT系统;3、对数据库性能要求较高;4、不需要高度的数据一致性;5、对于给定key,比较容易映射复杂值的环境。

    3. 适用场景

    (1)数据模型比较简单;
    (2)需要灵活性更强的IT系统;
    (3)对数据库性能要求较高;
    (4)不需要高度的数据一致性;
    (5)对于给定key,比较容易映射复杂值的环境

    4. NoSQL具体产品种类

    (1)Redis
    (2)Mongodb
    (3)HBase等

    二、mongodb与mysql比较

    1. MySQL

    关系型数据库。
    在不同的引擎上有不同 的存储方式。
    查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。
    开源数据库的份额在不断增加,mysql的份额页在持续增长。
    缺点就是在海量数据处理的时候效率会显著变慢。

    2. Mongodb

    非关系型数据库(nosql ),属于文档型数据库。先解释一下文档的数据库,即可以存放xml、json、bson类型系那个的数据。这些数据具备自述性(self-describing),呈现分层的树状数据结构。数据结构由键值(key=>value)对组成。
    存储方式:虚拟内存+持久化。
    查询语句:是独特的Mongodb的查询方式。
    适合场景:事件的记录,内容管理或者博客平台等等。
    架构特点:可以通过副本集,以及分片来实现高可用。
    数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。
    成熟度与广泛度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,比较完善的DB之一,适用人群不断在增长。
    优势:
    快速!在适量级的内存的Mongodb的性能是非常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得十分快,
    高扩展!
    自身的Failover机制!
    json的存储格式!
    缺点:主要是无事物机制!

    三、参考文章

      1. https://baike.baidu.com/item/NoSQL/8828247?fr=aladdin
      2. https://blog.csdn.net/qq_38314823/article/details/80903405
      3. https://www.cnblogs.com/printN/p/7199928.html
  • 相关阅读:
    3.2单变量分析 proc univariate
    method of walking——地点定桩法
    韩语陈述句末尾词语法
    数据挖掘简述
    MERGE语句——数据集横向合并
    【转】JavaScript中一个方法同时发送两个ajax请求问题
    ASP.NET MVC中controller和view相互传值的方式
    【转】007.ASP.NET MVC控制器依赖注入
    【转】MVC之 自定义过滤器(ActionFilterAttribute)
    【转】【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式
  • 原文地址:https://www.cnblogs.com/WUXIAOCHANG/p/11022321.html
Copyright © 2011-2022 走看看