主流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数据库. ...
随机推荐
- SpringBoot上传文件临时失效问题
线上的系统中不能上传文件了,出现如下错误: org.springframework.web.multipart.MultipartException: Could not parse multipar ...
- DeepFaceLab参数详解之Batch-Size的使用和取值!
Batch-Size简称BS. 这是一个非常常见的参数,所有模型都具备的一个参数. 这其实是深度学习中的一个基础概念.要说理论可以说出一大堆,大家可以先简单的理解为一次处理的图片张数.为了防止吓跑小白 ...
- jenkisn Pipeline的流水线发布,自动化部署
创建一个流水线job,这只是个简单的流水线发布教程,写的不好~
- 远程连接mysql要点 虚拟主机定义与分类
远程连接mysql:通过主机地址与端口号连接 1. 主机地址:找到主机电脑 2. 端口号:找到对应mysql软件 mysql客户端访问服务端需要进行寻找匹配:连接认证-h 主机地址 例如 -hloca ...
- django写原生sql语句
执行自定义SQL语言: from django.db import connection cursor=connection.cursor() # 插入操作 cursor.execute(&q ...
- json -- fastjson如何序列化@Transient的字段
今天把fastjson包改成了1.2.58,发现@Transient标注的字段序列化后不见了,但是项目需要把@Transient字段序列化,处理方法: 原文:https://github.com/al ...
- Python基本语法_函数属性 & 参数类型 & 偏函数的应用
目录 目录 前言 软件环境 Python Module的程序入口 函数的属性 Python函数的创建 函数的参数 必备参数 缺省参数 命名参数 不定长参数 匿名参数 偏函数的应用 前言 Python除 ...
- django设置mysql为数据库笔记
1,guest/settings.py中加上 import pymysql pymysql.install_as_MySQLdb() 安装好pymysql 2,guest/settings.py的DA ...
- unity中的常遇到的问题
1.使用unity的MovieTexture播放视频在物体上,对象只能在电脑上 2.移动端播放全屏视频 Handheld.PlayFullScreenMovie(),视频文件必须放置在Streamin ...
- SpringCloud常用注解有哪些?
@Mapper: 注解写在你的Mapper映射接口上面 @SpringBootApplication: 写在主程序上面 @Configuration: 写在配置类上面 @Bean: 写在配置类中的返回 ...