In the article from Linux-Magazin 04/2017 Relationale Datenbanken als Container (sorry German and paywall) there is written in conclusion that NoSQL DBs are better suitable for containers than the "old" MariaDB (and Postgres).

enter image description here

Please explain me technical why NoSQL is better for containers. I would appreciate if you explain me with MongoDB and MariaDB. I have experience running those two DBs in a cloud environment.

  • 1
    I don't speak German, but google translate renders that passage into English as: "Responsibility in the technology package upwards - into the containers. The infrastructure underneath, in particular, the hardware, falls into the background. Issues such as Devops and Lean Management play a key role. Because the demand for horizontal scalability and high degree of sophistication grows, it is also questionable how long the RDBMS representatives still led the market. "Containers" the NoSQL colleagues can significantly better." It might be useful to include that in your question? – Vince Bowdren Apr 5 '17 at 9:23

I dont think that statement is entirely true. So, its better to take it with a pinch of salt.

Typically, containers are stateless (not 100%). If a container dies, a different container should be able to take its place and operate. Traditional RDBMS systems are single-server monolithic systems with exceptions being the clustered variants of them. If a single-server goes RDBMS running in a container goes down, first of all, it will be unavailable.

In general, all the modern NoSQL databases are distributed in nature with >=2 copies of the data. So, if one node running in a container goes down, the other nodes in the cluster can takeover the operations of the failed container. There will not be unavailability of the system which is very desirable. Moreover, the failed container can be replaced by a new one as and when possible and restore the orginal scale as before. In similar lines, a distributed RDBMS system can also operate smoothly in a container environment.

Having said the above, there are common challenges with both RDBMS and NoSQL systems face in a docker environment. Statelessness is a challenge. Databases are stateful, especially the ones with persistent storage. There is a storage associated with each node of the database. So, when replacing a container with new one, one need to make sure that the correct storage is associated as per the configuration.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.