主流NoSQL数据库的分析与选择
一因为新的数据项目的数据量级较大,因此考虑将mysql替换更高性能的数据库。
介绍一下NoSQL(不仅仅是关系型数据库)的不同种类和其擅长的业务。
NoSQL的一个比较明显的特点是适用于现代大数据的存储.(支持hadoop,保证了数据量级的同时对读写性能有一定要求)
目前市面上主流的开源NoSQL有以下几类:
MongoDB, Cassandra, CouchDB, Hypertable, Redis, Riak, Neo4j, HBASE, Couchbase, MemcacheDB, RevenDB and Voldemort
以上均免费且开源。作者选了几种国内比较通用的进行分析。
| NoSQL | 优点 | 缺点 | 适用场景与备注 | 应用场景 |
| Hbase |
支持数十亿行X上百万列 |
维护开发复杂,需要手工MapReduce |
1.简单数据写入(如“消息类”应用) |
1.Facebook的消息类应用,包括Messages、Chats、Emails和SMS系统 |
| Mangodb | 功能丰富,数据类型灵活,各个性能特性都比较平衡 | 性能在同类中比较低 |
1.二级索引,支持相比于HBase更复杂的集合查找 |
例如:你本打算采用 MySQL或 PostgreSQL,但因为它们本身自带的预定义栏让你望而却步。 |
| Redis | 速度快,简单,容易维护,支持多种数据结构 | 数据可靠性无保障,功能较少。 |
1.处理数据量小于以上两种的极高速读写 |
1.例如:股票价格、数据分析、实时数据搜集、实时通讯。 |
| Cassandra | 对大型表格和Dynamo支持得最好,高写入性能 | 臃肿和复杂,java配置异常频出 | 适用于写入较多于读取操作(记录日志).快速开发应用程序,大量写入、统计和分析,需要扩展的部署结构 | 例如:银行业,金融业(虽然对于金融交易不是必须的,但这些产业对数据库的要求会比它们更大)写比读更快,所以一个自然的特性就是实时数据分Neo4j析 |
| Neo4j | 图形类数据 | 非图形数据不适用 | 适用于图形一类数据。这是Neo4j与其他nosql数据库的最显著区别 | 例如:社会关系,公共交通网络,地图及网络拓谱 |
综合以上特征,如果想要对用户出行的数据进行统计,不同用户单日的行程数目与充电次数均不相同,mangodb的不同结构的文件存储更适用于当前场景。
参考文章:
https://blog.csdn.net/renyi_blog/article/details/23285977
https://bbs.csdn.net/topics/390826073
https://blog.csdn.net/aikumei/article/details/77671891
主流NoSQL数据库的分析与选择的更多相关文章
- 几款主流 NoSql 数据库的对比
最近小组准备启动一个 node 开源项目,从前端亲和力.大数据下的IO性能.可扩展性几点入手挑选了 NoSql 数据库,但具体使用哪一款产品还需要做一次选型. 我们最终把选项范围缩窄在 HBase.R ...
- HBase、Redis、MongoDB、Couchbase、LevelDB主流 NoSQL 数据库的对比
最近小组准备启动一个 node 开源项目,从前端亲和力.大数据下的IO性能.可扩展性几点入手挑选了 NoSql 数据库,但具体使用哪一款产品还需要做一次选型. 我们最终把选项范围缩窄在 HBase.R ...
- 几款主流 NoSql 数据库的对比(转)
转自:http://www.cnblogs.com/vajoy/p/5471308.html 最近小组准备启动一个 node 开源项目,从前端亲和力.大数据下的IO性能.可扩展性几点入手挑选了 NoS ...
- 主流 NoSQL 数据库对比
HBase HBase 是 Apache Hadoop 中的一个子项目,属于 bigtable 的开源版本,所实现的语言为Java(故依赖 Java SDK).HBase 依托于 Hadoop 的 H ...
- 3大主流NoSQL数据库性能对比测试报告
近日,知名独立基准测评机构Bankmark,针对目前市面上主流的NoSQL数据库SequoiaDB.MongoDB以及Cassandra三款NoSQL数据库产品做了性能对比测试并发布测试报告.在所有的 ...
- 8种主流NoSQL数据库对比
摘要:虽然SQL数据库是非常有用的工具,但经历了15年的一支独秀之后垄断即将被打破.这只是时间问题:被迫使用关系数据库,但最终发现不能适应需求的情况不胜枚举. 简介 NoSQL,是一项全新的数据库革命 ...
- 主流nosql数据库对比
目前开源的NOSQL数据库有,Redis,Tokyo Cabinet,Cassandra,Voldemort,MongoDB,Dynomite,HBase,CouchDB,Hypertable, Ri ...
- NoSql 数据库
几款主流 NoSql 数据库的对比 posted @ 2016-05-11 21:36 vajoy 阅读(915) 评论(3) 编辑 收藏 最近小组准备启动一个 node 开源项目,从前端亲和力. ...
- 关系数据库&&NoSQL数据库
在过去,我们只需要学习和使用一种数据库技术,就能做几乎所有的数据库应用开发.因为成熟稳定的关系数据库产品并不是很多,而供你选择的免费版本就更加少了,所以互联网领域基本上都选择了免费的MySQL数据库. ...
随机推荐
- 使用多块GPU进行训练 1.slim.arg_scope(对于同等类型使用相同操作) 2.tf.name_scope(定义名字的范围) 3.tf.get_variable_scope().reuse_variable(参数的复用) 4.tf.py_func(构造函数)
1. slim.arg_scope(函数, 传参) # 对于同类的函数操作,都传入相同的参数 from tensorflow.contrib import slim as slim import te ...
- 转:BIOS的恢复技术之Top Swap的原理应用
原文地址:https://baijiahao.baidu.com/s?id=1628248717252216590&wfr=spider&for=pc 一版又一版的BIOS推送,目的无 ...
- 2019-03-19 Fiori学习笔记 Fiori开发环境
Fiori 文档 :https://experience.sap.com/fiori-design-web/ Fiori 登录:https://cloudplatform.sap.com/index. ...
- Web02_HTML&CSS
HTML 表单标签属性介绍 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- Struts---多文件上传、单文件下载
struts.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUB ...
- java:(监听,上传,下载)
1.监听: index.jsp: <%@ page language="java" import="java.util.*" pageEncoding=& ...
- CPU 使用率低 but负载高
一.关于负载 什么是负载:负载就是cpu在一段时间内正在处理以及等待cpu处理的进程数之和的统计信息,也就是cpu使用队列的长度统计信息,这个数字越小越好(如果超过CPU核心*0.7就是不正常) 负载 ...
- java中enum----枚举的学习(更新中)
package com.hdmaxfun; import java.util.Scanner; import com.icpc.Icpm; import java.util.HashMap; impo ...
- 【Qt开发】布局控件之间的间距设置
void QLayout::setContentsMargins ( int left, int top, int right, int bottom ) Sets the left, top, ri ...
- elasticsearch-analysis-ik windows 环境 IK 中文分词器 的 下载 和 安装
1,下载插件压缩包(本地测试建议用迅雷下,生产用的绝对不要用迅雷下),链接地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/ ...