MongoDB系列教程(一):NoSQL起源
为什么出现nosql?
随着互联网的发展,当我们把一台服务器一台服务器变成两台服务器,当我们开始建立数据备份,当我们需要加一个缓冲层,来调整所有的查询,投入更多的硬件。
最后,需要将数据切分多个集群上,并重构大量的应用逻辑以适应这种切分。不久之后,你就会发现被自己数月前的设计数据结构限制住了。
随着web2.0的兴起,关系型数据库本身无法克服的缺陷越来越明显,主要表现为如下几点。
1、对数据高并发读写的需求
2、对海量数据的高效率存储和访问的需求。
3、对数据库的高可扩展性和高可用性的需求。
4、数据库事务一致性需求。
5、数据库写实性和读写时性需求。
6、对复杂sql的查询,特别是对关联查询的需求。
nosql是notonly sql的缩写,nosql不使用sql作为查询语言。其数据存储可以不需要固定的表格模式,也经常避免使用sql的join操作,一般有水平可扩展性的特征。
nosql历史?
1、nosql一词最早出现在1998年,是carlo strozzi开发的一个轻量、开源、不提供sql功能的关系数据库。
2、2009年,last.fm的johan oskarsson发起了一次关于分布式开源数据库的讨论,来自rackspace的eric evans再次提出了nosql概念,这时的nosql主要是指非关系型、分布式、不提供数据库设计模式。
3、2009年趋势高涨,被定为“非关系型的”数据存储,相对于关系型数据库运用,这一概念无疑是一种全新思维的注入。
sql和nosql的区别?
nosql具有如下几点
优点:
1、高并发读写
2、海量数据存储
3、高可扩展性
4、高可用性
缺点:
5、缺乏事务一致性
6、缺乏读写实时性
7、不支持复杂查询
nosql数据库类型
key-value:key指value的键值对,通常用hash table来实现
列式数据库:同一列数据存在一起
文档型数据库:key-value对应的键值对,value为结构化数据产品:mongodb
图结构数据库:以“图”为基本存储模型,产品:neo4j,infogrid,infinitegraph
nosql数据库开源软件
1、membase软件
2、hypertable
3、apachecassandra
4、mongodb
在这里我们用的是mongodb,下篇mongodb简介,以及实例操作。
推荐阅读
-
Microsoft .Net Remoting系列教程之一:.Net Remoting基础篇
-
Microsoft .Net Remoting系列教程之一:.Net Remoting基础篇
-
如何使用向日葵远程控制软件实现远程控制、管理、操作等一系列项目的图文教程
-
LNMP系列教程之一 添加域名建立站点
-
Spring Boot2 系列教程(一) | 如何使用 IDEA 构建 Spring Boot 工程
-
Spring Boot2 系列教程 (二) | 第一个 SpringBoot 工程详解
-
Linux Shell脚本系列教程(一):Shell入门
-
《风的asp系列教程》(第一章 第二节)
-
JetBrains software patch2018系列激活工具一键破解使用教程(免激活)
-
实战SpringCloud响应式微服务系列教程(第一章)