【数据库学习】非关系数据库(NoSQL:“non-relational”)
1,概念
NoSQL,泛指非关系型的数据库。
NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,特别是大数据应用难题。
关系数据库和非关系数据库区别:
数据库类型 | 定义 | 优点 | 缺点 | 举例 |
---|---|---|---|---|
关系型数据库 | 建立在关系模型基础上,由多张能互相连接的 表 组成 |
1. 存储格式:表,格式一致,易于维护; 2. 支持sql,可用于复杂查询; 3.存储载体:磁盘,安全性高; |
1. 表结构灵活性差; 2. 磁盘读写性能差; 3.关系模型的建立,浪费空间。 |
MySQL,Microsoft SQL Server,Oracle,PostgreSQL |
NoSQL数据库 | 数据以 对象 的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定 |
1. 存储格式: key-value 、文档、图片等形式,应用场景广; 2. 可对海量数据进行维护和处理; 3. 具有可扩展、高并发、高稳定性、成本低的优势;4. 可以实现数据的分布式处理 |
1. 不能使用sql; 2. 没有事务,无法保证数据的完整性和安全性; |
Neo4j,Redis,MongoDB 等 |
2,优缺点
1)优点
- 数据之间无关系,易扩展;
- 大数据量,高性能;
- 数据库的结构简单。
3,场景
4,分类
分类 | 数据模型 | 优点 | 缺点 | 场景 | 举例 |
---|---|---|---|---|---|
键值(Key-Value)存储数据库 | k-v对,通常用hash table来实现 | 查找速度快 | 只对部分值进行查询或更新的时候,效率较低 | 内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等 | Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB。 |
列存储数据库 | 以列簇式存储,将同一列数据存在一起。k指向多个列 | 查找速度快,可扩展性强,更容易进行分布式扩展 | 功能相对局限 | 分布式的文件系统 | Cassandra, HBase, Riak. |
文档型数据库 | k-v v为结构化数据 | 数据结构要求不严格,表结构可变。文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值,在处理网页等复杂数据时,文档型数据库比传统键值数据库的查询效率更高。 | 查询性能低 | Web应用 | CouchDB, MongoDb、SequoiaDB |
图形(Graph)数据库 | 图结构 | 利用图结构相关算法。比如最短路径寻址,N度关系查找等 | 很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案。 | 社交网络,推荐系统等。专注于构建关系图谱 | Neo4J, InfoGrid, Infinite Graph。 |
1)Neo4J
【数据库学习】非关系数据库(NoSQL:“non-relational”)相关推荐
- 【数据库学习】关系数据库总结
1,概念 1)数据库 数据库是长期存储在计算机内.有组织的.可共享的大量数据的集合. 数据库中存储的是数据及数据之间的关系. 正常情况读写文件系统比数据库快一到两个数据级: 数据库的查询,大量并发的时 ...
- 关系型数据库与非关系数据库区别
关系型数据库和非关系型数据的比较 一.关系型数据库 关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织 优点: 1.易于维护:都是使用表结构,格式一致: 2.使用方便:SQL ...
- windows下爬虫+数据库(非关系数据库/关系数据库)的实现简介1-redis
本篇涉及到爬虫用的是Python+selenium,关于python+selenium实现对数据的抓取,主要知识点已在上一篇介绍,有问题的可以看上一篇,本节将结合上一节知识点,主要讲解爬虫爬取数据后与 ...
- 浅析关系数据库和NoSql非关系数据库
1 关系数据库 1.1 关系数据库的简介 支持关系模型的数据库系成之为关系数据库,是目前各类数据库中使用最为广泛的数据库系统.关系数据库在经过二十几年的发展,已经变的功能强大,使用广泛,产品成熟的 ...
- mongodb数据库淘汰_Mongodb数据库学习
数据库 MongoDB (芒果数据库) 数据存储阶段 文件管理阶段 (.txt .doc .xls) 优点 : 数据可以长期保存 可以存储大量的数据 使用简单 缺点 : 数据一致性差 数据查找修改不方 ...
- NoSQL数据库探讨 - 为什么要用非关系数据库?
源地址:http://robbin.javaeye.com/blog/524977 随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速.而传 ...
- NoSQL数据库探讨之一 - 为什么要用非关系数据库?
随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速.而传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2. ...
- NoSQL数据库探讨- 为什么要用非关系数据库?
随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速.而传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2. ...
- nosql数据库学习总结
大数据时代的数据库选择:SQL还是NoSQL? 执行大数据项目的企业面对的关键决策之一是使用哪个数据库,SQL还是NoSQL?SQL有着骄人的业绩,庞 大的安装基础;而NoSQL正在获得可观的收益,且 ...
最新文章
- Oracle Sql Developer
- hdu3400 两重三分
- 360极速浏览器进行打印时会带出网页地址问题
- python3精要(49)-生成器
- C++函数的默认参数
- PyTorch:MNIST数据集手写数字识别
- c# wpf 面试_【远程面试】九强通信 | 九洲电器集团全资子公司
- Android RecyclerView 列表加载图片宽高适配
- 从入门到入土:[SEED-Lab]MD5碰撞试验|MD5collgen实验|linux|Ubuntu|MD5 Collision Attack Lab|详细讲解
- oracle chinese_china.al32utf8,Oracle11g字符集更改为AL32UTF8
- MySQL之Got fatal error 1236 from master when reading data from binary log
- 【转】win10安装caffe教程
- Python 统计分析--单因素方差分析
- 第1卦 乾为天(乾卦) 刚健中正 上上卦
- QTP/UFT能捕捉到对象但是点击不了,录制点击也没反应
- 【无人机设计与开发】推荐几个无人机网址
- python求和:1/3+3/5+5/7+7/9+...+97/99
- 用python实现卡普雷卡尔黑洞(重排求差黑洞)的计算
- 虚拟内存与虚拟存储器的区别
- Python:教你如何写一个测量网速的小工具