Categories: API DevelopmentSOA

One Datastore per MicroService?

This article represents details on whether to use single datastore per microservice. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos.

From what I researched, the preferred architecture for microservices is polyglot persistence pattern. (http://martinfowler.com/bliki/PolyglotPersistence.html ). You could further read about this on following pages:

As per the best practices, each micro-service should have one database private to it. There are different ways to achieve the above objective. Some of them are listed below:

  • Same database system for different services. In this following could be done:
    • Different set of tables specific to microservice in the same database
    • Different database schema but in the same database server
    • Different database server
  • Each service can use different database systems. For example, RDBMS, MongoDB etc.

Following diagram represents one datastore per microservice. (courtesy: MartinFowler page on MSA)

 

 

 

 

 

 

 

 

 

 

 

 

Following is another page representing MSA best practices from NetFlix. It highlights creating separate datastore for each microservice.

https://www.nginx.com/blog/microservices-at-netflix-architectural-best-practices/

Ajitesh Kumar

I have been recently working in the area of Data analytics including Data Science and Machine Learning / Deep Learning. I am also passionate about different technologies including programming languages such as Java/JEE, Javascript, Python, R, Julia, etc, and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data, etc. I would love to connect with you on Linkedin. Check out my latest book titled as First Principles Thinking: Building winning products using first principles thinking.

Share
Published by
Ajitesh Kumar
Tags: SOA

Recent Posts

Building an OpenAI Chatbot with LangChain

Have you ever wondered how to use OpenAI APIs to create custom chatbots? With advancements…

10 hours ago

Building a RAG Application with LangChain: Example Code

The combination of Retrieval-Augmented Generation (RAG) and powerful language models enables the development of sophisticated…

1 day ago

How Indexing Works in LLM-Based RAG Applications

When building a Retrieval-Augmented Generation (RAG) application powered by Large Language Models (LLMs), which combine…

5 days ago

Retrieval Augmented Generation (RAG) & LLM: Examples

Last updated: 25th Jan, 2025 Have you ever wondered how to seamlessly integrate the vast…

5 days ago

What are AI Agents? How do they work?

Artificial Intelligence (AI) agents have started becoming an integral part of our lives. Imagine asking…

3 weeks ago

Agentic AI Design Patterns Examples

In the ever-evolving landscape of agentic AI workflows and applications, understanding and leveraging design patterns…

4 weeks ago