《云数据湖》第四章:可扩展的数据湖-灵析社区

攻城狮无远

第四章:可扩展的数据湖

如果你改变看待事物的方式,你所看待的事物也会改变。 - 韦恩·戴尔

阅读前三章后,你应该已经具备了在云上建立并运行数据湖架构所需的一切,以合理的成本配置适合你的组织。从理论上讲,你已经成功地在生产环境中运行了第一批使用案例和场景。你的数据湖非常成功,现在对更多场景的需求更高,你正在忙于满足新客户的需求。你的业务蓬勃发展,数据资源正在迅速增长。正如商界所说,从零到一与从一到一百或从一百到一千是完全不同的挑战。为了确保你的设计也具备可扩展性,并随着数据和使用案例的增长而保持良好性能,认识到影响数据湖规模和性能的各种因素非常重要。与普遍观点相反,规模和性能并不总是与成本权衡的关系,而是紧密相连的。在本章中,我们将更详细地探讨这些考虑因素,以及优化数据湖以实现规模的策略,同时继续优化成本。我们将再次使用虚构组织Klodars Corporation来说明我们的策略。在第五章中,我们将进一步关注性能。

提前一睹可扩展性的瞥见

可扩展性和性能是你可能在产品推介和市场材料中经常见到的术语。它们究竟意味着什么,为什么它们很重要?为了更好地理解这个问题,让我们首先来看一下可扩展性的定义。在第5章中,我们将深入探讨性能方面的内容。

什么是可扩展性?

我所遇到的最好的可扩展性定义来自Werner Vogels的博客。Vogels是亚马逊的首席技术官,该公司拥有全球规模最大的超大规模系统之一。根据他的博客,可扩展性的定义如下:

如果我们增加系统中的资源,结果是性能按比例增加,那么该服务被认为是可扩展的。如果增加资源以实现冗余不会导致性能损失,那么一个始终开启的服务被认为是可扩展的。

这个规模的概念非常重要,因为随着您的需求和使用量的增长,拥有一个可以保证客户在性能上不受损的体验的架构是非常重要的。为了更好地说明这一点,我们将把规模的原理应用于我们所有人都可以理解的事物:制作三明治。

我们日常生活中的规模概念

让我们以可扩展性的实际例子来说明。假设你花费总共五分钟来准备一个花生酱和果酱三明治作为午餐,包括以下步骤,如图4-1所示:

  1. 烤两片面包。
  2. 在一片面包上涂抹花生酱。
  3. 在另一片面包上涂抹果酱。
  4. 把两片面包组装在一起。
  5. 把三明治装袋。

当你只需要制作一两个三明治时,这个过程可能很简单和快速。但是,当顾客数量增加时,你可能需要调整你的方法来提高效率。

假设现在你的三明治店变得非常繁忙,每天需要制作数百个三明治。在这种情况下,你需要考虑如何扩展你的操作以满足顾客的需求。以下是一些可能的解决方案:

  1. 使用多个烤面包机来同时烤多片面包,而不是逐一烤。
  2. 使用涂抹机或其他设备来自动涂抹花生酱和果酱,以提高效率。
  3. 设置一个生产线式的工作流程,让员工分工合作,每个人负责其中一个步骤,以加快整个制作过程。
  4. 优化包装流程,使用快速而可靠的包装机器,以确保高效的包装和交付。

通过采取这些扩展方法,你可以提高三明治制作的效率,并在高需求时保持良好的性能和质量。这就是如何应用可扩展性的原则来解决日常问题的例子。

在数据湖架构中,类似的思维方式也适用。你需要考虑如何扩展数据处理和存储的能力,以满足不断增长的数据需求,并保持良好的性能和质量。我们将在接下来的章节中进一步探讨这些概念。

阅读量:1867

点赞量:0

收藏量:0