TY - CHAP A1 - Klettke, Meike A1 - Störl, Uta A1 - Shenavai, Manuel A1 - Scherzinger, Stefanie A1 - Storl, Uta T1 - NoSQL schema evolution and big data migration at scale T2 - 2016 IEEE International Conference on Big Data (Big Data), 5-8 Dec. 2016, Washington, DC N2 - This paper explores scalable implementation strategies for carrying out lazy schema evolution in NoSQL data stores. For decades, schema evolution has been an evergreen in database research. Yet new challenges arise in the context of cloud-hosted data backends: With all database reads and writes charged by the provider, migrating the entire data instance eagerly into a new schema can be prohibitively expensive. Thus, lazy migration may be more cost-efficient, as legacy entities are only migrated in case they are actually accessed by the application. Related work has shown that the overhead of migrating data lazily is affordable when a single evolutionary change is carried out, such as adding a new property. In this paper, we focus on long-term schema evolution, where chains of pending schema evolution operations may have to be applied. Chains occur when legacy entities written several application releases back are finally accessed by the application. We discuss strategies for dealing with chains of evolution operations, in particular, the composition into a single, equivalent composite migration that performs the required version jump. Our experiments with MongoDB focus on scalable implementation strategies. Our lineup further compares the number of write operations, and thus, the operational costs of different data migration strategies. KW - Big data KW - Context KW - Data Migration Strategies KW - Data models KW - Databases KW - Incremental Migration KW - Lazy Composite Migration KW - Lazy Migration KW - NoSQL databases KW - Predictive Migration KW - Production KW - Runtime KW - schema evolution KW - Software Y1 - 2016 U6 - https://doi.org/10.1109/BigData.2016.7840924 SP - 2764 EP - 2774 PB - IEEE ER - TY - CHAP A1 - Cerqueus, Thomas A1 - Cunha de Almeida, Eduardo A1 - Scherzinger, Stefanie T1 - Safely Managing Data Variety in Big Data Software Development T2 - 2015 IEEE/ACM 1st International Workshop on Big Data Software Engineering, 23-23 May 2015, Florence, Italy N2 - We consider the task of building Big Data software systems, offered as software-as-a-service. These applications are commonly backed by NoSQL data stores that address the proverbial Vs of Big Data processing: NoSQL data stores can handle large volumes of data and many systems do not enforce a global schema, to account for structural variety in data. Thus, software engineers can design the data model on the go, a flexibility that is particularly crucial in agile software development. However, NoSQL data stores commonly do not yet account for the veracity of changes when it comes to changes in the structure of persisted data. Yet this is an inevitable consequence of agile software development. In most NoSQL-based application stacks, schema evolution is completely handled within the application code, usually involving object mapper libraries. Yet simple code refactorings, such as renaming a class attribute at the source code level, can cause data loss or runtime errors once the application has been deployed to production. We address this pain point by contributing type checking rules that we have implemented within an IDE plug in. Our plug in ControVol statically type checks the object mapper class declarations against the code release history. ControVol is thus capable of detecting common yet risky cases of mismatched data and schema, and can even suggest automatic fixes. KW - Big data KW - history KW - Java KW - Loading KW - NoSQL data stores KW - object mapping KW - Production KW - Runtime KW - schema evolution KW - Software KW - type checking Y1 - 2015 U6 - https://doi.org/10.1109/BIGDSE.2015.9 SP - 4 EP - 10 PB - IEEE ER - TY - CHAP A1 - Scherzinger, Stefanie A1 - Cerqueus, Thomas A1 - Cunha de Almeida, Eduardo T1 - ControVol: A framework for controlled schema evolution in NoSQL application development T2 - 2015 IEEE 31st International Conference on Data Engineering, 13-17 April 2015, Seoul, Korea (South) N2 - Building scalable web applications on top of NoSQL data stores is becoming common practice. Many of these data stores can easily be accessed programmatically, and do not enforce a schema. Software engineers can design the data model on the go, a flexibility that is crucial in agile software development. The typical tasks of database schema management are now handled within the application code, usually involving object mapper libraries. However, today’s Integrated Development Environments (IDEs) lack the proper tool support when it comes to managing the combined evolution of the application code and of the schema. Yet simple refactorings such as renaming an attribute at the source code level can cause irretrievable data loss or runtime errors once the application is serving in production. In this demo, we present ControVol, a framework for controlled schema evolution in application development against NoSQL data stores. ControVol is integrated into the IDE and statically type checks object mapper class declarations against the schema evolution history, as recorded by the code repository. ControVol is capable of warning of common yet risky cases of mismatched data and schema. ControVol is further able to suggest quick fixes by which developers can have these issues automatically resolved. KW - Databases KW - Google KW - history KW - Java KW - Production KW - Runtime KW - Software Y1 - 2015 SN - 978-1-4799-7964-6 U6 - https://doi.org/10.1109/ICDE.2015.7113402 SP - 1464 EP - 1467 PB - IEEE ER -