这篇文章主要围绕NoSQL--非关系型数据库类型总结和nosql非关系型数据库有哪些展开,旨在为您提供一份详细的参考资料。我们将全面介绍NoSQL--非关系型数据库类型总结的优缺点,解答nosql非关
这篇文章主要围绕NoSQL--非关系型数据库类型总结和nosql非关系型数据库有哪些展开,旨在为您提供一份详细的参考资料。我们将全面介绍NoSQL--非关系型数据库类型总结的优缺点,解答nosql非关系型数据库有哪些的相关问题,同时也会为您带来(原创)NoSQL非关系型数据库、Golang语言社区--【数据库知识】从关系型数据库到非关系型数据库、Java Redis系列1 关系型数据库与非关系型数据库的优缺点及概念、mongodb非关系型数据库nosql与关系型数据库sql对应学习的实用方法。
本文目录一览:- NoSQL--非关系型数据库类型总结(nosql非关系型数据库有哪些)
- (原创)NoSQL非关系型数据库
- Golang语言社区--【数据库知识】从关系型数据库到非关系型数据库
- Java Redis系列1 关系型数据库与非关系型数据库的优缺点及概念
- mongodb非关系型数据库nosql与关系型数据库sql对应学习
NoSQL--非关系型数据库类型总结(nosql非关系型数据库有哪些)
随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速。而传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,例如:
一、High performance - 对数据库高并发读写的需求
二、Huge Storage - 对海量数据的高效率存储和访问的需求
类似Facebook,twitter,FriendFeed这样的SNS网站,每天用户产生海量的用户动态,以FriendFeed为例,一个月就达到了2.5亿条用户动态,对于关系数据库来说,在一张2.5亿条记录的表里面进行SQL查询,效率是极其低下乃至不可忍受的。再例如大型web网站的用户登录系统,例如腾讯,盛大,动辄数以亿计的帐号,关系数据库也很难应付。
三、High Scalability && High Availability- 对数据库的高可扩展性和高可用性的需求
1、数据库事务一致性需求
2、数据库的写实时性和读实时性需求
3、对复杂的SQL查询,特别是多表关联查询的需求
四,几种主流Nosql数据库
Redis
MongoDB
(原创)NoSQL非关系型数据库
本文主要讲述我对Nosql非关系型数据库的一点理解
1.Nosql特点
a.模式自由:增删数据时不必进行数据完整性检查。不需要定义表结构,数据表中的每条记录都可能有不同的属性和格式
b.逆范式化:为了减少数据冗余,增强数据一致性,sql要进行范式要求第三范式,大量的连接操作会降低存储效率。nosql用空间换时间
c.多分区存储:传统sql数据库将数据存储在单一节点上,通过增加内存和磁盘空间提升效率,这叫纵向扩展,不可持续,因为系统总会达到一个极限。Nosql会将数据进行分区,将数据存储在多个节点上,横向扩展方式,提高性能,满足大数据时代要求
d.弹性可扩展:可在系统运行的过程中动态的删除或增加节点。Nosql可再系统运行过程中动态的增加或删除节点,数据块可以在节点之间自动移动
e.多副本异步复制:为了保证数据的安全,Nosql数据库会存储多个副本,比如Hadoop生态系统中的Hbase,借助于底层的HDFS分布式文件系统,默认情况下可以有三个副本,且存储在不同的三个节点上
f.软事务:不能完全满足事务的ACID特性,保证事务的最终一致性。事务是sql数据库的概念,一个事务包含多个数据库操作,且这些操作要么全做要么都不做,比如银行转账,转账和收款就是一个完整的事务,他们是不可拆分的,这样才能保证系统中数据的一致性。Nosql保证的是事务的最终一致性,即一个用户立即进行数据更新后,其余的用户不能立即得到最新的数据,会有一定延迟。比如12306中看到有票,可是点击买票的时候告诉我们票已售完,火车票数量的更新不能立即同步到所有的节点
2.什么是ACID特性?
A(atomic原子性) C(consistency一致性) I(isolation隔离性) D(durability持久性)
sql数据库是必须要满足ACID特性的,但是Nosql非关系型数据库对此没有任何要求
3.Nosql适用的一些场景
一般对数据冗余程度比较高,并且对数据库不要求有事务一致性,比如像SNS网站,他们并不要求更新的东西要时刻同步在用户的界面,比如新浪微博这个app,实时更新的只有新鲜事下面的那个气泡提示,还有信息推送等,这些必须保证事务一致性,但是新鲜事里面的内容如果保证实时对用户更新的话,那对服务器的压力实在是太大了,并且有大量僵尸粉,服务器会做很多无用功。这时就没必要采用事务一致性,我们点刷新再更新信息,就算信息不是同步的,是过去式的,对我们也没有任何影响。
但是像银行系统就不行了,我们在转账的时候转入方和接收方的信息必须是同步的,如果钱转过去但是接收方的钱款没收到,那在电影里估计早就撕票了。
不能完全满足事务的ACID特性,保证事务的最终一致性
Golang语言社区--【数据库知识】从关系型数据库到非关系型数据库
总结
以上是小编为你收集整理的Golang语言社区--【数据库知识】从关系型数据库到非关系型数据库全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
Java Redis系列1 关系型数据库与非关系型数据库的优缺点及概念
Java Redis系列1 关系型数据库与非关系型数据库的优缺点及概念
在学习redis之前我们先来学习两个概念,即什么是关系型数据库什么是非关系型数据库,二者的区别是什么,二者的关系又是什么?
**
关系型数据库
**
关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。
1.
关系型数据库是依据关系模型来创建的数据库。
2.
所谓关系模型就是“一对一、一对多、多对多”等关系模型,关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。
3.
关系型数据可以很好地存储一些关系模型的数据,比如一个老师对应多个学生的数据(“多对多”),一本书对应多个作者(“一对多”),一本书对应一个出版日期(“一对一”)
4.
关系模型是我们生活中能经常遇见的模型,存储这类数据一般用关系型数据库
5.
关系模型包括数据结构(数据存储的问题,二维表)、操作指令集合(SQL语句)、完整性约束(表内数据约束、表与表之间的约束)。
**
非关系型数据库
**
非关系型数据库,又被称为NoSQL(Not Only SQL ),意为不仅仅是SQL(StructuredQueryLanguage,结构化查询语言),据维基百科介绍,NoSQL最早出现于1998 年,是由Carlo Storzzi最早开发的个轻量、开源、不兼容SQL 功能的关系型数据库,2009 年,在一次分布式开源数据库的讨论会上,再次提出了NoSQL 的概念,此时NoSQL主要是指非关系型、分布式、不提供ACID (数据库事务处理的四个基本要素)的数据库设计模式。同年,在亚特兰大举行的“NoSQL(east)”讨论会上,对NoSQL 最普遍的定义是“非关联型的”,强调Key-Value 存储和文档数据库的优点,而不是单纯地反对RDBMS,至此,NoSQL 开始正式出现在世人面前。,存储方式有更多的选择:"键-值"对存储,列存储,文档存储,图形数据库等,没有声明性查询语言,没有预定义的模式,非结构化和不可预知的数据,高性能,高可用性和可伸缩性。
关系型数据库与非关系型数据库的使用场景与优缺点
关系型数据库
优点:
1.安全,严.........
mongodb非关系型数据库nosql与关系型数据库sql对应学习
https://docs.mongodb.org/manual/reference/sql-comparison/
关于NoSQL--非关系型数据库类型总结和nosql非关系型数据库有哪些的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于(原创)NoSQL非关系型数据库、Golang语言社区--【数据库知识】从关系型数据库到非关系型数据库、Java Redis系列1 关系型数据库与非关系型数据库的优缺点及概念、mongodb非关系型数据库nosql与关系型数据库sql对应学习等相关知识的信息别忘了在本站进行查找喔。
本文标签: