Automated database design for document stores with multicriteria optimization

Document stores have gained popularity among NoSQL systems mainly due to the semi-structured data storage structure and the enhanced query capabilities. The database design in document stores expands beyond the first normal form by encouraging de-normalization through nesting. This hinders the proce...

Descripción completa

Detalles Bibliográficos
Autores: Hewasinghage, Moditha Lakshan Dharmasir, Nadal Francesch, Sergi|||0000-0002-8565-952X, Abelló Gamazo, Alberto|||0000-0002-3223-2186, Zimányi, Esteban
Tipo de recurso: artículo
Fecha de publicación:2023
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/387548
Acceso en línea:https://hdl.handle.net/2117/387548
https://dx.doi.org/10.1007/s10115-023-01828-3
Access Level:acceso abierto
Palabra clave:Database design
Document store
Optimization
Bases de dades -- Disseny
Àrees temàtiques de la UPC::Informàtica::Sistemes d'informació::Bases de dades
Descripción
Sumario:Document stores have gained popularity among NoSQL systems mainly due to the semi-structured data storage structure and the enhanced query capabilities. The database design in document stores expands beyond the first normal form by encouraging de-normalization through nesting. This hinders the process, as the number of alternatives grows exponentially with multiple choices in nesting (including different levels) and referencing (including the direction of the reference). Due to this complexity, document store data design is mostly carried out in trial-and-error or ad-hoc rule-based approaches. However, the choices affect multiple, often conflicting, aspects such as query performance, storage space, and complexity of the documents. To overcome these issues, in this paper, we apply multicriteria optimization. Our approach is driven by a query workload and a set of optimization objectives. First, we formalize a canonical model to represent alternative designs and introduce an algebra of transformations that can systematically modify a design. Then, using these transformations, we implement a local search algorithm driven by a loss function that can propose near-optimal designs with high probability. Finally, we compare our prototype against an existing document store data design solution purely driven by query cost, where our proposed designs have better performance and are more compact with less redundancy.