Managing Schema Evolution in NoSQL Data Stores

NoSQL data stores are commonly schema-less, providing no means for globally defining or managing the schema. While this offers great flexibility in early stages of application development, developers soon can experience the heavy burden of dealing with increasingly heterogeneous data. This paper targets schema evolution for NoSQL data stores, the complex task of adapting and changing the implicit structure of the data stored. We discuss the recommendations of the developer community on handling schema changes, and introduce a simple, declarative schema evolution language. With our language, software developers and architects can systematically manage the evolution of their production data and perform typical schema maintenance tasks. We further provide a holistic NoSQL database programming language to define the semantics of our schema evolution language. Our solution does not require any modifications to the NoSQL data store, treating the data store as a black box. Thus, we want to address application developers that use NoSQL systems

[1]  Lars George,et al.  HBase: The Definitive Guide , 2011 .

[2]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[3]  Marcelo Arenas,et al.  Relational and XML Data Exchange , 2010, Relational and XML Data Exchange.

[4]  Mikolaj Bojanczyk,et al.  Solutions in XML data exchange , 2011, ICDT '11.

[5]  Jakub Malý,et al.  Evolution and change management of XML-based systems , 2012, J. Syst. Softw..

[6]  Wilson C. Hsieh,et al.  Bigtable: A Distributed Storage System for Structured Data , 2006, TOCS.

[7]  Wolfgang Lehner,et al.  Next Generation Database Programming and Execution Environment , 2011, DBPL.

[8]  Rick Cattell,et al.  Scalable SQL and NoSQL data stores , 2011, SGMD.

[9]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[10]  Shashank Tiwari,et al.  Professional NoSQL , 2011 .

[11]  Giovanna Guerrini,et al.  XML Schema Evolution: Incremental Validation and Efficient Document Adaptation , 2007, XSym.

[12]  Andreas Heuer,et al.  XML Schema Transformations - The ELaX Approach , 2013, DEXA.

[13]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[14]  Kristina Chodorow,et al.  MongoDB: The Definitive Guide , 2010 .

[15]  W. Marsden I and J , 2012 .

[16]  Giuseppe Castagna,et al.  Static and dynamic semantics of NoSQL languages , 2013, POPL.

[17]  David Lorge Parnas,et al.  Software aging , 1994, Proceedings of 16th International Conference on Software Engineering.

[18]  Yawei Li,et al.  Megastore: Providing Scalable, Highly Available Storage for Interactive Services , 2011, CIDR.