从本文开始,我们一起学习一下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数据库。敬请关注!

深入浅出MongoDB(一)NoSQL的更多相关文章

  1. 深入浅出MongoDB(二)概述

    上次的博文深入浅出MongoDB(一)NoSQL中我们已经简单介绍了一下NoSQL的基本概念,这次我们来了解一下MongoDB的相关概念. 1.简介 MongoDB是一款由C++编写的高性能.开源.无 ...

  2. 深入浅出MongoDB(三)环境搭建

    上次的博文深入浅出MongoDB(二)概述中我们已经将MongoDB的相关概念讲解了一下,接下来我们继续进行MongoDB学习.在学习之前,大家首先需要在自己的电脑上安装MongoDB. 1.安装 安 ...

  3. [置顶] 深入浅出MongoDB(三)环境搭建

    上次的博文深入浅出MongoDB(二)概述中我们已经将MongoDB的相关概念讲解了一下,接下来我们继续进行MongoDB学习.在学习之前,大家首先需要在自己的电脑上安装MongoDB. 1.安装 安 ...

  4. Mongodb Mysql NoSQL的区别和联系

    MongoDB 什么是MongoDB? MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,皆在为WEB应用提供可扩展的高性能数据存储解决方案 MongoDB是一个介于关系数据库和非关系 ...

  5. 深入浅出MongoDB应用实战开发

    写在前面的话: 这篇文章会有点长,谨此记录自己昨天一整天看完<深入浅出MongoDB应用实战开发>视频时的笔记.只是在开始,得先抛出一个困扰自己很长时间的问题:“带双引号的和不带双引号的j ...

  6. (原创)MongoDB之NoSQL简介

    Nosql简介1.1系统对数据的需求        Nosql[Nosql主要用途大数据处理]的全称为”not only sql”,为非关系型数据库[非关系型数据库就是关系型数据库的所有特点都没有了, ...

  7. mongodb(一) NoSQL简介

    NoSQL简介   写在前面,本文就是学习的记录笔记,大部分内容都属于参考,分享给大家 关系与非关系数据库      那么应该了解下影响关系数据库性能的主要原因: 在关系型数据库中,导致性能欠佳的最主 ...

  8. MongoDB 1: NoSQL 和 SQL的区别

    导读:本篇博客,主要是结合自己在项目中的使用,简单的阐述一下NoSQL和SQL的区别.那么,根据自己的应用,NoSQL这边,选择的是MongoDB(Redis虽然也是,但属于内存存储,这里不予说明). ...

  9. mongodb 、nosql、 redis、 memcached 是什么?

    mongodb 是一个基于文档的数据库,所有数据是从磁盘上进行读写的.MongoDB善长的是对无模式JSON数据的查询.而Redis是一个基于内存的键值数据库,它由C语言实现的,与Nginx/ Nod ...

随机推荐

  1. CRM plugin 激活 停用 事件

    需要注册 SetState 和 SetStateDynamecEntity

  2. 采用p6spy完整显示hibernate的SQL语句

    虽然在hibernate中有show_sql选项,但是显示出来的语句大多类似 select * from xxx where value=? 但是有时候我们需要得到完整的SQL语句,怎么办呢?使用P6 ...

  3. SGU 194 【带上下界的无源汇的可行流】

    题意: 给点数n和边数m. 接下来m条有向边. a b c d 一次代表起点终点,下界上界. 求: 判断是否存在可行流,若存在则输出某可行流.否则输出IMPOSSIBLE 思路: <一种简易的方 ...

  4. SparkSQL使用之JDBC代码访问Thrift JDBC Server

    启动ThriftJDBCServer: cd $SPARK_HOME/sbin start-thriftserver.sh & 使用jdbc访问ThriftJDBCServer代码段: pac ...

  5. cocos2d-x 中 TTF 字体文件的位置

    cocos2d-x 中,字体文件需要保存在 fonts 文件夹中,如果字体路径中没有 fonts/ 会自动添加上这个文件夹. 如果字体名称没有 .ttf 后缀,也会自动加上这个后缀. unsigned ...

  6. mysq 因断电而导致的错误

    问题来源: 昨天断电,而我没有保存,导致出现以下问题: 2015-10-12 10:48:10 7300 [Note] Plugin 'FEDERATED' is disabled. 2015-10- ...

  7. Android PopupWindow 弹窗背景半透明,设置最大高度

    首先讲一个网上的方法: popupwindow弹出后,屏幕背景变成半透明这个效果很普通.实现的方法也很多.我使用的可能是最简单的一种,就是设置一下getWindows的透明度. /** * 设置添加屏 ...

  8. university, school, college, department, institute的区别

    这些个词没有太大区别,有时候有些词是可以通用的,而有些用法则是随着地域时间的不同而变迁. 一般说来,college译作“学院”,它是university (综合性大学)的一个组成部分,例如,一所综合大 ...

  9. 慕课网-安卓工程师初养成-3-9 Java中运算符的优先级

    来源 http://www.imooc.com/code/1315 所谓优先级,就是在表达式中的运算顺序.Java 中常用的运算符的优先级如下表所示: 级别为 1 的优先级最高,级别 11 的优先级最 ...

  10. java.lang.Exception: Socket bind failed: [730013] An attempt was made to acc

    在CMD命令行中启动运行startup.bat,启运程序总是闪退,查看日志发现如下错误: 26-Jan-2016 18:12:34.463 SEVERE [main] org.apache.coyot ...