Question

Usually RDBMS just have only one primary server for writing, so what's the point of virtualization?

It cannot make multi-DB, and one additional layer of encapsulation does not mean that the speed will be slowed.

But I know there's a reason for exist, what are the scenarios that are particularly suitable for database virtualization?

Was it helpful?

Solution

First the assumption that databases have one primary write server is incorrect. A lot of set ups have multi- master configs and clusters. There are also distributed database systems where data is written to different servers based on various conditions.

Though not required, database can still be containerized, especially when dealing with microservices. Each microservice can have its own database and it all depends on how your infrastructure has been architected.

Here is a small excerpt for a good read. I am linking the article as it's too big to copy paste here

A containerized database is an encapsulation of its DBMS server software, with access to a physical database file residing somewhere within the network. Each DBMS is encased in its own container image. Containerizing a database, however, is not quite as straightforward as containerizing an application.

OTHER TIPS

Personally, I really like the idea of putting a golden set of data in a VM or container for QA testing. Spin up a new VM/container for each project and you can test it in isolation. When testing is complete, it goes away cleanly. You can do the same thing for development: Think git branches.

I can't tell you how many times I've had projects look like they were failing because someone mucked up the data in the dev/qa environment to test a different project.

Licensed under: CC-BY-SA with attribution
Not affiliated with dba.stackexchange
scroll top