我是AWS的新手,也是Cassandra的新手。我刚刚阅读了AWS中可用的EBS和S3存储。我试图弄清楚我们是否在EC2中安装了Cassandra,它将使用哪个存储? EBS还是S3?还是有其他存储空间?我对此很困惑。请帮我理解这一点。
由于 阿拉汶
答案 0 :(得分:1)
对于Cassandra,您需要使用EBS。 S3 is an object store使用和API来存储和检索对象,但不是简单的查询机制。用例包括备份和归档,灾难恢复,静态网站托管等
但是,您可以use S3 for Cassandra backup。
您还可以考虑临时磁盘(如Jeff所述)和AWS实例附带的存储。
答案 1 :(得分:1)
您不应按照Datastax本身的建议在EBS上运行Cassandra:
“Cassandra数据卷不建议使用EBS卷,原因如下:
EBS卷直接争用标准数据包的网络吞吐量。这意味着如果您使网络链接饱和,EBS吞吐量可能会失败。 EBS卷的性能不可靠。 I / O性能可能异常缓慢,导致系统反向加载读取和写入,直到整个群集无响应。 通过增加每个主机的EBS卷数来增加容量不会扩展。您可以轻松超越系统保持有效缓冲区缓存的能力,并同时为其负责管理的所有数据提供请求。“
http://docs.datastax.com/en/cassandra/1.2/cassandra/architecture/architecturePlanningEC2_c.html
答案 2 :(得分:1)
上面的答案来自Cassandra 1.2,这是一个相对较旧的版本。较新版本的Cassandra的文档表明使用GP2 SSD的EBS Optimized实例可用于生产工作负载。
http://docs.datastax.com/en/cassandra/3.x/cassandra/planning/planPlanningEC2.html
自那时以来发生了变化的事情是创建EBS优化实例,这可以减少和/或消除嘈杂的邻居吞吐量问题,并使用GP2 SSD进行EBS存储。
如果您刚入门,我会推荐EBS Optimized。表现应该相当不错,但你获得了批判能力 - >创建快照。这样可以降低实例变得不稳定的风险,因为如果驱动器死亡,您可以使用由S3支持的AWS快照来重建数据。
这减少了跨区域设置Cassandra集群的需求。使用Ephemeral时必须构建的一个问题是整个区域可能会崩溃,如果您没有构建多区域群集,这可能会消灭整个群集。对于EBS,这不是一个真正令人担忧的问题。