Design Assistant for NoSQL Technology Selection
This paper was published by the ACM in the Proceedings of the 1st International Workshop on Future of Software Architecture Design Assistants in May 2015.
NoSQL databases create tight coupling between data model, deployment topology, and application architecture, and so this technology selection must be one of the earliest architecture decisions. The NoSQL technology landscape is large and evolving rapidly, so architects need efficient and trusted design assistance to explore the solution space. Our solution was to create a queryable knowledge base, populated with curated information, which is rendered dynamically as content grows and changes. We built the knowledge base using Semantic MediaWiki, implementing a novel knowledge model that enables reasoning from quality attributes to architecture patterns and tactics to features implemented in specific NoSQL products. We also provide tabular and graphical visualizations to support both systematic and ad hoc exploration. Our contributions to the field of architecture design assistants are the knowledge model, its implementation in a semantic platform, and the resulting populated knowledge base for big data system architects.