|
1.SequoiaDB vs. MongoDB vs. Cassandra vs. HBase,您更看好哪个?为什么?
个人使用过且比较熟悉的是:MongoDB和Hbase,另外两个只是听过,但没有做过仔细的比较。四种非关系型数据库,各自的适用场景不同,也很难说哪个更好。
由于目前大部分的大数据处理分析框架还是基于MapReduce的,因此,无疑大多会选择Hbase数据库
而MongoDB提供了丰富的数据库功能,占据了非关系型数据库的主流位置。
2.在数据插入场景中,SequoiaDB数据库表现最为突出,甚至超过本身以插入性能著称的Cassandra,混合读写场景下性能也可圈可点,请分析下原因。
这与SequoiaDB的物理架构、使用的数据模型密切相关。以下,主要列出了SequoiaDB的特点:
1、当传统的关系型数据库无法做到水平扩张能力时,在SequoiaDB中会得到完美的解决,通过对数据进行垂直切片,并应用了新型的非关系型数据模型,SequoiaDB有效地降低了传统数据库分区中大量数据交换的瓶颈,进而得到线性水平扩张能力。
2、SequoiaDB能够将用户的每一份数据实时保存多份副本,有效地防止了因服务器、机房及人为等因素所造成的系统停机带来的损失,确保随时在线可用。
3、SequoiaDB为企业提供了用户友好并完善的管理、维护及监控界面,实现24×7的电话及现场技术支持,拥有完善的企业级支持。
4、SequoiaDB使用JSON数据模型,灵活有效地降低关系模型的复杂性,让数据库更加贴近应用程序,从而大大降低应用程序的开发和维护成本。
5、SequoiaDB在大规模分布式环境中提供了数据最终一致性的保障,满足用户对实时性与一致性的需求。
6、SequoiaDB通过分片机制进行读写分离,允许前端在线应用与后台数据分析完美并行互不干扰,并可结合Hadoop技术进行海量数据分析。
3.在写入性能方面,HBase与Cassandra远高于MongoDB,但是和SequoiaDB相比仍然逊色一筹;而在主键随机读操作方面,Cassandra的新版本和之前的版本比起来性能大幅度上升,基本做到和MongoDB处于同一水平线,为什么?
Cassandra在1.0中增加了数据压缩存储技术,1.2版本又改善了对密集群(dense clusters)的支持,简化了应用程序建模,改善了数据单元存储/设计/表征,系统可以毫不费力地扩展到PB级别数据。
1.2版本的新特性还包括了跨虚拟节点集群、节点间的通信、原子批处理、请求跟踪等。
此外,1.2版本中还包含了第3版的Cassandra查询语言CQL3,简化了应用建模、允许更强大的映射,并通过更加自然的表征来减少设计上的限制。
这些新特性的加入,无疑使Cassandra性能大幅提升
4.在查询为主的场景中,SequoiaDB与Cassandra的性能接近单纯查询的场景,而更新操作对MongoDB的损耗相对较大,使其性能仅不到3万每秒,HBase依然性能较低。为什么差异这么大?
主要的区别,应该是在各非关系型数据库的架构设计、数据分片、数据存储形式、节点通信等的不同
|
|