深入浅出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数据库。敬请关注!
深入浅出MongoDB(一)NoSQL的更多相关文章
- 深入浅出MongoDB(二)概述
上次的博文深入浅出MongoDB(一)NoSQL中我们已经简单介绍了一下NoSQL的基本概念,这次我们来了解一下MongoDB的相关概念. 1.简介 MongoDB是一款由C++编写的高性能.开源.无 ...
- 深入浅出MongoDB(三)环境搭建
上次的博文深入浅出MongoDB(二)概述中我们已经将MongoDB的相关概念讲解了一下,接下来我们继续进行MongoDB学习.在学习之前,大家首先需要在自己的电脑上安装MongoDB. 1.安装 安 ...
- [置顶] 深入浅出MongoDB(三)环境搭建
上次的博文深入浅出MongoDB(二)概述中我们已经将MongoDB的相关概念讲解了一下,接下来我们继续进行MongoDB学习.在学习之前,大家首先需要在自己的电脑上安装MongoDB. 1.安装 安 ...
- Mongodb Mysql NoSQL的区别和联系
MongoDB 什么是MongoDB? MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,皆在为WEB应用提供可扩展的高性能数据存储解决方案 MongoDB是一个介于关系数据库和非关系 ...
- 深入浅出MongoDB应用实战开发
写在前面的话: 这篇文章会有点长,谨此记录自己昨天一整天看完<深入浅出MongoDB应用实战开发>视频时的笔记.只是在开始,得先抛出一个困扰自己很长时间的问题:“带双引号的和不带双引号的j ...
- (原创)MongoDB之NoSQL简介
Nosql简介1.1系统对数据的需求 Nosql[Nosql主要用途大数据处理]的全称为”not only sql”,为非关系型数据库[非关系型数据库就是关系型数据库的所有特点都没有了, ...
- mongodb(一) NoSQL简介
NoSQL简介 写在前面,本文就是学习的记录笔记,大部分内容都属于参考,分享给大家 关系与非关系数据库 那么应该了解下影响关系数据库性能的主要原因: 在关系型数据库中,导致性能欠佳的最主 ...
- MongoDB 1: NoSQL 和 SQL的区别
导读:本篇博客,主要是结合自己在项目中的使用,简单的阐述一下NoSQL和SQL的区别.那么,根据自己的应用,NoSQL这边,选择的是MongoDB(Redis虽然也是,但属于内存存储,这里不予说明). ...
- mongodb 、nosql、 redis、 memcached 是什么?
mongodb 是一个基于文档的数据库,所有数据是从磁盘上进行读写的.MongoDB善长的是对无模式JSON数据的查询.而Redis是一个基于内存的键值数据库,它由C语言实现的,与Nginx/ Nod ...
随机推荐
- Go 支持Protocol Buffers的配置
安装 protoc (The protocol compiler)是由C++写的,支持的 C++.Java.Python.Objective-C.C#.JavaNano.JavaScript.Ruby ...
- [SQL]SQL优化34条
我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习.摘录.并汇总部分资料与大家分享! () 选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE 的解析器按照从右到 ...
- POJ 3422 Kaka's Matrix Travels 【最小费用最大流】
题意: 卡卡有一个矩阵,从左上角走到右下角,卡卡每次只能向右或者向下.矩阵里边都是不超过1000的正整数,卡卡走过的元素会变成0,问卡卡可以走k次,问卡卡最多能积累多少和. 思路: 最小费用最大流的题 ...
- gitlab和Django实现push自动更新
1.设置webhook gitlab->setting->webhook:http://121.143.191.166:7000?token=23028-b396-12e5-9912-ba ...
- Sqoop导入MySQL数据
导入所有表: sqoop import-all-tables –connect jdbc:mysql://ip:port/dbName --username userName --password p ...
- ORACLE错误一览表【转】
http://blog.itpub.net/26892340/viewspace-722178/
- ASP.NET MVC开发微信(一)
public string index() { return Content(""); }
- bochs安装一系列问题
http://blog.chinaunix.net/uid-23817499-id-3418083.html http://www.mouseos.com/os/tools/bochs.html ...
- 内省—beanutils工具包
Apache组织开发了一套用于操作JavaBean的API,这套API考虑到了很多实际开发中的应用场景,因此在实际开发中很多程序员使用这套API操作JavaBean,以简化程序代码的编写. BeanU ...
- 解决 window server2008 r2 没有注册Ofiice组件的方法
解决 window server2008 r2 没有注册Ofiice组件的方法 .NET下在用Microsoft.Office.Interop.Excel及word 操作Excel和Word时, ...