Investigating the applicability of architectural patterns in big data systems

Pattern Languages of Programs(2018)

引用 0|浏览0
暂无评分
摘要
ABSTRACTContext: Architectural patterns are well-proven solutions to solve software systems issues related to quality attributes. They define a set of high level structure properties, a vocabulary to describe them, and assumptions and constraints on how they should be employed to correctly solve the common problem. The use of architectural patterns has been considered a good practice to design software architectures with quality, improving the reuse and understanding of rationale of architectural decisions. In another perspective, big data systems have gained attention mainly by their inherent 5Vs characteristics of velocity, veracity, volume, value, and variety, which requires the accomplishment of several quality attributes, such as scalability, performance, security, integrity, flexibility, interoperability, and of business goals. Problem: Despite of big data systems are increasing in importance for different domains, few studies have investigated the quality of such systems from a perspective of software architecture. For the best of our knowledge, there are no work investigating which of the existing architectural patterns have been used to design software architectures of big data systems with a focus on quality. Objective: In this paper, we investigate the applicability of well-established architectural patterns by analyzing their benefits and liabilities when used to architect big data systems. Method: We analyzed studies reporting software architectures of big data systems. Studies were identified through the conduction of a systematic mapping study that was reported in a previous work of authors. We used those studies to identify architectural patterns, requirements of quality attributes, and problems and liabilities addressed by those solutions. Results: We identified that the common architectural patterns used for big data systems (i.e., layers, pipe and filters, shared repository, and broker architecture) do not differ from those used in other systems, however, they have important impacts on big data systems qualities and on their characteristics that are not reported in others studies. When used independently, those patterns partially allow accomplishment of big data issues and quality attributes requirements, such as scalability and performance. As future works, we intend to study the combination of these patterns besides investigate patterns used in industry to support the design and documentation of software architecture for big data systems.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要