文摘
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.KeywordsDocument-oriented NoSQL databasesMongoDBNoSQL for web appsScalable web applications