本节书摘来自华章出版社《大数据系统构建:可扩展实时数据系统构建原理与最佳实践》一书中的第1章,第1.10节,南森·马茨(Nathan Marz) [美] 詹姆斯·沃伦(JamesWarren) 著 马延辉 向 磊 魏东琦 译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.10 总结
你已经知道了使用传统技术(如分片)来扩展关系型系统时会出现的错误。而我们面临的问题不仅仅是扩展,因为那会使系统变得更难以管理、扩展,甚至更难理解。在后面的章节中,当介绍如何构建大数据系统时,我们将像注重可扩展性一样注重鲁棒性。你将看到,当用正确的方式构建系统时,鲁棒性和可扩展性都是可以在同一个系统中实现的。
使用Lambda架构构建数据系统的好处不仅仅是可扩展,因为你的系统将能够处理更大量的数据、收集更多的数据并获得更多的价值。增加存储数据的数量和类型,将会有更多机会去挖掘数据、生成分析和构建新的应用程序。
使用Lambda架构的另一个好处是应用程序的健壮性很好。原因有很多,例如,你将有能力在整个数据集上运行计算来进行迁移或解决出错的事情。你永远不需要处理同一时间模式中有多个活跃版本的情况。当改变模式时,你将有能力将所有数据更新到新的模式。同样的,如果一个错误的算法被不小心部署到生产环境,破坏了所提供的数据,你可以通过重新计算被破坏的数值很容易地解决该问题。如你将见到的,还有许多其他原因使得大数据应用程序的鲁棒性更好。
最后,性能将是更加可预测的。虽然Lambda架构作为一个整体是通用和灵活的,但组成系统的各个组件是特定的。当与诸如SQL的查询计划比较时,后台很少会有“魔法”发生。这就使我们可以得到更加可预测的性能。
如果你对很多这种信息仍然不确定,也不用担心。我们还有很多内容需要进行探讨,并且将通过本书的课程再次深入讨论本章中介绍的每一个主题。在下一章中,你将开始学习如何构建Lambda架构。你会从堆栈的核心开始,即如何对数据集的主副本进行建模和系统化。