HMD Praxis der Wirtschaftsinformatik

, Volume 53, Issue 4, pp 486–498 | Cite as

Dokumentenorientierte NoSQL-Datenbanken in skalierbaren Webanwendungen

Eine Analyse am Beispiel von MongoDB und der Webanwendung PINGO
  • Christoph Bach
  • Dennis Kundisch
  • Jürgen Neumann
  • Darius Schlangenotto
  • Michael Whittaker
Article
  • 413 Downloads

Zusammenfassung

Interaktive Webanwendungen, mit tausenden von Nutzern, erfordern den adäquaten Einsatz von geeigneten Datenbanktechnologien zur Verwaltung und Bereitstellung der ausgetauschten Daten. Am Beispiel des Open Source-Projektes PINGO wird aufgezeigt, wie sich die dokumentenorientierte NoSQL-Datenbank MongoDB in eine Webanwendungsarchitektur integrieren lässt, sodass die Datenbank skaliert und alle Datenbankzugriffe unmittelbar ausgeführt werden können. Ein Lasttest-Szenario belegt, dass die Geschwindigkeit der Gesamtanwendung nicht durch die genutzte MongoDB-Instanz, sondern durch die Ausstattung des eingesetzten Webservers limitiert wird. Im Szenario war es nicht möglich eine Lastobergrenze von MongoDB zu identifizieren, da sich die Netzwerkverbindung mit einer Übertragungsbandbreite von 400 Mbit/s als limitierender Faktor erwies. Darüber hinaus werden die mehr als fünfjährigen Projekterfahrungen genutzt, um die Entwicklung mit MongoDB kritisch zu reflektieren. Im Anwendungskontext zeigt sich MongoDB als flexible Datenbanktechnologie, welche sich einfach in das verwendete Web-Framework Ruby on Rails integrieren lässt. Die Konzepte der Schemalosigkeit und die Möglichkeit zur Bildung von logischen Einheiten zwischen Datenspeicherung und Darstellung erlauben zudem eine agile Weiterentwicklung der Webanwendung. Die größten Herausforderungen im Projektkontext resultierten aus der Tendenz vieler Entwickler relationale Modellierungskonzepte auf MongoDB zu übertragen.

Schlüsselwörter

Dokumentenorientiere NoSQL-Datenbanken MongoDB NoSQL im Web Skalierbare Webanwendungen 

Applying Document Oriented NoSQL Databases in Scalable Web Applications

An Analysis based on MongoDB and the Web Application PINGO

Abstract

Interactive web applications with thousands of users need appropriate database technologies in order store and exchange data. Using the open source project PINGO as an example, we illustrate how the document-oriented NoSQL database MongoDB can be integrated with the web application stack, so that the database system scales up and every query is performed instantaneously. A load test scenario documents that the limiting factor is the webserver rather than the MongoDB instance. We could not find an upper bound for the load of MongoDB with the PINGO application as the 400 Mbit/s network connection turned out to be the bottleneck of the whole stack. Furthermore, we use our five years of experience with the project to reflect on the development process with MongoDB. The database integrates seamlessly with the Ruby on Rails framework and enables a very flexible development process. Moreover, the schemaless nature of MongoDB and the possibility to combine the object model with the persisted model facilitate agile methods for the continuous development of the application. Most challenges with the NoSQL technology were caused by developers who used previously learnt relational modeling approaches within the context of MongoDB.

Keywords

Document-oriented NoSQL databases MongoDB NoSQL for web apps Scalable web applications 

Literatur

  1. Aboutorabi SH, Rezapour M, Moradi M, Ghadiri N (2015) Performance evaluation of SQL and MongoDB databases for big e‑commerce data Proceedings of 2015 International Symposium on Computer Science and Software Engineering, S. 1–7Google Scholar
  2. Cattell R (2010) Scalable SQL and NoSQL data stores. Acm Sigmod Rec 39:12–27. doi:10.1145/1978915.1978919CrossRefGoogle Scholar
  3. Faraj A, Rashid B, Shareef T (2014) Comperative Study of Relational and Non-Relations Database Performances using Oracle and MongoDB Systems. Int J Comput Eng Technol 5:11–22Google Scholar
  4. Hajui O, Dehbi R, Talea M, Batouta Z (2015) An advanced comparative Study of the Most Promising NoSQL and NewSQL Databases with Multi-Criteria Analysis Method. J Theor Appl Inf Technol 81:579–588Google Scholar
  5. Hecht R, Jablonski S (2011) NoSQL evaluation: A use case oriented survey Proceedings of the 2012 International Conference on Cloud and Service Computing, S. 336–341Google Scholar
  6. Internet Live Stats (2016) Twitter Usage Statistics. http://www.internetlivestats.com/twitter-statistics/#trend. Zugegriffen: 05. Februar 2016Google Scholar
  7. Kundisch D, Magenheim J, Beutner M, Herrmann P, Reinhardt W, Zokye A (2013) Classroom Response Systems. Inform Spektrum 36:389–393. doi:10.1007/s00287-013-0713-0CrossRefGoogle Scholar
  8. Kundisch D, Sievers M, Zoyke A, Herrmann P, Whittaker M, Beutner M, Fels G, Magenheim J (2012) Designing a web-based application to support Peer Instruction for very large Groups Proceedings of the International Conference on Information Systems.Google Scholar
  9. Nayak A, Poriya A, Poojary D (2013) Type of NOSQL Databases and its Comparison with Relational Databases. Int J Appl Inf Syst 5:16–19Google Scholar
  10. Padhy RP, Patra MR, Satapathy SC (2011) RDBMS to NoSQL: Reviewing some next-generation non-relational databases. Int J Adv Eng Sci Technol 11:15–30Google Scholar
  11. Sareen P, Kumar P (2015) NoSQL Database and its Comparison with SQL Database. Int J Comput Sci Commun Networks 5:293–298Google Scholar
  12. solid IT gmbh (2016a) DBMS popularity broken down by database model. http://db-engines.com/en/ranking_categories. Zugegriffen: 05. Februar 2016Google Scholar
  13. solid IT gmbh (2016b) DB-Engines Ranking – Trend Popularity. http://db-engines.com/en/ranking_trend. Zugegriffen: 05. Februar 2016Google Scholar
  14. Tauro CJM, Aravindh S, Shreeharsha AB (2012) Comparative study of the new generation, agile, scalable, high performance NOSQL databases. Int J Comput Appl 48:1–4Google Scholar
  15. Wei-ping Z, Ming-xin L, Huan C (2011) Using MongoDB to implement textbook management system instead of MySQL Proceedings of the 3rd International Conference on Communication Software and Networks., S 303–305Google Scholar
  16. Whittaker M, Neumann J (2013) Develop in the fast lane with Ruby/Rails. Softw Dev J:10–14Google Scholar
  17. Wyllie D (2014) Datenbanksysteme für Web-Anwendungen im Vergleich. http://www.cowo.de/a/2496589. Zugegriffen: 05. Februar 2015Google Scholar

Copyright information

© Springer Fachmedien Wiesbaden 2016

Authors and Affiliations

  • Christoph Bach
    • 1
  • Dennis Kundisch
    • 1
  • Jürgen Neumann
    • 1
  • Darius Schlangenotto
    • 1
  • Michael Whittaker
    • 1
  1. 1.Fakultät für Wirtschaftswissenschaften, Professur für Wirtschaftsinformatik, insb. Digitale MärkteUniversität PaderbornPaderbornDeutschland

Personalised recommendations