MongoDB系列教程(一):NoSQL起源_MongoDB

为什么出现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简介,以及实例操作。

时间: 2024-09-24 02:16:46

MongoDB系列教程(一):NoSQL起源_MongoDB的相关文章

MongoDB系列教程(二):MongoDB简介_MongoDB

MongoDB介绍           MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常的松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型.MongoDB最大的特点是他支持的查询语言是非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引.它的特点是高性能.易部署.易使用,存储数据非常方便. MongoDB功能特性      1.面

MongoDB系列教程(六):java操作mongodb实例_MongoDB

java操作mysql数据库的代码我们已经了如指掌了,增删改查,java对mongodb数据库也是类似的操作,先是数据库连接,再是进行操作. 首先我们进入进入admin数据库,然后建立自己的数据库testMongoDb,进入admin数据库后,就可以直接进入testMongoDb,因为用户可以进入系统的数据库,就是超级管理员,use testMongoDb后,为该数据库设置用户名和密码,db.addUser('root','root'),这样我们在程序中连该数据库,并实现增删改查,代码如下所示.

MongoDB系列教程(五):mongo语法和mysql语法对比学习_MongoDB

我们总是在对比中看到自己的优点和缺点,对于mongodb来说也是一样,对比学习让我们尽快的掌握关于mongodb的基础知识. mongodb与mysql命令对比     关系型数据库一般是由数据库(database).表(table).记录(record)三个层次概念组成.而非关系型数据库mongodb是由数据库(database).集合(collection).文档对象(document)三个层次组成.mongodb对于关系型数据库里的表,没有行和列的关系概念,这体现了模式的自由特点. 语法命

MongoDB系列教程(七):MongoDb数据结构详解_MongoDB

首先,向数据库插入一条bjson数据 首先是定义文档,然后使用admin用户名密码登录,进入test数据库,向test数据库中插入此文档("表名称和表中的记录") 插入结果,查看mongoVUE如下图所示 从上图可以看出系统自带的三个数据库,local,admin,test,在加入一条记录的时候,会自动生成_id的自动标识. 我们再添加图片,可以使用mongoVUE添加,如下图所示. Collections:在mongodb中叫做集合,是文档的集合.无模式,可以存储各种各样的文档.类似

MongoDB系列教程(八):GridFS存储详解_MongoDB

GridFS简介 mongoDB的文档以BSON格式存储,支持二进制的数据类型,当我们把二进制格式的数据直接保存到mongoDB的文档中.但是当文件太大时,例如图片和视频等文件,每个文档的长度是有限的,于是mongoDb会提供了一种处理大文件的规范--GridFS. GridFS实现原理 在GridFS数据库中,默认使用fs.chunks 和fs.files来存储文件,其中fs.files集合存放文件的信息,fs.chunks存放文件的数据,一个fs.files集合中的一条记录内容如下,即一个f

MongoDB系列教程(三):Windows中下载和安装MongoDB_MongoDB

软件下载     下载mongodb最新的包:http://www.mongodb.org/downloads     下载mongodb可视化界面,mongoVUE:http://download.csdn.net/detail/lovesummerforever/8036417  软件安装     mongodb服务端安装步骤如下所示:     1.遵守mongodb规范,选择自己的磁盘创建文件夹,在这里我选择的是D盘,创建如下目录结构   复制代码 代码如下:     D:\mongodb

在Mac OS上安装使用MongoDB的教程_MongoDB

概念MongoDB 是一个跨平台的,面向文档的数据库,提供高性能,高可用性和可扩展性方便. MongoDB 工作在收集和文件的概念. 什么是NoSql?NoSql,全称是 Not Only Sql,指的是非关系型的数据库.下一代数据库主要解决几个要点:非关系型的.分布式的.开源的.水平可扩展的.原始的目的是为了大规模web应用,这场运动开始于2009年初,通常特性应用如:模式自由.支持简易复制.简单的API.最终的一致性(非ACID).大容量数据等.NoSQL被我们用得最多的当数key-valu

使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【十】——使用CacheCow和ETag缓存资源

原文:使用ASP.NET Web Api构建基于REST风格的服务实战系列教程[十]--使用CacheCow和ETag缓存资源 系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 前言 本文将使用一个开源框架CacheCow来实现针对Http请求资源缓存,本文主要介绍服务器端的缓存. 使用缓存技术可以很好的提高Web Api的性能,减小服务器的开销.我们把这种缓存形式称之为:条件化请求(Conditional Requests).具体表现为:客户

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(三十二)

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(三十二) 雷.混.冰.毒.火.风 - 幻化中的魔法魅力 本节,我将为大家演示如何为游戏中的魔法增加华丽的附加属性. 第一步,定义规则: 1)定义魔法附加属性分类:在本教程示例游戏中,我将魔法附加属性定义为6类:雷.混.冰.毒.火.风,为什么要以这样无规律的方式去命名?因为是教程,我们需要学习的是如何实现对应效果,此6类属性算是目前网游中最流行的六大魔法属性,如果大家都掌握了,无论是中国式5行还是诸如其他的风格设