zoukankan      html  css  js  c++  java
  • 深入浅出MongoDB(一)NoSQL

            从本文开始,我们一起学习一下MongoDB相关内容,在学习MongoDB之前,首先要做的就是学习NoSQL。

     

            为什么要学习NoSQL,原因很简单,因为MongoDB是NoSQL数据库的一种,换言之,如果NoSQL是一种数据库设计标准,那么MongoDB就是这种标准的一种实现,所以了解NoSQL能够让我们更深入的了解MongoDB。

     

    1、什么是NoSQL

           NoSQL是Not Only SQL的缩写,简单翻译就是非关系型数据库,意反SQL运动,是一项全新的数据库革命性运动,NoSQL提倡运用非关系型的数据存储。

     

    2、NoSQL出现的原因

            NoSQL的概念很早就有人提出,发展至2009年趋势越发高涨,原因有两方面:

           一方面是随着web2.0的兴起,关系型数据库本身无法克服的缺陷表现的越来越明显,主要表现在:
            1、High performance - 对数据库高并发读写的需求 
            2、Huge Storage - 对海量数据的高效率存储和访问的需求 
            3、High Scalability && High Availability- 对数据库的高可扩展性和高可用性的需求

     

            另一方面,对于web2.0网站来说,关系数据库的很多特性越来越显得无足轻重,主要表现在:
            1、数据库事务一致性需求 
            2、数据库的写实时性和读实时性需求 
            3、对复杂的SQL查询,特别是多表关联查询的需求

     

            正式由于上述原因,NoSQL近年来发展的越来越快,尽管随着web2.0的出现关系型数据库的瓶颈越来越明显,但并不意味着关系型数据库就会退出历史的舞台。对于程序员而言,没有必要绝对的判定孰优孰劣,在实际的应用中选择合适的数据库才是最重要的。

     

    3、NoSQL的优缺点

            上面我们已经了解了NoSQL发展如此迅速的原因,接下来我们看一下Nosql的优势,主要体现在下面几点:
            1、简单的扩展
            2、快速的读写
            3、低廉的成本

     

            任何事物都有其优点和缺点,NoSQL也不例外,NoSQL也存在着很多的不足,主要体现在下面几点:
            1. 不提供对SQL的支持
            2. 支持的特性不够丰富
            3. 现有产品的不够成熟

     

            到此为止,相信你已经对NoSQL有了一个简单的了解,本篇文章的概念性比较重,讲解的也不够详尽,只需要大家简单了解一下就好,接下来我们重点学习一下MongoDB数据库。敬请关注!

  • 相关阅读:
    python测试开发django-165.form表单序列化json的2种方式
    python测试开发django-164.bootstrap-table 单元格添加select下拉框
    python测试开发django-163.bootstrap-table 表格单元格行内编辑
    python测试开发django-162.ajax 提交表单,防重复提交(beforeSend)
    postman使用教程18-如何取出返回 cookie 中的 sessionId 值
    python测试开发django-161.Celery 定时任务保存到数据库 (djcelery)
    python测试开发django-160.Celery 定时任务 (beat)
    pytest文档77
    python测试开发django-159.Celery 异步与 RabbitMQ 环境搭建
    计算图像数据集的均值和方差(mean, std)用于transforms.Normalize()标准化
  • 原文地址:https://www.cnblogs.com/zs234/p/3385314.html
Copyright © 2011-2022 走看看