Advertisement

Datenbank-Spektrum

, Volume 14, Issue 2, pp 119–129 | Cite as

Datenbanken ohne Schema?

Herausforderungen und Lösungs-Strategien in der agilen Anwendungsentwicklung mit schema-flexiblen NoSQL-Datenbanksystemen
  • Meike Klettke
  • Stefanie Scherzinger
  • Uta Störl
SCHWERPUNKTBEITRAG

Zusammenfassung

In der Entwicklung von interaktiven Web-Anwendungen sind NoSQL-Datenbanksysteme zunehmend beliebt, nicht zuletzt, weil sie flexible Datenmodelle erlauben. Das erleichtert insbesondere ein agiles Projektmanagement, das sich durch häufige Releases und entsprechend häufige Änderungen am Datenmodell auszeichnet. In diesem Artikel geben wir einen Überblick über die besonderen Herausforderungen der agilen Anwendungsentwicklung gegen schemalose NoSQL-Datenbanksysteme. Wir stellen Strategien für die Schema-Evolution aus der Praxis vor, und postulieren unsere Vision einer eigenen Schema-Management-Komponente für NoSQL-Datenbanksysteme, die für eine kontinuierliche und systematische Schema-Evolution ausgelegt ist.

Schlüsselwörter

NoSQL-Datenbanksysteme Schema-Informationen Schema-Evolution 

Literatur

  1. 1.
    Ambler SW (2003) Agile database techniques. Wiley, HobokenGoogle Scholar
  2. 2.
    Rae I, Rollins E, Shute J, Sodhi S, Vingralek R (2013) Online, asynchronous schema change in F1. In Proc. VLDBGoogle Scholar
  3. 3.
    MongoDB (2014) http://www.mongodb.org/. Zugegriffen: 6. Juni 2014
  4. 4.
    Sanderson D (2012) Programming Google App engine, 2 Aufl. O’Reilly Media, Inc, SebastopolGoogle Scholar
  5. 5.
    Couchbase (2014) http://www.couchbase.com/. Zugegriffen: 6. Juni 2014
  6. 6.
    Apache CouchDB (2014) docs.couchdb.org/. Zugegriffen: 6. Juni 2014
  7. 7.
    Morphia. A type-safe Java library for MongoDB (2014) https://github.com/mongodb/morphia/. Zugegriffen: 6. Juni 2014
  8. 8.
    Objectify (2014) https://code.google.com/p/objectify-appengine/. Zugegriffen: 6. Juni 2014
  9. 9.
    Kundera (2014) https://github.com/impetus-opensource/Kundera/wiki. Zugegriffen: 6. Juni 2014
  10. 10.
    Java Persistence 2.0 Expert Group: JSR 317 (2009) JavaTM Persistence API, Version 2.0. Sun MicrosystemsGoogle Scholar
  11. 11.
    Edlich S, Friedland A, Hampe J, Brauer B, Brückner M (2011) NoSQL: Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken. Carl Hanser Verlag, MünchenGoogle Scholar
  12. 12.
    Störl U (2014) NoSQL-Datenbanksysteme. In Kudraß T (Hrsg), Taschenbuch Datenbanken. Carl Hanser VerlagGoogle Scholar
  13. 13.
    Tiwari S (2011) Professional NoSQL. Wiley, HobokenGoogle Scholar
  14. 14.
    Glatzel H (2014) Schema-Management in NoSQL-Datenbank-systemen. Master’s thesis, Hochschule DarmstadtGoogle Scholar
  15. 15.
    Apache HBase (2014) http://hbase.apache.org/. Zugegriffen: 6. Juni 2014
  16. 16.
    Apache Cassandra (2014) http://cassandra.apache.org/. Zugegriffen: 6. Juni 2014
  17. 17.
    Baker J, Bond C, Corbett JC, Furman J, Khorlin A, Larson J, Leon JM, Li Y, Lloyd A, Yushprakh V (2011) Megastore: providing scalable, highly available storage for interactive services. In Proc. CIDR, S 223–234Google Scholar
  18. 18.
    Chang F, Dean J, Ghemawat S, Hsieh WC, Wallach DA, Burrows M, Chandra T, Fikes A, Gruber RE (2008) Bigtable: a distributed storage system for structured data. ACM Trans Comput Syst 26(2)Google Scholar
  19. 19.
    Python App Engine SDK (2014) https://developers.google.com/appengine/docs/python/datastore/datamodeling/. Zugegriffen: 6. Juni 2014
  20. 20.
    Kiji Project (2014) http://www.kiji.org/. Zugegriffen: 6. Juni 2014
  21. 21.
    Wolf F, Betz H, Gropengießer F, Sattler KU (2013) Hibernating in the cloud-implementation and evaluation of object-NoSQL-mapping. In Proc. BTW 2013Google Scholar
  22. 22.
    Google Developers: Using JPA with App Engine (2014) https://developers.google.com/appengine/docs/java/datastore/jpa/overview-dn. Zugegriffen: 6. Juni 2014
  23. 23.
    Google Developers: Using JDO 2.3 with App Engine (2014) https://developers.google.com/appengine/docs/java/datastore/jdo/overview. Zugegriffen: 6. Juni 2014
  24. 24.
    Hibernate OGM (2014) http://hibernate.org/ogm/. Zugegriffen: 6. Juni 2014
  25. 25.
    Klettke M (2007) Modellierung, Bewertung und Evolution von XML-Dokumentkollektionen. Habilitationsschrift. Logos Verlag, BerlinGoogle Scholar
  26. 26.
    Necaský M, Klímek J,Malý J, Mlýnková I (2012) Evolution and change management of XML-based systems. J Syst Softw 85(3):683–707Google Scholar
  27. 27.
    Moh CH, Lim EP, Ng WK (2000) DTD-Miner, a tool for mining DTD from XML documents. In Proc. WECWISGoogle Scholar
  28. 28.
    Google Developers: Google Cloud Datastore (2014) https://developers.google.com/datastore/. Zugegriffen: 6. Juni 2014
  29. 29.
    JSON Schema (2014) http://json-schema.org/. Zugegriffen: 6. Juni 2014
  30. 30.
    Bai Y, Thakkar H, Wang H, Zaniolo C (2008) Time-stamp management and query execution in data stream management systems. IEEE Internet Computing 12(6):13–21Google Scholar
  31. 31.
    Doan A, Halevy AY, Ives ZG (2012) Principles of data integration. Morgan Kaufmann, BurlingtonGoogle Scholar
  32. 32.
    Curino C, Moon HJ, Deutsch A, Zaniolo C (2013) Automating the database schema evolution process. VLDB J 22(1):73–98Google Scholar
  33. 33.
    Scherzinger S, Klettke M, Störl U (2013) Managing schema evolution in NoSQL data stores. In Proc. DBPLGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Meike Klettke
    • 1
  • Stefanie Scherzinger
    • 2
  • Uta Störl
    • 3
  1. 1.Universität RostockRostockDeutschland
  2. 2.OTH RegensburgRegensburgDeutschland
  3. 3.Hochschule DarmstadtDarmstadtDeutschland

Personalised recommendations