Storm作者Nathan Marz的大作《Big Data: Principles and Best Practices of Scalable Realtime Data Systems》原版授权翻译,未经允许不得转载!
你已经知道了当用传统技术,如分片,来扩展关系型系统时会出现的错误。而我们面临的问题不仅仅是扩展,因为系统变得更难以管理、扩展甚至理解。在下面的章节中,当你学习如何构建大数据系统时,我们将像注重可扩展性一样,注重健壮性。你即将看到,当你用正确的方式构建系统时,健壮性和可扩展性都是可以在同一个系统中实现的。
使用Lambda架构构建的数据系统的好处,不仅仅是扩展。因为你的系统将能够处理更大量的数据,你将能够收集更多的数据,获得更多的价值。增加存储数据的数量和类型,将会有更多机会去挖掘数据,生成分析和构建新的应用程序。
使用Lambda架构的另一个好处是,应用程序将非常健壮。有很多原因,例如,你将有能力在整个数据集上运行计算来进行迁移或解决出错的事情。你永远不需要处理同一时间模式中有多个活跃版本的情况。当你改变模式时,你将有能力更新所有数据到新的模式。同样地,如果一个错误的算法被不小心部署到生产环境,破坏了你提供的数据,你可以通过重新计算被破坏的数值,很容易地解决该问题。如你将见到的,还有许多其他原因使得为什么大数据应用程序会更加健壮。
最后,性能将是更加可预测的。虽然Lambda架构作为一个整体是通用的和灵活的,但组成系统的各个组件是特定的。当与比如SQL查询计划比较时,后台很少会有“魔法”发生。这就得到更加可预测的性能。
如果你对很多的这种信息仍然不确定,那么也不用担心。我们还有很多内容需要进行探讨,并且我们将通过本书的课程再次深入讨论本章中介绍的每一个主题。在下一章中,你将开始学习如何构建Lambda架构。你会在堆栈的核心开始,即如何对数据集的主副本进行建模和系统化。