Cassandra 中的一个节点是否可靠?

Is one node reliable in Cassandra?

我是 Cassandra 的新手,在我阅读的所有教程中,都提到我们在 Cassandra 架构中有几个节点,因为如果一个节点有问题,其他节点可以解决。

只使用一个节点是否会使我们面临数据丢失的风险?

我主要使用关系数据库。在RDBMS中使用一个节点不是问题(除了由于某些原因服务可能不可用但数据仍然存储)

我的项目对高可用要求不高,只是我的数据量很大,写的数据很多,所以我选择了Cassandra,但是我只想用一个节点

这对我来说有问题吗?我的数据泄露了吗?

使用单个服务器可能会导致数据丢失 - 即使在关系数据库上也是如此,因为虽然您可能有定期备份,但提交日志/重做日志存储在服务器磁盘上,直到从服务器上归档。因此,服务器上的服务器磁盘故障将导致该日志丢失,并且自上次备份以来的数据将被推迟到服务器之外。

使用多个服务器(关系镜像或分布式 no-sql,例如 Cassandra)提供额外的弹性并减少数据丢失的机会 - 因为有 2 个或更多副本。

在 Cassandra 上复制因子为 3 的 3 节点集群中,要获得与单服务器场景相同的数据丢失,需要所有 3 个服务器同时关闭并且所有服务器都丢失磁盘(假设本地磁盘,如果你使用 SAN,你就失去了好处。)- 这大大降低了数据丢失的可能性。