云计算 数据文件系统 性能 架构 选择
2013-06-05 17:20
417 查看
http://vschart.com/compare/hbase/vs/mongodb/vs/apache-cassandra
▼ Actions | ×⇄ | ×⇄ | × |
HBase | MongoDB | Cassandra | |
---|---|---|---|
HBase | MongoDB | Apache Cassandra | |
Category | Database | Database | Database |
Preference | 26% votes | 38% votes | 36% votes |
Website | hbase.apache.org | www.mongodb.org | cassandra.apache.org |
License | Apache License | AGPL | Apache License 2 |
Design | |||
Database model | Column-oriented Key-value | Document-oriented Key-value Schema-less | Column-oriented Key-value |
Data storage | HDFS | Volatile memory File System | File System |
Embeddable | ? | No | Yes |
Features | |||
Query language | API calls REST XML Thrift | API calls JavaScript | API calls CQL Thrift |
Conditional entry updates | Yes | Yes | No |
Map and reduce | Yes | Yes | Yes |
Unicode | Yes | Yes | Yes |
TTL for entries | Yes | Yes | Yes |
Compression | Yes | No | Yes |
Integrity | |||
Integrity model | Log Replication | BASE | BASE |
Atomicity | ? | Conditional | Yes |
Consistency | Yes | Yes | Yes |
Isolation | No | No | No |
Durability (data storage) | Yes | Yes | Yes |
Transactions | No | No | No |
Referential integrity | No | No | No |
Revision control | Yes | No | No |
Locking model | ? | Optimistic Locking | No |
Indexing | |||
Secondary Indexes | No | Yes | Yes |
Composite keys | Yes | Yes | Yes |
Full text search | No | Yes | No |
Geospatial Indexes | No | Yes | No |
Graph support | No | No | No |
Distribution | |||
Horizontal scalable | Yes | Yes | Yes |
Replication | Yes | Yes | Yes |
Replication mode | Master-Slave Replication | Master-Slave-Replica Replication | Master-Master Replication |
Sharding | Yes | Yes | Yes |
Shared nothing architecture | Yes | Yes | Yes |
Restrictions | |||
Value size max. | 2 TB | 16 MB | 2 GB |
System requirements | |||
Operating system | Cross-platform | Linux Windows Mac OS X | Cross-platform |
Native driver | Java | Java PHP Ruby C# Python JavaScript Haskell Perl C++ Erlang Scala C Go | Java (any JVM scripting language) |
Memory minimum | ? | ? | 512 MB |
Architecture | |||
Programming language | Java | C++ | Java |
More | |||
Description | A distributed database based on Hadoop | Document Oriented Database | Second Generation Distributed Database |
Brand | Apache | ? | Apache |
Multi-user system | Yes | Yes | Conditional |
Accelerometer sensor | No | ? | ? |
Standard compliance | No | No | ? |
Software distribution | Tarball | Package management system | Package management system |
Release Date | 2ⁿᵈ February 2008 | ? | 2008 |
Documentation level | ★★★★☆ | ★★★★★ | ★★★★☆ |
Free to use | Yes | Yes | Yes |
Active | Yes | Yes | Yes |
Database Connection Pooling | Yes | Yes | Yes |
Real time analytics | No | Yes | ? |
Online backup | No | Yes | ? |
Partial Index | No | No | ? |
Function Based Index | No | No | ? |
Log | Yes | Yes | Yes |
Download | www.apache.org/dyn/closer.cgi/hbase/ | www.mongodb.org/downloads | cassandra.apache.org/download/ |
Backup functionality | Basic | Basic | Good |
Query Cache | No | Yes | ? |
Ease of use | ★★☆☆☆ | ? | ? |
In-Place Update | No | Yes | No |
Free for commercial use | Yes | Yes | Yes |
Sorts | No | Yes | No |
Capped Collections | No | Yes | ? |
Tuneable write concerns | Yes | No | Yes |
Object-Relational Mapping (ORM) | ? | Yes | Yes |
Distributed Counter | ? | No | Yes |
Key length max | ? | 255 | ? |
Read preferences | ? | Yes | ? |
相关文章推荐
- SSD固态硬盘文件系统选择与性能优化
- 大数据管理系统松耦合和紧耦合的架构设计及性能对比
- 【一个批量计算的调度系统的设计与实现】如果需要对成千上万的网络抓包数据文件在规定的时间内进行解析,应该怎么做?
- Linux 文件系统剖析: Linux flash 文件系统剖析 选择和架构
- 【分享】我们用了不到200行代码实现的文件日志系统,极佳的IO性能和高并发支持,附压力测试数据
- 将数据放至数据库外或文件系统来提高报表系统性能
- Linux 文件系统剖析: Linux flash 文件系统剖析 选择和架构
- 基于Lambda架构的数据实时计算系统
- SSD固态硬盘文件系统选择与性能优化
- MySQL性能全面优化方法参考,从CPU,文件系统选择到mysql.cnf参数优化
- 多层系统架构中数据传输载体的选择
- 一共81个,开源大数据处理工具汇总:查询引擎、流式计算、迭代计算、离线计算、键值存储、表格存储、文件存储、资源管理、日志收集系统、消息系统、分布式服务、集群管理、基础设施、搜索引擎、数据挖掘=监控
- 一共81个,开源大数据处理工具汇总:查询引擎、流式计算、迭代计算、离线计算、键值存储、表格存储、文件存储、资源管理、日志收集系统、消息系统、分布式服务、集群管理、基础设施、搜索引擎、数据挖掘=监控
- 大数据学习笔记之三十四 Storm流计算系统的架构
- 系统架构设计之--数据库主健选择篇
- [开发总结]系统架构及数据模型----AutoDesk文件格式转换篇(五)
- Mysql数据库服务器性能配置优化二 -- 文件系统及IO调度算法的选择
- mini学生管理系统。。。全部代码,4个java文件放在同一个包下面即可。用JDBC调用数据库取出数据。
- 手把手教你如何选择一款好的性能管理系统?
- 架构设计:系统存储(6)——MySQL数据库性能优化(2)