主流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数据库. ...
随机推荐
- leetcode-easy-math-13 Roman to Integer
mycode 97.21% class Solution(object): def romanToInt(self, s): """ :type s: str :rty ...
- docker top 和 docker exec ps 命令查看的PID区别
区别在于 docker top 查看到的 PID 属于宿主机的 PID.我们可以通过 宿主机执行 ps -ef 查看结果 也可以进去容器执行 top 和 ps查看结果
- 使用KFold进行训练集和验证集的拆分,使用准确率和召回率来挑选合适的阈值(threshold) 1.KFold(进行交叉验证) 2.np.logical_and(两bool数组都是正即为正) 3.np.logical_not(bool数组为正即为反,为反即为正)
---恢复内容开始--- 1. k_fold = KFold(n_split, shuffle) 构造KFold的索引切割器 k_fold.split(indices) 对索引进行切割. 参数说明:n ...
- Use an Excel RTD Server with DCOM
费好大劲找到的文章,留存. Use an Excel RTD Server with DCOM 如何使用DCOM的Excel RTD服务器 Microsoft Office Excel 2007,Mi ...
- python 逻辑运算符and or
Python中逻辑运算符与C.C++.Golang等语言不太一样. 简单记录下. 1. 都是真或第一个真,第二个假 >>> a = 1 >>> b = 2 > ...
- CICD - 持续集成与持续交付
持续集成与持续交付是软件开发和交付中的实践.我们项目中一直在践行持续集成(CI:Continuous Integration):持续交付(CD:Continuous Delivery)未能达到理想状态 ...
- 人事中的BP是什么意思?
BP= business partner,指业务伙伴 HR=human resources,指人力资源 HRBP就是人力资源服务经理.主要工作内容是负责公司的人力资源管理政策体系.制度规范在各业务单元 ...
- :成功配置 centos + nginx + .net core 2.0
https://segmentfault.com/a/1190000010763523
- WebSocket-Node
WebSocket Client & Server Implementation for Node 参考资料:[https://github.com/theturtle32/WebSocket ...
- php配置 php-cgi.sock使用
PHP配置文件: [global]pid = /run/php-fpm/php-fpm.piderror_log = /var/log/php-fpm/php-fpm.loglog_level = n ...