数据库类型与实例

适合场景

不适合场景

场景举例

关系数据库

基于集合理论,具有行和列的二维表,严格使用类型

开源MySQL/MariaDB, PostgreSQL

商业:Oracle,DB2,SQL Server, Sybase

l  数据具有类型

l  灵活查询。

l  即提前为组织的复杂性付出代价,以实现随后的查询灵活性

l  数据高度或者多层次的,无法提前指定模式

键值数据库

Redis

Riak—类dynamo

Memcached(membase..)

BerkeleyDB

Voldemort

l  数据相关性不高

l  性能极高

l  缺乏索引和扫描功能,除了基本的CRUD外帮助不大

l  对于自由定义的查询无能为力

l  不适合复杂查询和聚合等

l  适合场景

Session信息

用户概要等信息

购物车

l  不适合场景

数据之间存在强关联

事务

根据value查询

Operations by Sets

列型数据库

HBase

Cassandra

Hypertable

l  横向扩展

l  列的添加容易

l  版本控制

l  基于你打算如何查询数据设计数据库模式

l  不仅对数据如何组成有一些想法,对如何使用数据也要预先知晓

l  适合场景

事件日志

CMS,博客

计数器

数据过时使用

l  不适合场景

文档型

MongoDB

CouchDB

l  每个对象有任意数量字段,对象可以作为值以任意深度嵌套到其他字段中

l  高度可变领域

l  很好的映射到OOP

l  缺乏复杂的查询,如联接

l  适合场景

事件日志

CMS,博客

Web分析或者实时分析

电子商务

l  不适合场景

复杂事务

查询持续变化的聚合结构

图数据库

Neo4j(支持ACID事务)

l  形式自由的网络应用,如社交网络

l  不需要将相似的对象划分共同组,只要可以在白板上建模就可以表示

l  场景如推荐引擎、ACL和地理数据

l  节点之间的高度关联,不适合网络分区

l  扩展性差,通常大容量数据存储在其他地方,而在图中只保存关系

l  适合场景

互联数据

路由、分发和基于位置的服务

推荐引擎

l  不适合场景

参考文献

《七周七数据库》

《NoSQL Distilled》

SQL到NoSQL概览性总结之一 数据库应用场景选型的更多相关文章

  1. SQL与NoSQL(关系型与非关系型)数据库的区别

    永远正确的经典答案依然是:具体问题具体分析. 数据表VS.数据集 关系型和非关系型数据库的主要差异是数据存储的方式.关系型数据天然就是表格式的,因此存储在数据表的行和列中.数据表可以彼此关联协作存储, ...

  2. 数据库 --> SQL 和 NoSQL 的区别

    SQL 和 NoSQL 的区别   一.概念 SQL (Structured Query Language) 数据库,指关系型数据库.主要代表:SQL Server,Oracle,MySQL(开源), ...

  3. 大数据学习资料之SQL与NOSQL数据库

    这几年的大数据热潮带动了一激活了一大批hadoop学习爱好者.有自学hadoop的,有报名培训班学习的.所有接触过hadoop的人都知道,单独搭建hadoop里每个组建都需要运行环境.修改配置文件测试 ...

  4. SQL与NoSQL区别--商业SQL数据库衰落--oracle面临困境

    转自:商用数据库之死:Oracle 面临困境 这二十年来,商业数据库市场仍然是 IT 行业最稳定.最具黏性的领域之一,Oracle.IBM 和微软三家厂商瓜分了 80% 的份额.然而,我们认为这个领域 ...

  5. 技术分享|SQL和 NoSQL数据库之间的差异:MySQL(VS)MongoDB

    在当今市场上,存在各种类型的数据库,选择适合你业务类型的数据库对应用的开发和维护有着重要意义.本篇文章,将为大家分享SQL和NoSQL语言之间的区别,同时还将比较这两种类型的数据库,以帮助小伙伴们选择 ...

  6. SQL VS NoSQL 如何选择数据库

    在前一篇文章中我们主要的讨论了SQL与NoSQL数据库之间的主要的差别.接下来,我们将会利用上一篇中的知识来确定在特定的场景中如何确定比较好的选择. 首先我们先来总结一下: SQL数据库: ​使用表存 ...

  7. SQL vs NoSQL 没有硝烟的战争!

    声明:本文译自SQL vs NoSQL The Differences,如需转载请注明出处. SQL(结构化查询语言)数据库作为一个主要的数据存储机制已经超过40个年头了.随着web应用和像MySQL ...

  8. SQL VS NoSQL

    (关系型与非关系型)数据库的区别: 关系型和非关系型数据库的主要差异是数据存储的方式 1.1 数据表 VS 数据集 关系型数据天然就是表格式的,因此存储在数据表的行和列中.数据表可以彼此关联协作存储, ...

  9. SQL 到 NOSQL 的思维转变

    转自:http://blogread.cn/it/article/3130?f=wb SQL 到 NOSQL 的思维转变 NOSQL系统一般都会宣传一个特性,那就是性能好,然后为什么呢?关系型数据库发 ...

随机推荐

  1. netty 支持多种通讯协议

    通讯协议,指的是把Netty通讯管道中的二进制流转换为对象.把对象转换成二进制流的过程.转换过程追根究底还是ChannelInboundHandler.ChannelOutboundHandler的实 ...

  2. iOS开发UI篇章 15-项目中的常见文件

    iOS开发UI篇-常见的项目文件介绍 一.项目文件结构示意图 二.文件介绍 1.products目录:主要用于mac电脑开发的可运行文件.ios开发用不到这个文件 2.frameworks目录主要用来 ...

  3. fastjson转换对象,属性首字母大小写的问题

    请求Json数据的时候,传递过去的String类型转Json数据的时候经常有首字母是大写的情况,例如"LoginAccount":"02:00:00:62:73:74&q ...

  4. 【周年庆】china-pub 14周年庆感恩回馈四波狂热来袭

    活动主题:china-pub 14周年庆感恩回馈四波狂热来袭活动说明:[第1波]电子书免费抢!10万好书 65折封顶!              活动规则:              1.活动期间内凡 ...

  5. [PHP] 6种负载均衡算法

    CP from  : https://www.cnblogs.com/SmartLee/p/5161415.html http://www.dataguru.cn/thread-559329-1-1. ...

  6. CF 329C(Graph Reconstruction-随机化求解-random_shuffle(a+1,a+1+n))

    C. Graph Reconstruction time limit per test 3 seconds memory limit per test 256 megabytes input stan ...

  7. Shell变量while循环内改变无法传递到循环外

    转自: https://blog.csdn.net/shawhe/article/details/65631543 今天刷Leecode(192 Word frequency)时,遇到一个shell语 ...

  8. Sharepoint2013 Report Service初探

    首先需要建立相应的report报表 如图: 这里的sql如下: SELECT PC.Name AS Category, PS.Name AS Subcategory, DATEPART(yy, SOH ...

  9. Eclipse添加tomcat服务器以及解决404的问题

    Eclipse JavaEE IDE添加tomcat服务器 1. 先做准备工作,首先下载工具 点击下方链接下载     1) Tomcat v7.0     2) Eclipse IDE for Ja ...

  10. 【Kafka】Kafka-数据倾斜问题-参考资料-解决方案

    Kafka-数据倾斜问题-参考资料-解决方案 Spark Master at spark://node-01:7077 kafka 多线程producer 数据 不均匀_百度搜索 kafka 分片使用 ...