第一轮:HDFS 与 S3:可扩展性

Advancing Forum Analytics at China Data
Post Reply
arzina221
Posts: 525
Joined: Wed Dec 18, 2024 8:22 am

第一轮:HDFS 与 S3:可扩展性

Post by arzina221 »

集群的 HDFS 层由一个主节点(也称为 NameNode)组成,该节点管理一个或多个从属节点,每个从属节点运行一个 DataNode 实例。NameNode 跟踪数据的位置,而 DataNode 负责存储和检索这些数据。由于 HDFS 中的文件会自动存储在多台机器上,因此 HDFS 具有内置冗余功能,可防止节点故障和数据丢失。

什么是 Amazon S3?
Amazon S3(简单存储服务) 是 Amazon Web Services 提供的云 IaaS(基础设施即服务)解决方案,可通过便捷的 Web 界面进行对象存储。据 Amazon 介绍,S3 的优势包括“业界领先的可扩展性、数据可用性、安全性和性能”。

Amazon S3 的基本存储单元是 对象,它由具有相关 ID 号和元数据的文件组成。这些对象存储在存储桶中,存储桶的功能类似于文件夹或目录,位于您选择的 AWS 区域内。

可扩展性的争论可以归结为水平可扩展性和垂直可扩展性的问题 。

HDFS 依赖于可水平扩展的本地存储。如果要增加存储空间,则必须向现有节点添加更大的硬盘或向集群添加更多机器。这是可行的,但比 S3 更昂贵且更复杂。

S3 会根据您当前的数据使用情况自动垂直扩展,无需您采取任何措施。更棒的是,Amazon 对存储没有预先设定的限制,因此您几乎拥有无限的可用空间。

结论: 第一轮获胜的是S3,因为它具有更强的 伯利兹电话数据 可扩展性、灵活性和弹性。

第二轮:HDFS 与 S3:耐用性
数据“耐久性”是指在云数据存储中长期保持信息完好无损,不会遭受位衰减或损坏的能力。那么就耐久性而言,S3 和 HDFS 哪个更好?

HDFS 数据持久性的统计模型 表明,在一个拥有 4,000 个节点的大型集群(总存储量为 16 PB,250,736,598 个块副本)中,在未来 24 小时内丢失一个数据块(默认为 64 MB)的概率为 0.00000057(5.7 x 10^-7),在未来 365 天内丢失一个数据块的概率为 0.00021(2.1 x 10^-4)。但是,大多数集群仅包含几十个实例,因此丢失数据的概率可能要高得多。

S3 提供每年 99.999999999% 对象的持久性。这意味着每 10,000 年,每 10,000,000 个对象中可能有一个对象会丢失(请参阅 S3 常见问题解答)。

对于 S3 用户来说,好消息就更好了。我在 Integrat.io 的一位同事最近参加了一个 AWS 研讨会,据报道,亚马逊代表声称,在整个服务历史中,他们实际上并没有在默认 S3 存储中丢失过任何对象。(还有更便宜的 低冗余存储 (RRS) 选项,其耐用性仅为 99.99%。)

结论: S3 再次获胜。大型集群可能具有出色的耐用性,但在大多数情况下,S3 比 HDFS 更耐用。
Post Reply