为什么出现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简介,以及实例操作。
本文向大家介绍MongoDB系列教程(二):MongoDB简介,包括了MongoDB系列教程(二):MongoDB简介的使用技巧和注意事项,需要的朋友参考一下 MongoDB介绍 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常的松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。
本文向大家介绍MongoDB系列教程(六):java操作mongodb实例,包括了MongoDB系列教程(六):java操作mongodb实例的使用技巧和注意事项,需要的朋友参考一下 java操作mysql数据库的代码我们已经了如指掌了,增删改查,java对mongodb数据库也是类似的操作,先是数据库连接,再是进行操作。 首先我们进入进入admin数据库,然后建立自己的数据库testMongoD
本文向大家介绍MongoDB系列教程(三):Windows中下载和安装MongoDB,包括了MongoDB系列教程(三):Windows中下载和安装MongoDB的使用技巧和注意事项,需要的朋友参考一下 软件下载 下载mongodb最新的包:http://www.mongodb.org/downloads 下载mongodb可视化界面,mongoVUE:http://downloa
Google发布了完全可视化的编程语言Google Blockly,类似MIT的儿童编程语言Scratch, 你可以通过类似玩乐高玩具的方式用一块块图形对象构建出应用程序。
JavaScript(简称 JS) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。
本文向大家介绍MongoDB系列教程(四):设置用户访问权限,包括了MongoDB系列教程(四):设置用户访问权限的使用技巧和注意事项,需要的朋友参考一下 我们知道mysql在安装的时候需要我们设置一个数据库默认的用户名和密码,mongodb也不例外,不过mongodb是默认的没有设置访问限制的,不需要输入用户名和密码都可以访问的,但是这样会十分的不安全,我们需要手动的为mongodb加上权限限制