NoSQL系列:选择合适的数据库

NoSQL系列:选择合适的数据库

为什么使用NoSQL数据库?

  • 阻抗失衡
    关系模型和内存中的数据结构不匹配
    采用更为方便的数据交互方式提升开发效率

  • 待处理的数据量很大
    数据量超过关系型数据库的承载能力
    大集群的出现
    在成本方面,集群中应用关系数据库,许可费用是一笔很大的支出;
    横向扩展和纵向扩展:关系数据库一般只能是纵向扩展,通过对单机服务器的性能换代增强而实现;而对于扩展到多个服务器,
    DBMS先天不足;(DBMS不是设计给集群使用的)

  • 对数据的访问效率要求高

NoSQL数据库的分类

键值数据库

  • 产品
    Redis
    BerkerleyDB
    Memcached
    Project Voldemort
    Riak
    LevelDB

  • 适用场景
    存放会话信息
    用户配置信息
    购物车数据

  • 不适合的场景
    数据间有大量关系
    含有多项操作的事务
    根据键值的部分来查询数据
    操作关键字集合

文档数据库

  • 产品
    MongoDB
    CouchDB
    RavenDB
    Terrastore
    OrientDB

  • 适用场景
    事件记录
    内容管理系统及博客平台
    网站分析及实时分析
    电子商务应用程序
    (需要较灵活的模式,低成本建立数据模型)

  • 不适合场景
    包含多项操作的复杂查询
    查询持续变化的聚合结构

列族数据库

  • 产品
    HBase
    Amazon SimpleDB
    Cassdndra
    Hypertable
    BigTable(google)

  • 适用场景
    事件记录
    (保存应用程序状态,运行中遇到的错误)
    CMS及博客平台
    计数器

  • 不适用场景
    需要ACID事务
    查询模式变化频繁的场合

图数据库

  • 产品
    FlockDB
    HyperGraphDB
    Infinite Graph
    Neo4J
    OrientDB

  • 适用场景
    互联数据
    推荐引擎
    基于位置的服务

  • 不适用场景
    更新全部或某个子集的实体

附思维导图

NoSQL:选择合适的数据库

参考

《NoSQL精粹》

Posted by: 大CC | 07JUL,2014
博客:blog.me115.com [订阅]
微博:新浪微博

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264669.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql历史日志文件_MySQL 历史 binlog 日志处理

MySQL 历史 binlog 日志处理一、问题的引出MySQL binlog 如果不清理会占用服务器的空间,那么怎么处理binlog日志呢二、解决办法1、物理删除df -Th 查看磁盘空间➜ bobbob-pc ~ df -Th文件系统 类型 容量 已用 可用 已用% 挂载点udev devtmpfs 7.8G 0 7.8G 0% /devtmpfs tmpfs 1…

史上最全搞怪WC标志(组图)--设计者太有才了。

转载于:https://www.cnblogs.com/onlyzq/archive/2007/12/22/1010318.html

1 vmware 如何联网,以及行命令令初步

VMware安装Linux(我安装的是ubuntu),没法上网,上网教程见:https://blog.csdn.net/qq_28090573/article/details/78730552 安装完成Linux,进入系统,显示的是图形界面,但是学习Linux&a…

mysql几个timeout参数_MySQL中 timeout相关参数解析

前言:MySQL中有两个关于连接超时的配置项。他们之间在某些条件下会互相继承,那究竟这两个参数会在什么情况下起作用呢?本文将会通过一些测试实例来证明总结两者的相互关系。参数介绍:The number of seconds the server waits for …

XML操作类

