Bach, ChristophKundisch, DennisNeumann, JürgenSchlangenotto, DariusWhittaker, Michael2018-01-162018-01-1620162016https://dl.gi.de/handle/20.500.12116/13886Interaktive 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.AbstractInteractive 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.Document-oriented NoSQL databasesDokumentenorientiere NoSQL-DatenbankenMongoDBNoSQL for web appsNoSQL im WebScalable web applicationsSkalierbare WebanwendungenDokumentenorientierte NoSQL-Datenbanken in skalierbaren WebanwendungenText/Journal Article2198-2775