|
结论:
到现在为止,作者对Cassandra, HBase以及MongoDB的故障恢复逐一做了论述。
Cassandra提供高可用性的写操作,然而,它需要很长时间来从一个失败中恢复数据。这是因为Cassandra识别要恢复的所有数据,然后读和写每个数据的最新版本。它还因在响应服务请求添加新节点时,仍在恢复数据,导致错误的读取结果返回。
此外,Read Repair会在读取数据用以恢复的时候运行两次。尽管它在新节点添加同时发生节点失败会有相对处理,但是如果在数据恢复之前进行读取仍然会返回错误的结果。因此一致性等级的性能不被提高,它仍然不能用于需要读操作的服务。
由于它的配置问题,HBase自身存在很多因素可能导致问题的产生。不过对比Cassandra节点失败时必须进行数据的恢复,HBase却不需要恢复数据,除非HDFS出现问题。这样HBase宕机时间就会很短,即使HDFS出现问题宕机时间也不会很长。虽然读性能在数据的恢复过程中会受到影响,但是数据的一致性完全可以得到保证。用这种方式,如果SPoF部分成为冗余,我们将从HBase获得很高的可靠性。 |
|