数据库类型与实例

适合场景

不适合场景

场景举例

关系数据库

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

开源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. ASP.NET Web API实践系列03,路由模版, 路由惯例, 路由设置

    ASP.NET Web API的路由和ASP.NET MVC相似,也是把路由放在RouteTable中的.可以在App_Start文件夹中的WebApiConfig.cs中设置路由模版.默认的路由模版 ...

  2. ASP.NET Web API实践系列02,在MVC4下的一个实例, 包含EF Code First,依赖注入, Bootstrap等

    本篇体验在MVC4下,实现一个对Book信息的管理,包括增删查等,用到了EF Code First, 使用Unity进行依赖注入,前端使用Bootstrap美化.先上最终效果: →创建一个MVC4项目 ...

  3. (转)Java中的守护线程

    Java的守护线程与非守护线程   守护线程与非守护线程 最近在看多线程的Timer章节,发现运用到了守护线程,感觉Java的基础知识还是需要补充. Java分为两种线程:用户线程和守护线程 所谓守护 ...

  4. Linux 用户和用户操作

    1,创建组 groupadd test 增加一个test组 2,修改组 groupmod -n test2 test 将test组的名子改成test2 3,删除组 groupdel test2 删除  ...

  5. c++中 extern

    用例子给你示范 // 1.cpp int x = 10; // 2.cpp 注意没有包含1.cpp #include <iostream> using namespace std; ext ...

  6. java初始化ArrayList

    初始化ArrayList我们一般这样写:ArrayList<String> places = new ArrayList<String>();places.add(" ...

  7. 摩登家庭第一季/全集Modern Family迅雷下载

    本季Modern Family Season 1 第一季(2009)看点:<摩登家庭>瞄准的是三对各有不同的美国家庭:一对普通父母与三个孩子.一对同性恋夫夫从越南领养了养女组成三口之家,一 ...

  8. BZOJ3328: PYXFIB

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3328 题解:关键在于只处理i%k的项,那么我们就需要用一个式子来表达这个东西. p%k==1. ...

  9. RV32FD指令集

    Risc-V架构定义了可选的单精度浮点指令(F扩展指令集)和双精度浮点指令(D扩展指令集). Risc-V架构规定:处理器可以选择只实现F扩展指令子集而不支持D扩展指令子集:但是如果支持了D扩展指令子 ...

  10. windows包管理器chocolatey

    1.安装chocolatey打开cmd.exe执行@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Obj ...