database - Cassandra 中的一个节点可靠吗?
问题描述
我是 Cassandra 的新手,在我阅读的所有教程中,都提到我们在 Cassandra 架构中有几个节点,因为如果一个有问题,其他人可以解决。
仅使用一个节点是否会使我们面临数据丢失的风险?
我主要使用关系数据库。在 RDBMS 中使用一个节点不是问题(除了由于某种原因服务可能不可用但数据仍然存储)
我的项目对高可用要求不高,只是我的数据非常大,写了很多数据,所以我选择了Cassandra,但我想只用一个节点
这对我来说是个问题吗?我的数据是否被泄露?
解决方案
使用单个服务器可能会导致数据丢失 - 即使在关系数据库上也是如此,因为虽然您可能有定期备份,但提交日志/重做日志存储在服务器磁盘上,直到从服务器存档。因此,服务器上的服务器磁盘故障将导致该日志丢失,并且自上次备份以来的数据被服务器保留。
使用多个服务器(关系镜像或分布式 no-sql,如 Cassandra)提供了额外的弹性并减少了数据丢失的机会 - 因为有 2 个或更多副本。
在 Cassandra 上复制因子为 3 的 3 节点集群中,要获得与单服务器场景相同的数据丢失,需要所有 3 台服务器同时关闭并且所有这些服务器都丢失磁盘(如果使用本地磁盘,则假设为本地磁盘) SAN,您将失去好处。) - 这大大降低了数据丢失的百分比。
推荐阅读
- c++ - std::shared_ptr 的“拥有的指针”和“存储的指针”有什么区别?
- python - 如何在 Raspberry Pi 中更改默认 python 版本
- javascript - 需要用不同的颜色显示每个字符
- python-click - Python单击以重新启动命令并清除所有参数
- jquery - 用于调用 Cloudify Rest API 的 Ajax 代码响应错误“未定义”
- html - 粘性顶部在整个页面中不起作用。只为标题工作
- java - 如何使用 gdal docker 映像创建软件并使用 Java GUI 运行它?
- regex - 用于检测端口号的 Yara 正则表达式不起作用
- amazon-web-services - 什么角色允许 EC2 用户运行 aws ec2 authorize-security-group-egress
- javascript - 如何在 React Navigation 5 中将自定义道具传递给抽屉屏幕?