一因为新的数据项目的数据量级较大,因此考虑将mysql替换更高性能的数据库。

介绍一下NoSQL(不仅仅是关系型数据库)的不同种类和其擅长的业务。

NoSQL的一个比较明显的特点是适用于现代大数据的存储.(支持hadoop,保证了数据量级的同时对读写性能有一定要求)

目前市面上主流的开源NoSQL有以下几类:

MongoDB, Cassandra, CouchDB, Hypertable, Redis, Riak, Neo4j, HBASE, Couchbase, MemcacheDB, RevenDB and Voldemort

以上均免费且开源。作者选了几种国内比较通用的进行分析。

NoSQL 优点  缺点   适用场景与备注  应用场景
 Hbase

支持数十亿行X上百万列
堪比MySQL的随机访问性能

维护开发复杂,需要手工MapReduce 

1.简单数据写入(如“消息类”应用)
2.海量、结构简单的分布,并发数据的查询(如“详单类”应用)
适用于偏好BigTable,并且需要对大数据进行随机、实时访问的场合

1.Facebook的消息类应用,包括Messages、Chats、Emails和SMS系统
2.淘宝的WEB版阿里旺旺,后台是Hbas
3.小米的米聊用的也是Hbase
4.移动某省公司的手机详单查询系统

 Mangodb  功能丰富,数据类型灵活,各个性能特性都比较平衡  性能在同类中比较低

1.二级索引,支持相比于HBase更复杂的集合查找
2.处理文档型数据更为直接。支持复杂的数据结构
适用于需要动态查询支持;需要使用索引而不是 map/reduce功能;需要对大数据库有性能要求

 例如:你本打算采用 MySQL或 PostgreSQL,但因为它们本身自带的预定义栏让你望而却步。
 Redis 速度快,简单,容易维护,支持多种数据结构  数据可靠性无保障,功能较少。

1.处理数据量小于以上两种的极高速读写
2.支持集合set,有序集合zset和哈希hash格式
适用于数据变化快且数据库大小可遇见(适合内存容量)的应用程序

1.例如:股票价格、数据分析、实时数据搜集、实时通讯。
2.适用于高速缓存,存放Hadoop或Spark的分析结果,或在部分场合可以对关系数据库起到很好的补充作用

 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数据库的分析与选择的更多相关文章

  1. 几款主流 NoSql 数据库的对比

    最近小组准备启动一个 node 开源项目,从前端亲和力.大数据下的IO性能.可扩展性几点入手挑选了 NoSql 数据库,但具体使用哪一款产品还需要做一次选型. 我们最终把选项范围缩窄在 HBase.R ...

  2. HBase、Redis、MongoDB、Couchbase、LevelDB主流 NoSQL 数据库的对比

    最近小组准备启动一个 node 开源项目,从前端亲和力.大数据下的IO性能.可扩展性几点入手挑选了 NoSql 数据库,但具体使用哪一款产品还需要做一次选型. 我们最终把选项范围缩窄在 HBase.R ...

  3. 几款主流 NoSql 数据库的对比(转)

    转自:http://www.cnblogs.com/vajoy/p/5471308.html 最近小组准备启动一个 node 开源项目,从前端亲和力.大数据下的IO性能.可扩展性几点入手挑选了 NoS ...

  4. 主流 NoSQL 数据库对比

    HBase HBase 是 Apache Hadoop 中的一个子项目,属于 bigtable 的开源版本,所实现的语言为Java(故依赖 Java SDK).HBase 依托于 Hadoop 的 H ...

  5. 3大主流NoSQL数据库性能对比测试报告

    近日,知名独立基准测评机构Bankmark,针对目前市面上主流的NoSQL数据库SequoiaDB.MongoDB以及Cassandra三款NoSQL数据库产品做了性能对比测试并发布测试报告.在所有的 ...

  6. 8种主流NoSQL数据库对比

    摘要:虽然SQL数据库是非常有用的工具,但经历了15年的一支独秀之后垄断即将被打破.这只是时间问题:被迫使用关系数据库,但最终发现不能适应需求的情况不胜枚举. 简介 NoSQL,是一项全新的数据库革命 ...

  7. 主流nosql数据库对比

    目前开源的NOSQL数据库有,Redis,Tokyo Cabinet,Cassandra,Voldemort,MongoDB,Dynomite,HBase,CouchDB,Hypertable, Ri ...

  8. NoSql 数据库

    几款主流 NoSql 数据库的对比 posted @ 2016-05-11 21:36 vajoy 阅读(915) 评论(3) 编辑 收藏   最近小组准备启动一个 node 开源项目,从前端亲和力. ...

  9. 关系数据库&&NoSQL数据库

    在过去,我们只需要学习和使用一种数据库技术,就能做几乎所有的数据库应用开发.因为成熟稳定的关系数据库产品并不是很多,而供你选择的免费版本就更加少了,所以互联网领域基本上都选择了免费的MySQL数据库. ...

随机推荐

  1. synchronized 读写同步

    synchronized 读写同步 这是一道面试题,很多人也遇到了. 要求:1.读-读 不用线程同步.2.读-写 要求线程同步,写的时候不能读.3.写-写同步.写的时候不能写. java lock读写 ...

  2. nginx报错:nginx: [emerg] unknown directive in /etc/nginx/conf.d/test.conf:4

    nginx报错:nginx: [emerg] unknown directive  in /etc/nginx/conf.d/test.conf:4 解决: 第四行出现了 tab 空格 , 换成正常的 ...

  3. c++面向对象 —— 类和对象

    类和对象 类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法.类中的数据和方法称为类的成员.函数在一个类中被称为类的成员. 一.类定义 实际上并没有定义任何数据,但它定义了类的名称意味着什么 ...

  4. Python学习之并发基础知识

    8 并发编程 8.1 基础知识 8.1.1 操作系统的定义 操作系统是存在于硬件与软件之间,管理.协调.调度软件与硬件的交互. 资源管理解决物理资源数量不足和合理分配资源这两个问题, 通俗来说,操作系 ...

  5. 【神经网络与深度学习】CIFAR-10数据集介绍

    CIFAR-10数据集含有6万个32*32的彩色图像,共分为10种类型,由 Alex Krizhevsky, Vinod Nair和 Geoffrey Hinton收集而来.包含50000张训练图片, ...

  6. lua基础学习(一)

    设计目的: 为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能.   特性: 1.编译之后仅仅100k,可以很方便嵌入别的程序里. 2.可扩张性,Lua提供了非常易于使用的扩展接口和机制:由宿 ...

  7. websocket服务器推送 (node+express+vue+socket)

    简介: 此项目需要懂一点node.express 功能: 1.前端用户登录,查看服务端推送的消息,用户只能在一个地方登录,也就是单点登录 2.服务端首先登录,上传需要推送的信息文本,后台读取文本后,存 ...

  8. IOMETER的简单使用

    1. 网上下载文件: 一般至少包含两个: 2. 使用IOmeter 进行 功能测试. 注意选择 测试需要的盘 注意 选择的磁盘 会被充满. 会产生一个特别大的文件 3. 选择测试对象 4. 可以查看实 ...

  9. tree_cuttting(树形dp求解树的重心)

    Tree Cutting After Farmer John realized that Bessie had installed a "tree-shaped" network ...

  10. [gym101981D][2018ICPC南京D题]Country Meow

    题目链接 题目大意是求三维空间可以包含$n$个点的最小圆半径. 如果有做过洛谷P1337就会发现这到题很模拟退火,所以就瞎搞一发. $PS:$注意本题时限$3$秒. #include<bits/ ...