NoSQL数据库简单学习
NoSQL(最初指“非SQL(non SQL)”、“非关系(non relational)”或“不仅是SQL(Not Only SQL)”),不遵循传统RDBMS模型的任何数据存储,数据是非关系型的,不同于之前学过的MySQL等关系型数据库。
NoSQL可以用描述任何一种数据文件,不具备传统关系型数据库的范式,NoSQL是非关系型设计的Database,主要针对当前互联网时代的复杂数据
为什么要使用NoSQL(Not Only SQL)数据库
1.对数据库高并发读写的需求
2.对海量数据的高效率存储和访问的需求
3.对数据库的高可扩展性和高可用性的需求
NoSQL的优势
1.大大增加扩展能力
2.不支持ACID
3.多样灵活的数据模型
4.减少CPU和IO的压力
ACID关系型数据库遵循ACID规则
A (Atomicity) 原子性
原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。比如银行转账,从A账户转100元至B账户,分为两个步骤:1)从A账户取100元;2)存入100元至B账户。这两步要么一起完成,要么一起不完成,如果只完成第一步,第二步失败,钱会莫名其妙少了100元。C (Consistency) 一致性
一致性也比较容易理解,也就是说数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。I (Isolation) 独立性
所谓的独立性是指并发的事务之间不会互相影响,如果一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未提交,它所访问的数据就不受未提交事务的影响。比如现有有个交易是从A账户转100元至B账户,在这个交易还未完成的情况下,如果此时B查询自己的账户,是看不到新增加的100元的D (Durability) 持久性
持久性是指一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。
CAP定理(CAP theorem)
- 一致性(Consistency) (所有节点在同一时间具有相同的数据)
- 可用性(Availability) (保证每个请求不管成功或者失败都有响应)
- 分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)
NoSQL适用场景
1.对数据高并发的读写
2.海量数据的读写
3.对数据高可扩张性的
(工作中用不着sql和用不了sql的情况下,请考虑用NoSQL)
NoSQL数据库有:Memcache,Redis,MogoDB
NoSQL数据库简单学习相关推荐
- python提取数据库nosql_用 Python 写一个 NoSQL 数据库
本文译自 What is a NoSQL Database? Learn By Writing One In Python. 完整的示例代码已经放到了 GitHub 上, 请 点击这里, 这仅是一个极 ...
- nosql数据库学习总结
大数据时代的数据库选择:SQL还是NoSQL? 执行大数据项目的企业面对的关键决策之一是使用哪个数据库,SQL还是NoSQL?SQL有着骄人的业绩,庞 大的安装基础;而NoSQL正在获得可观的收益,且 ...
- NoSQL数据库程序员应该在2019年学习的5大知识
尽管Java或Web开发人员学习NoSQL数据库不是强制性的,但世界正朝着这个方向发展,Java和Web开发人员都应该熟悉NoSQL数据库. 如果您想知道NoSQL数据库是什么意思,那么这里是快速概述 ...
- 大数据开发学习:NoSQL数据库入门
大数据处理,涉及到从数据获取到数据存储.数据计算的诸多环节,各个环节需要解决的问题不同,相关岗位要求的技能也不同.在数据存储阶段,对数据库选型是非常重要的一项工作.今天的大数据开发学习分享,我们就来聊 ...
- 【Redis6快速深入学习01】NoSQL数据库简介
文章目录 1 NoSQL数据库简介 1.1 技术发展 1.2 NoSQL数据库 1.3 行式存储数据库(大数据时代) 1.4 图关系型数据库 1 NoSQL数据库简介 1.1 技术发展 技术的分类 解 ...
- Redis 学习笔记-NoSQL数据库 常用五大数据类型 Redis配置文件介绍 Redis的发布和订阅 Redis_事务_锁机制_秒杀 Redis应用问题解决 分布式锁
1.NoSQL数据库 1.1 NoSQL数据库概述 NoSQL(NosQL = Not Only sQL ),意即"不仅仅是sQL",泛指非关系型的数据库.NoSQL不依赖业务逻辑 ...
- Mongodb学习总结(1)——常用NoSql数据库比较
虽然SQL数据库是非常有用的工具,但经历了15年的一支独秀之后垄断即将被打破.这只是时间问题:被迫使用关系数据库,但最终发现不能适应需求的情况不胜枚举. 但是NoSQL数据库之间的不同,远超过两 SQ ...
- NoSql数据库简介及Redis学习
NO-Sql数据库:Not Only不仅仅是SQL 定义:非关系型数据库:NoSQL用于超大规模数据的存储.(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据).这些类型的数据存储不需要固 ...
- 大数据学习(5)-- NoSQL数据库
文章目录 目录 1.NoSQL的介绍 2.NoSQL产生的原因 2.1 web2.0 2.2 NoSQL兴起原因 3.NoSQL和关系数据库的区别 4.NoSQL的四大类型 4.1 键值数据库 4.2 ...
最新文章
- 如何在C#Windows控制台应用程序中更新当前行?
- 后面的参数_常用的JVM参数,你现在就记好
- boost::make_shared_noinit相关的测试程序
- ETL异构数据源Datax_部署前置环境_01
- nginx+tomcat7+memcached
- macOS修改Homebrew镜像
- 2019.08.26关于分页
- js table的所有td 按行合并
- java里赋值语句_java输入赋值语句
- 医宗金鉴自学指南_自学中医看什么书
- 【人工智能项目】sg2im文字转图像
- 为什么uzi排到古手羽就秒_Uzi排到古手羽秒退引热议?“网友发表看法,弹幕疑似给出答案”...
- 【最短路 搜索】JZOJ_4246 san
- iOS Safari调试webview时 页面空白或者闪退解决
- 帝国Empire采集-帝国如何免费采集
- apahce2+tomcat6整合 2010-06-28
- 苹果屏保壁纸_神经病手势时钟-手势数字时钟app下载android安卓版ios苹果版
- 解密盛大和陈天桥:显娱乐帝国雏形 缺迪斯尼精神
- 什么是线性可分离和不可分离
- 2011 明锐 CD 大众收音机 播放SD 卡顿问题