publicclassXmlControl:Object { protectedstringstrXmlFile; protectedXmlDocument objXmlDoc newXmlDocument(); publicXmlControl(stringXmlFile, Boolean bOverWrite, stringsRoot) { try{ //如果覆盖模式&#xff…

shell脚本中if的相关参数

转自:http://blog.csdn.net/aaaaatiger/article/details/1713611[ -a FILE ] 如果 FILE 存在则为真。 [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。 [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。 [ -d FILE ] 如果 FILE 存在且是一个…

mysql设置端口_修改mysql端口以及出现的问题

为了提高服务器的安全性,本节课主要讲的是Linux下如何修改Mysql端口。支持Linux环境下大部分系统的修改,如Centos和Ubuntu等。一、编辑my.cnfvi /etc/my.cnf二、在[mysqld]下添加port3506三、重启mysql服务service mysqld restart这里我之前出现了一个…

[转]你打算如何提升自己?

一年一度的金九银十,对于职场人来说,人们比盼望过年过节还期待,过年过节只是得到更好的休息,而金九银十,如果机会适当,得到的是实实在在的提升,职位提升、薪酬提升。在物价和股票都上升的时候&a…

下载安装webstrom及激活

太久没在新电脑上安装websrtom,又有点忘了咋激活。 一、安装 1.直接在浏览器搜索webstrom,打开官网,直接点击download。如下图 2.打开安装包,开始安装,直接点击 next 3.选择安装路径(安装在你想安装的位置&…

CentOS命令行安装配置KVM详细教程

系统为centos 6.4 64位 最小化安装 服务器为dell R720,所以网卡为em0,在vmware作为练习安装学习,同样可以,命令行不是为了显的牛B,而是不用考虑桌面兼容性和其他原因的影响一、查看是否支持虚拟化vmware开启方式虚拟化…

mysql addslashes_PHP函数addslashes和mysql_real_escape_string的区别

首先:不要使用mysql_escape_string,它已被弃用,请使用mysql_real_escape_string代替它。mysql_real_escape_string和addslashes的区别在于:区别一:addslashes不知道任何有关MySQL连接的字符集。如果你给所使用的MySQL连…

WebBrowser 控件 内存溢出 补丁 From Microsoft

在程序中用WebBrowser长时间不停访问不同页面会造成内存溢出,微软给出了补丁,但是似乎没有怎么测试。要获得补丁必须通过邮件申请,我申请了三次才凑够了XP,2003和Vista的补丁,给大家分享。不过微软说没有经过回归测试&…

C#中如何得到Graphics对象

2019独角兽企业重金招聘Python工程师标准>>> 利用Graphics对象,我们可以绘制理想的UI。这里首先介绍C#中如何得到Graphics对象。 /如何得到Graphics对象 1. Control.CreateGraphics();直接通过Control类的公开方法获取。可以是Form,基础控件&…

【Lucene4.8教程之中的一个】使用Lucene4.8进行索引及搜索的基本操作

版权声明:本文为博主原创文章。转载请注明来自http://blog.csdn.net/jediael_lu/ https://blog.csdn.net/jediael_lu/article/details/30035025 在Lucene对文本进行处理的过程中,能够大致分为三大部分: 1、索引文件:提取文档内容并…

mysql 5.5 创建用户_MySQL5.5以上版本添加用户

MySQL数据库在5.5以后的版本对添加用户的操作进行了改版,已经不能使用原有的添加语法操作。MySQL数据库5.6版本变更:在数据库用户这一块,为了数据安全,5.6版本不在允许root用户通过insert语句对user表进行添加用户如图报错语法貌似…

discuz!nt论坛搬迁后出错,提示:对象名 'dnt_templates' 无效

2007年10月30日 星期二 16:23对象名 dnt_templates 无效解决方法: --解决重装系统并还原论坛数据库后,数据库帐号不关联的问题。--注意请用sa帐号 进行如下操作--操作之前,确保当前SqlServer中存在和原来数据库所有者同名的帐号 Exec sp_conf…

linux和windows双系统互拷文件乱码问题

2019独角兽企业重金招聘Python工程师标准>>> 如果你需要在linux下面用到windows下的文件,拷贝上去后经常发现中文显示乱码。。原因是Windows中默认的文件格式是 GBK(gb2312),而Linux一般都是UTF-8。比较繁琐的方法是在windows下用程序把内容转…

LOJ2195 旅行

LOJ2195 旅行 题目描述S 国有 N 个城市,编号从 1 到 N。城市间用 N-1 条双向道路连接,满足从一个城市出发可以到达其它所有城市。每个城市信仰不同的宗教,如飞天面条神教、隐形独角兽教、绝地教都是常见的信仰。为了方便,我们用不…

System variables, logging and the Execute SQL Task...(zz)

原文地址http://sqljunkies.com/WebLog/knight_reign/archive/2005/02/27/8187.aspxHeres something useful you can do with system variables and the SQL Task. Logging in SSIS is more flexible and there are more options for logging destinations and formats then wi…

mysql linux文件_MySQL在Linux系统下配置文件详解

在日常的的开发过程中接触到了SQLServer和MySQL数据库的操作性问题,可能是以前接触的都是SQL Server,才开始接触MySQL,总感觉使用MySQL没有使用SQLserver那么顺手,一些关键的系统函数,比如说开窗、行转列、列转行、自增…