主流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数据库. ...
随机推荐
- Checkbox 多选框
Checkbox 多选框 一组备选项中进行多选 ¶基础用法 单独使用可以表示两种状态之间的切换,写在标签中的内容为 checkbox 按钮后的介绍. 在el-checkbox元素中定义v-model绑 ...
- 详析静态网站与动态网站区别(服务器ip dns 端口)
几个基本知识 1.服务器:能够提供服务的机器 取决于机器上所安装的服务软件 1) web服务器:提供web服务(网站访问) 就需要安装web服务软件,Apache,tomcat,iis等 2. ...
- python 引流
Python给抖音自动点赞和评论,实现自动化运营! 都说抖音有毒,一刷就停不下来了.看来抖音这款产品紧紧抓住了人们内心深处的某些需求.当然今天不是来探讨抖音这款产品的啊.今天我们来学习如何用 Pyth ...
- Flutter异步Future
一.认识Future 1.创建Future void testFuture(){ Future future = new Future(() => null); future.then((_){ ...
- 依赖注入——angular
在Angular中创建一个对象时,需要依赖另一个对象,这是代码层的一种依赖关系,当这种依赖被声明后,Angular通过injector注入器将所依赖的对象进行注入操作. 一.依赖注入的原理 看下面的示 ...
- 龙芯软硬件培训个人总结-day2
今天最后一天,主要培训了BSP,QT,KVM云计算相关的内容.大致总结了一些自己关注的点.培训的资料已上传至服务器,如果需要可关注下方二维码,后台直接回复“资料”获取.关于实战的资料还未导出,等导出 ...
- JavaScript Array Reduce用于数组求和
需求一 假设有一个数组,需要对其中的元素进行求和. const numbers = [1, -1, 2, 3]; 传统写法,使用for循环求和 const numbers = [1, -1, 2, 3 ...
- 使用注解方式搭建SpringMVC
1.以前搭建Spring MVC 框架一般都使用配置文件的方式进行,相对比较繁琐.spring 提供了使用注解方式搭建Spring MVC 框架的方式,方便简洁.使用Spring IOC 作为根容器管 ...
- spring boot-18.使用dubbo发布分布式服务
我们新建两个项目分别模拟服务的提供者和服务的消费者,spring boot 集成dubbo主要分为以下几个步骤: 1.安装zookeeper 推荐使用docker 安装,使用以下几个命令即可完成 (1 ...
- [转帖]目标管理的S.M.A.R.T.理念
目标管理的S.M.A.R.T.理念 https://blog.csdn.net/gehantao/article/details/1593510 目标管理(MBO)是一种管理战略,它使用的是S ...