cassandra适合写和少读,而hbase适合随机读和写,这对吗?听说facebook用hbase取代了Cassandra
7nbnzgx91#
hbase使用lsm树并提供标准的插入/写入速率。由于lsm树的原因,对于常规写入,random不会出现在图片中。如果您正在进行批量上载,那么可以绕过预写日志(wal),直接访问内存存储区。如果您愿意,您可以使用hadoop或其他数据工具直接写入hdfs进行大批量上传。如果增加区域服务器的数量,可以提高写性能,因为这将导致更多的WAL。但是,像往常一样,它会在别的地方咬你。所以,小心点。至于随机读取,如果块大小足够小,hbase将能够为您提供更好的性能。它将很容易找到包含您的数据的块,然后依次处理该块以获得您的数据。所以,较小的块用于随机读取,较大的块用于顺序读取。随着索引块大小的增加,较小的块会稍微影响空间约束。还在学Cassandra。所以没有评论。
ogsagwnx2#
是的:fb开始构建cassandra,将其开源,然后迁移到hbase。我不太清楚为什么,但是cassandra和hbase都是很好的解决方案。cassandra的优点是+ha(无spof)、+具有可调的一致性以及+写操作比读操作快(两者都相当快)-但是cassandra可能会增加网络流量,因为协调器节点必须与目标节点通信。-cassandra自己存储数据,而hbase默认使用hdfs。我强烈认为这是切换的原因,因为fb有大量的数据,使用hbase,他们分析数据的开销更小,但只有一个故障点。hbase在强一致性是必需的和hadoop集成的情况下优于+但是hmaster是一个spof是的:cassandra可以很快地按顺序写入大量数据并按顺序读取它们。由于hdfs,hbase在随机io方面非常出色。在性能比较中,cassandra的吞吐量一般略快一些;hbase在延迟时稍微快一点。从运营的Angular 来看,Cassandra非常容易维护,因为它非常可靠,并且是一个健壮的系统架构。由于需要hmaster和备用zookeeper集群,hbase很难设置,而且健壮性较差。所以最终完全取决于你的问题。我从不介意任何人避开Cassandra;所以我觉得hbase更好。
2条答案
按热度按时间7nbnzgx91#
hbase使用lsm树并提供标准的插入/写入速率。由于lsm树的原因,对于常规写入,random不会出现在图片中。如果您正在进行批量上载,那么可以绕过预写日志(wal),直接访问内存存储区。如果您愿意,您可以使用hadoop或其他数据工具直接写入hdfs进行大批量上传。如果增加区域服务器的数量,可以提高写性能,因为这将导致更多的WAL。但是,像往常一样,它会在别的地方咬你。所以,小心点。
至于随机读取,如果块大小足够小,hbase将能够为您提供更好的性能。它将很容易找到包含您的数据的块,然后依次处理该块以获得您的数据。所以,较小的块用于随机读取,较大的块用于顺序读取。随着索引块大小的增加,较小的块会稍微影响空间约束。
还在学Cassandra。所以没有评论。
ogsagwnx2#
是的:fb开始构建cassandra,将其开源,然后迁移到hbase。我不太清楚为什么,但是cassandra和hbase都是很好的解决方案。
cassandra的优点是+ha(无spof)、+具有可调的一致性以及+写操作比读操作快(两者都相当快)-但是cassandra可能会增加网络流量,因为协调器节点必须与目标节点通信。-cassandra自己存储数据,而hbase默认使用hdfs。我强烈认为这是切换的原因,因为fb有大量的数据,使用hbase,他们分析数据的开销更小,但只有一个故障点。
hbase在强一致性是必需的和hadoop集成的情况下优于+但是hmaster是一个spof
是的:cassandra可以很快地按顺序写入大量数据并按顺序读取它们。由于hdfs,hbase在随机io方面非常出色。在性能比较中,cassandra的吞吐量一般略快一些;hbase在延迟时稍微快一点。从运营的Angular 来看,Cassandra非常容易维护,因为它非常可靠,并且是一个健壮的系统架构。由于需要hmaster和备用zookeeper集群,hbase很难设置,而且健壮性较差。
所以最终完全取决于你的问题。我从不介意任何人避开Cassandra;所以我觉得hbase更好。