常见的NoSQL数据库
NoSQL数据库发展迅猛,据说现在已经有上百种NoSQL数据库了,下面来了解下常见的一些NoSQL数据库
先来看张表,了解下典型的NoSQL数据库的分类
| 临时性键值存储 | 永久性键值存储 | 面向文档的数据库 | 面向列的数据库 |
| Memcached | Tokyo Tyrant | MangoDB | Cassandra |
| Redis | Flare | CouchDB | HBase |
| ROMA | HyperTable | ||
| Redis |
Memcached
- 挥发性(临时性)的键值存储
- 一般作为关系型数据库的缓存来使用
- 具有非常快的处理速度
- 由于存在数据丢失的可能,所以一般用来处理不需要持久保存的数据
- 用于需要使用expires时(需要定期清除数据)
- 使用一致性散列(Consistent Hashing)算法来分散数据
Tokyo Tyrant
- 持久性的键值存储
- 用来处理需要持久保存,高速处理的数据
- 具有非常快的处理速度
- 用于不需要定期清除的数据
- 使用一致性散列(Consistent Hashing)算法来分散数据
Redis
- 兼具Memcached和Tokyo Tyrant优势的键值存储
- 擅长处理数组类型的数据
- 具有非常快的处理速度
- 可以高速处理时间序列的数据,易于处理集合运算
- 拥有很多可以进行原子操作的方法
- 使用一致性散列(Consistent Hashing)算法来分散数据
MongoDB
- 面向无需定义表结构的文档数据
- 具有非常快的处理速度
- 通过BSON的形式可以保存和查询任何类型的数据
- 无法进行JOIN处理,但是可以通过嵌入(embed)来实现同样的功能
- 使用sharding(范围分割)算法来分散数据
上面多次提到了一致性散列,那到底什么是一致性散列呢?请参考这里 ,我就不赘述了
不过,当server数量很少时,很可能他们在圆周上的分布不是特别均匀,
导致cache不能均匀分布到所有的server上。
这时候,就该请出虚拟节点了
为每个物理节点(服务器)在圆上分配100~200个点,
这样就能抑制分布不均匀,最大限度地减小服务器增减时的缓存重新分布,
用户数据映射在虚拟节点上,就表示用户数据真正存储位置是在该虚拟节点代表的实际物理服务器上。
常见的NoSQL数据库的更多相关文章
- 常见的nosql数据库有哪些?以及他们的特点与区别?
一.常见的nosql 二.Redis,Memcache,MongoDb的特点 (1).Redis 优点: 1.支持多种数据结构,如 string(字符串). list(双向链表).dict(hash表 ...
- 大数据笔记(十三)——常见的NoSQL数据库之HBase数据库(A)
一.HBase的表结构和体系结构 1.HBase的表结构 把所有的数据存到一张表中.通过牺牲表空间,换取良好的性能. HBase的列以列族的形式存在.每一个列族包括若干列 2.HBase的体系结构 主 ...
- [转载]NoSQL数据库的基础知识
关系型数据库和NoSQL数据库 什么是NoSQL 大家有没有听说过“NoSQL”呢?近年,这个词极受关注.看到“NoSQL”这个词,大家可能会误以为是“No!SQL”的缩写,并深感愤怒:“SQL怎么会 ...
- 15一个NoSql数据库
随着因特网web2.0该网站的兴起.非关系型数据库,现在已经成为一个非常受欢迎的新领域.非关系数据库产品的发展非常迅速.而在处理传统的关系数据库web2.0现场.特别是大规模,高并发SNS类型web2 ...
- NoSQL 数据库概览及其与 SQL 语法的比较
NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用的难题. 本文对NoSQL数据库的定义.分类.特征.当前比较流行的NoSQL数据库系统等进行了简单的介绍,并对N ...
- NoSQL数据库概览及其与SQL语法的比較
[文章摘要] HBase是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统.同一时候也是知名的NoSQL数据库之中的一个.NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤 ...
- NoSQL数据库兴起
前言 近几年NoSQL数据库兴起,各种新的产品层出不穷,在此学习下NoSQL的基本理论,并认识下常见的NoSQL数据库. 一 NoSQL数据库兴起的原因 随着大数据技术兴起和Web2.0时代的到来.传 ...
- 几款主流 NoSql 数据库的对比
最近小组准备启动一个 node 开源项目,从前端亲和力.大数据下的IO性能.可扩展性几点入手挑选了 NoSql 数据库,但具体使用哪一款产品还需要做一次选型. 我们最终把选项范围缩窄在 HBase.R ...
- NoSQL数据库笔谈(转)
NoSQL数据库笔谈 databases , appdir , node , paper颜开 , v0.2 , 2010.2 序 思想篇 CAP 最终一致性 变体 BASE 其他 I/O的五分钟法则 ...
随机推荐
- C#中类的属性的获取
/// <summary> /// 将多个实体转换成一个DataTable /// </summary> /// <typeparam name="T" ...
- ZKWeb网页框架1.5正式发布
本次更新的内容有 明显的改进了IoC容器在部分情况下的性能, 当前的性能和Grace, DryIoC同等 添加IHttpResquestHandlerWrapper接口让重载Http上下文更容易 添加 ...
- svn 设置 excel 比对工具为 SPREADSHEETCOMPARE.EXE
http://blog.csdn.net/ccpat/article/details/50725774
- 传输层两大协议:TCP和UDP
1. UDP 1.1 发送方式(如何发送) 面向无连接. 无状态服务. 不保证不丢失,不保证按顺序到达. 1.2 发送形式(发送的是什么) 基于数据报. 一个一个的发送,一个一个的接收. 1.3 使用 ...
- vue项目警告There are multiple modules with names that only differ in casing
执行npm run dev后出现了警告提示: warning in ./src/components/Public/yearSelectCell.vue There are multiple modu ...
- Java异常处理设计(一)
很多次的经验教训,让我不得不重视异常处理.经常遇到的问题如下:1)日志不准确,错误原因难以查明!!2)日志量太大,查找麻烦!!3)哪里需要记录日志,哪里不用记录日志?往往随心所欲!!分析以上问题,深入 ...
- vs2017 对dockerfile的支持
项目添加 dockerfile Docker file 内容 FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base WORKDIR /app EXP ...
- Spark实战1
1. RDD-(Resilient Distributed Dataset)弹性分布式数据集 Spark以RDD为核心概念开发的,它的运行也是以RDD为中心.有两种RDD:第一种是并行Col ...
- webgl之3d动画
之前的几篇文章都是静态的,而这里主要介绍如何使物体动起来,并且学会使用性能监视器来监测性能. 而如果要让物体动起来,实际上我们是有两种方法的,第一种是让物体真的动起来,另外一种是让摄像机动起来这样物体 ...
- nginx配置client_body_temp_path
http://wiki.nginx.org/HttpCoreModule 中写道: 这里的client_body_temp_path是制定post上传的$_FILES上传的文件地址 后面的level1 ...