如何选择RDBMS关系型数据库和Nosql非关系型数据库?
RDBMS关系型数据库和Nosql非关系型数据库区别:
一、RDBMS是关系型数据库模式:
1.二维模式,由行列组成。
2.非常强调事务原子性,例如用户提出一个请求,DB完整的去执行,如果报错就全部回滚。
3.适合存储结构性规范性数据,强调数据的一致性,必须所以数据都同步后才能继续。
4.现在流行列式存储在处理大批量加载大批量检索OLAP系统上效果更佳,而且优势很多比如数据即索引数据在存储的时候就被排序了,列式存储可以把同类型的数据放在一起压缩,因为有共性压缩比较大。
5.支持表的复杂关联查询,如果业务涉及到复杂逻辑关系我想RDBMS会更适合。
6.水平扩展是弱势,就算有RAC当节点多的时候也会碰触天花板。
7.无法满足非结构性数据的处理,例如 音频 视频 so on。
二、NOSQL非关系型的一种概念,意思是不仅仅是SQL还有其他的:
1.四大类:key values ,列存储,文档,graph 。
2.大部分都是采用分布式存储结构,大数据来临的时候,先拆分成小块分布的放在不同的机器上,当用户检索的时候又归纳起来,例如现在非常流行的Hbase就是基于HDFS文件系统。
3.Nosql强调数据批处理,快速处理,非常适合非结构性数据,而且数据与数据之间是一种松散的关系,也就是低ACID,一般不提供多表关联查询。
4.分布式架构,优秀的水平扩展能力,倡导廉价PC server搭建大规模的分布式存储系统。
5.根据业务,深度定制自己的sql语句
在NoSQL和SQL的选择上,需要了解到以下内容:
数据模型及操作模型:你的应用层数据模型是行、对象还是文档型的呢?这个系统是否能支持你进行一些统计工作呢?
可靠性:当你更新数据时,新的数据是否立刻写到持久化存储中去了?新的数据是否同步到多台机器上了?
扩展性:你的数据量有多大,单机是否能容下?你的读写量求单机是否能支持?
分区策略:考虑到你对扩展性,可用性或者持久性的要求,你是否需要一份数据被存在多台机器上?你是否需要知道数据在哪台机器上,以及你能否知道。
一致性:你的数据是否被复制到了多台机器上,这些分布在不同点的数据如何保证一致性?
事务机制:你的业务是否需要ACID的事务机制?
单机性能:如果你打算持久化的将数据存在磁盘上,哪种数据结构能满足你的需求(你的需求是读多还是写多)?写操作是否会成为磁盘瓶颈?
负载可评估:对于一个读多写少的应用,诸如响应用户请求的web应用,我们总会花很多精力来关注负载情况。你可能需要进行数据规模的监控,对多个用户的数据进行汇总统计。你的应用场景是否需要这样的功能呢?
转载自:http://blog.itpub.net/26686207/viewspace-734867/
具体如何选择,请大家留言评论帮我补充细化!!
如何选择RDBMS关系型数据库和Nosql非关系型数据库?的更多相关文章
- 关系型数据库和nosql非关系型数据库
快下班了.突然和同事聊起了node+mongdb,因为我们这里的项目没有mongdb,就问后端的同事,我们'爱装逼'的后端的同事让我们先自己学习一下什么关系型数据库和非关系型数据库.一顿百度查询了解下 ...
- NoSql非关系型数据库之MongoDB应用(二):安装MongoDB可视化工具
业精于勤,荒于嬉:行成于思,毁于随. 我们上次说到NoSql非关系型数据库之MongoDB应用(一):安装MongoDB服务 这次我们介绍安装 NoSQL Manager for MongoDB 可 ...
- NoSql非关系型数据库之MongoDB应用(三):MongoDB在项目中的初步应用
业精于勤,荒于嬉:行成于思,毁于随. 我们可以结合相关的IDE做一个简单的增删改查了,实现MongoDB在项目中的初步应用. 前提是安装了MongoDB服务和MongoDB可视化工具,没有安装的可以点 ...
- MongoDB(NoSQL) 非关系型数据库
目录 简单了解 mongoDB 简单使用mongoDB 简单了解 mongoDB # NoSQL 泛指非关系型的数据库 NoSQL(NoSQL = Not Only SQL ),意即"不仅仅 ...
- NoSQL非关系型数据库
NoSQL 关注公众号"轻松学编程"了解更多. 一.概念 NoSQL(Not Only SQL)非关系型数据库(功能换效率). 优点 开发维护成本低 访问灵活 访问速度快(缓存+快 ...
- NoSql非关系型数据库之MongoDB应用(一):安装MongoDB服务
业精于勤,荒于嬉:行成于思,毁于随. 一.MongoDB服务下载安装(windows环境安装) 1.进入官网:https://www.mongodb.com/,点击右上角的 Try Free , 2 ...
- 关系型数据库 VS 非关系型数据库
一.关系型数据库? 1.概念 关系型数据库是指采用了关系模型来组织数据的数据库.简单来说,关系模式就是二维表格模型. 主要代表:SQL Server,Oracle,Mysql,PostgreSQL. ...
- 非关系型数据库(NoSql)
最近了解了一点非关系型数据库,刚刚接触,觉得这是一个很好的方向,对于大数据 方面的处理,非关系型数据库能起到至关重要的地位.这里我主要是整理了一些前辈的经验,仅供参考. 关系型数据库的特点 1.关系型 ...
- 关系型数据库 和 非关系型数据对比 以及 MySQL与Oracle对比
一.关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库. 关系模型1970年提出的,关系模型的概念得到了充分的发展并逐渐成为主流数据库结构的主流模型. 简单来说,关系模型指的 ...
随机推荐
- Mac开机启动
1. Finder打开资源库的LaunchAgents目录. 打开Finder,按⇧⌘G,输入 /Library/LaunchAgents/ 以及 ~/Library/LaunchAgents/ 2. ...
- 神经网络卷积层 要回计算output的维度 input 28 卷积是3x3 则output是26 但是channel是卷积核的数量
model = Sequential() model.add(Conv2D(32, kernel_size=(3, 3), activation='relu', input_shape=input_s ...
- day4-内置函数
一.内置函数列表 二.常见内置函数用法 由于python内置函数较多,在此总结一下部分常见的内置函数的用法: abs(x)功能:取数的绝对值 >>> abs(0) 0 >> ...
- android不同的按钮一起点击崩溃解决
public class ButtonUtils { private static long lastClickTime; public synchronized static boolean isF ...
- Git_学习_09_指定某些文件不上传
一.前言 在git提交文件到远程分支时,可能有些文件我们并不想上传. 这时可以使用如下命令来将这些文件从暂存区移除 git rm --cached "文件路径" 注:git add ...
- 条款39:明智的使用private继承
首先看一下private继承的法则:class之间的继承关系如果是private的话,那么编译器不会将一个derived对象自动当作为一个base class对象. 从base class继承而来的所 ...
- MQTT 在 mac 上搭建
http://blog.csdn.net/YAJUN0601/article/details/41981399 MQTT is a machine-to-machine (M2M)/"Int ...
- L121
今天上午签字仪式的布置与该场合的严肃性非常协调.The setting for this morning's signing ceremony matched the solemnity of the ...
- RedHat5.8 编译内核驱动 合成initrd.img
/******************************************************************* * RedHat5.8 编译内核驱动 合成initrd.img ...
- UVALive - 3211 Now or later (二分+2SAT)
题目链接 题意:有n架飞机,每架飞机有两个着陆时间点可以选,要求任意两架飞机的着陆时间之差不超过k,求k的最大值. 解法:由于每架飞机都有两个选择,并且必选且只能选其中一个,时间冲突也是发生在两架飞机 ...