高度可扩展并支持自动分片 极据完整性 支持强一致性和原子操作 最终一致性模型,事务完整性较弱 内存使用情况 取决于用例,对于大规模数据来说可能很高 可以用有限的内存处理大量数据 索引 支持列索引 支持二级索引,但通常建议使用自定义索引 高可用性 通过 Hadoop 的 HDFS 实现高可用性 设计具有高可用性,无单点故障 查询语言 使用 HBase shell 和过滤器,缺乏完整的 SQL 支持。
使用自己的专有存储系统 数据聚合 未针对聚合进行优化 聚合 律师数据库 需要客户端处理或第三方工具 成本 开源 Apache 项目的一部分 开源 Apache 项目的一部分 易于使用 设置复杂,但与 Hadoop 集成性强 更易于设置和使用,但调整可能很复杂 安全功能 使用 Kerberos 进行身份验证,支持 ACL 支持内部身份验证,允许对静态和传输中的数据进行加密 让我们来看看数据库的两个非常重要的方面——写入和读取性能——其中的差异可能相当明显。
读取性能 使用 HBase,写入由单个服务器处理。另一方面,Cassandra 写入具有不同版本的多个服务器。HBase 还将数据存储在提供布隆过滤器和黑色缓存的 Hadoop 分布式文件系统 (HDFS) 中,这相当于大大提高了读取性能。使用 Cassandra,数据库必须首先检查分区表中的数据,以便找到相关数据。 写入性能 情况就在这里发生了逆转。