Every software application that processes information, which is almost every application on earth (IT – Information Technology), uses one way or another to structure, store and maintain its information. Thanks to the popularity of object oriented programming, or OOP for short, data inside an application is mostly stored in the form of ‘objects’.
When the application is not running however, or when data has to be stored permanently, the data has to be kept somewhere in a way that’s suitable for the data. There are multiple ways of storing this data, of which the two most important ones are file storage and database storage.
When people think about databases, they most likely think about the traditional kind of database. Which consists of multiple tables with rows and columns. Those are relational databases (think about SQL). Information that is related with similar information is put together in a table. All tables together make up the complete data structure.
In object oriented programming, where data is stored as objects, there are better ways of storing the data. Data like this can be easily converted to JSON data. Which can then be saved in a file on disk. However, one can do better than this. What about combining those JSON files with the manageability of databases? That’s where document-oriented databases come in. They’re also known as ‘NoSQL’ databases.
Internally, most document-oriented databases store data in a way that’s very similar to how JSON is structured. The most popular document-oriented database system, according to its Wikipedia page, is MongoDB.
With those document-oriented databases, application objects can be easily transferred over to a database, which drastically improves performance and ease of use.
If you want to learn more about MongoDB, which I highly recommend, have a look at its website.