大佬教程收集整理的这篇文章主要介绍了主流nosql数据库对比,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Riak,Tin,Flare,Lightcloud,KiokuDB,Scalaris,Kai,ThruDB等等。
一、满足极高读写性能需求的Kye-Value数据库:redis,Tokyo Cabinet,Flare
高性能key-value数据库的主要特点就是具有极高的并发读写性能,redis,Tokyo Cabinet,Flare,这3个Key-Value DB都是用C编写的,他们的性能都相当出色。
二、满足海量存储需求和访问的面向文档的数据库:MongoDB,CouchDB
三、满足高可扩展性和可用性的面向分布式计算的数据库:Cassandra,Voldemort
表一主流NOsql简单对比
参考:http://kkovacs.eu/Cassandra-vs-mongodb-vs-couchdb-vs-redis
Cassandra | @H_956_42@mongodbCouchDB | redis | Riak | HBase | ||
开发语言 | JAVA | C++ | Erlang | C / C++ | Erlang/ C / JavaScript | JAVA |
特点 | 分布式与复制的权衡 根据列和键范围进行查询 Bigtable类似的功能:列,列族 写比读快很多 |
主从复制 查询利用JavaScript表达式 比CouchDB更容易就地升级 内置Sharding 数据存储使用的是内存映射文件 数据库崩溃后需要对表进行修复 持久性更好 |
双向复制 主主复制(master-master Replication) 冲突检测 多版本并发控制,写操作不会阻塞读取 通用的技术文档 只崩溃设计Crash-only 需要经常压缩 视图:嵌入式map/reduce 格式化视图:Lists & shows 服务器端文档验证可行 身份验证可行 通过_changes实时更新 附件处理 |
内存数据库 主从复制 简单的Key-Value 操作符较为复杂,如 ZREVRANGEBYS COREINCR & co (有利于速率限制和统计) 有集合 (union/diff/inter) 有列表 (a queue; blocking pop) 有散列(多字段对象) Nosql中唯一处理交易的数据库 |
分布式与复制的权衡post-commit和pre-commit hooks 安全性验证 内置的全文检索 JavaScript或 Erlang Map/reduce |
分布式与复制的权衡 模仿Bigtable @H_82_7@map/reduce Hadoop利用服务器端扫描进行查询预测叠加并获取过滤 优化的实时查询 高性能Thrift网关 http支持XML、Protobuf和二进制 Cascading、hive、 pig source和sink模块 基于Jruby的sHell 无单点故障 类似MysqL的随机访问性能 |
证书 | Apache | Apache | Apache | BSD | Apache | Apache |
协议 | 自定义/Thrift | 自定义/BSON | http/REST | Telnet-like | http/REST | http/REST/Thrift |
最佳适用 | 基于JAVA,写操作较多,读少 | 动态的查询,定义索引而非map/reduce。数据变化快,磁盘不够用,可以使用MongoDB | 有大量数据,但更新不大,需要预先定义查询 | 数据快速变化,数据库大小可以预见(适合内存存取数据) | 简单的类似Cassandra 或Dynamo的功能,较强的单点容错性和扩展性 |
随机数据、实时读取海量数据 |
应用场景 | 银行,金融行业。数据分析 | @H_82_7@mysqL或 POSTGResql 的替代品 |
CRM、CMS系统 | 股价系统,数据分析,实时数据采集以及实时通信场景 | 销售点数据采集。工厂控制系统。需要零停机时间的场景 | 喜欢bigtable,需要随即、实时的读写大数据(Big Data) |
以上是大佬教程为你收集整理的主流nosql数据库对比全部内容,希望文章能够帮你解决主流nosql数据库对比所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。