The database per service pattern with an Oracle database can be accomplished easily with one instance of Autonomous Database per microservice, a very easy to use and maintain database (relational and JSON).
But not only is easy to use and maintain because you don’t have to deal with administration tasks or manage different technologies for persisting data, in fact you have a very easy mechanism for versioning your microservices in parallel with your data: just by cloning the instance.
You can clone both with the dashboard or with commands that can be easily put in your CD pipeline.
oci db autonomous-database create-from-clone --compartment-id <mycompid> --cpu-core-count 1 --data-storage-size-in-tbs 5 --admin-password <password> --source-id <dbsourceid> --clone-type FULL --db-name <newname>
As an example, in the range of a 4-5 minutes you can clon a 5TB database ready to be connected to a new version of your microservice.
With Oracle Autonomous Database you avoid the versioning anti-pattern quickly and easily.
And what about putting an API Platform in between the users and the microservices? Think about it!
That’s all folks!
Me and my circumstance