软件设计师和架构师建立软件栈参考架构,以解决常见的、重复的问题。一个很好的例子是LAMP堆栈,它提供了构建网络应用的框架。LAMP堆栈的每一层都有可行的替代物,可能只是出于偏好或技术原因而选择。其他额外的层或补充工具可以混合在一起,以满足特定的需求。通过在通用LAMP模式的背景下解释所产生的架构,可以将许多信息简洁地传达给熟悉该模式的其他人。
大数据是静止数据;快速数据是流式数据,是移动中的数据。在垂直领域和各行各业中都出现了一个堆栈,用于构建处理这些快速积累到 "大数据湖 "的高速数据流的应用。这种新的堆栈,即快速数据堆栈,有一个独特的目的:抓取实时数据并在几毫秒内输出建议、决策和分析。在接下来的几年里,这个新兴的快速数据堆栈将获得突出的地位,并作为开发人员编写流式数据应用的起点。
与任何新兴的参考软件堆栈一样,重要的是要增加一层、要考虑促使快速数据堆栈要求的工作流程。桌面应用程序堆栈的要求(图形用户界面、可能是MVC风格的分层、配置数据库、撤销功能......)是很好理解的,正如普遍接受的用户活动,指导网络应用程序的设计。事实上,这些都很好理解,开发人员已经将这些知识内化,并忘记了这曾是新的。
在考虑快速数据堆栈时,我们必须明白,很少有开发者创建多个大规模的数据应用。当然,很少有人开发过超过几个。开发者社区还没有将处理来自传感器、M2M设备或物联网平台高速输入的应用程序的使用模式和一般要求内部化。随着大量的数据流进入企业和应用程序,来源从数百到数百万不等,以不同的格式(例如,结构化和非结构化)对快速数据栈的定义达成一致将有利于所有人。本文将通过流数据的视角来审视新兴的快速数据栈,为架构师、首席技术官和开发人员提供基本架构要素。