EC2 提供了一种非常方便的、按需可扩展的机制来执行可分布式(可并行)的进程,而 S3 提供了可靠的存储服务。
我尝试使用 EC2 节点进行 ETL 和分析流程,该流程需要快速(一天多次)摄取大量数据(100GB - 1TB),并且需要在短时间内提供足够的计算资源。
以上设计需求
- S3 和 EC2 之间的高带宽/快速连接。
- S3--> EC2 连接也应该是可靠的,因为必须尽快完成启动、注入数据、执行进程和终止节点的调度,这不仅是为了节省成本,而且还因为涉及 SLA。
但到目前为止
- 从 S3 中提取数据的唯一方法似乎是通过 http,因此它受到 EC2 节点下载带宽的限制。
- 此外,数据摄取通过互联网进行,因此对于严格的调度目的来说可能不够可靠,需要跨作业进行足够的缓冲。
在私有数据中心设置中,可以在存储和物理节点之间设置更快(例如 10Gbps)的专用线路。
如果 AWS 可以满足上述要求,是否有任何可能的替代方案/服务选项。
很大程度上取决于各种因素 - 同一物理服务器上的其他 EC2 实例正在执行多少网络活动、您在任何时候访问的特定 S3 节点、您是否与 S3 位于同一区域端点等
您可以对自己进行基准测试,但即使如此,结果也会有很大差异。我有时每秒能获得数兆字节,有时则达到几百千字节。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)