If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: microservices.io/patterns/data/database-per-service.html - Pattern: Database per service.

site address: microservices.io/patterns/data/database-per-service.html redirected to: microservices.io/patterns/data/database-per-service.html

site title: Pattern: Database per service

Our opinion (on Tuesday 14 July 2026 10:01:15 UTC):

GREEN status (no comments) - no comments
After content analysis of this website we propose the following hashtags:



Meta tags:

Headings (most frequently used words):

microservices, patterns, architecture, microservice, service, context, example, about, need, help, your, consulting, learn, the, pattern, database, per, problem, forces, solution, resulting, related, io, modernizing, 2nd, edition, ask, chris, premium, content, workshops, remote, session, assess, get, book, applications, virtual, bootcamp, distributed, data, in, how, to, create, template, and, chassis, build, services, eventuate, platform,

Text of the page (most frequently used words):
the (59), #service (37), that (36), and (34), for (25), database (25), microservices (22), #services (21), architecture (20), data (17), example (15), microservice (14), pattern (14), chris (11), use (11), transactions (10), your (10), are (10), multiple (10), patterns (10), per (10), each (9), orders (9), application (8), need (8), customer (8), must (8), help (7), you (7), learn (7), about (7), some (7), using (6), queries (6), more (6), api (6), this (6), query (6), order (6), join (5), distributed (5), other (5), its (5), could (5), customers (5), implementing (5), span (5), has (5), server (5), private (5), view (4), saga (4), cqrs (4), implement (4), consulting (4), can (4), how (4), now (4), see (4), richardson (4), modernization (4), their (4), databases (4), business (4), not (4), only (4), different (4), schema (4), eventuate (3), create (3), there (3), composition (3), book (3), question (3), avoid (3), such (3), will (3), workshops (3), premium (3), available (3), modern (3), from (3), store (3), recent (3), nosql (3), best (3), following (3), access (3), own (3), information (3), enforce (3), tables (3), owned (3), enable (2), makes (2), management (2), platform (2), engage (2), teaches (2), template (2), chassis (2), video (2), code (2), ask (2), virtual (2), bootcamp (2), open (2), want (2), applications (2), get (2), assess (2), what (2), needs (2), architect (2), session (2), design (2), problem (2), monolith (2), organization (2), adopt (2), got (2), related (2), developers (2), effectively (2), content (2), organizations (2), software (2), blog (2), post (2), edition (2), legacy (2), new (2), problems (2), systems (2), supported (2), kong (2), loose (2), coupling (2), shared (2), useful (2), ways (2), command (2), responsibility (2), segregation (2), one (2), views (2), events (2), online (2), particular (2), region (2), then (2), most (2), does (2), graph (2), neo4j (2), loosely (2), coupled (2), context (2), good (2), kind (2), directly (2), have (2), might (2), accessed (2), keep (2), persistent (2), relational (2), which (2), scale (2), credit (2), stores (2), please, javascript, comments, powered, disqus, google, group, ready, start, latest, startup, easy, manage, tackle, challenges, adoption, roadmap, define, build, email, marketing, trust, signup, newsletter, take, look, develop, manning, liveproject, regular, price, 395, person, but, coupon, offefkcw, sign, valid, until, sept, 30th, 2025, deeper, discounts, buying, seats, consists, lectures, labs, weekly, anything, conference, repeated, timezones, covers, key, including, enrollment, check, out, read, offers, numerous, resources, learning, identify, improved, conduct, review, consider, signing, two, hour, highly, focussed, facing, tricky, know, migrate, wondering, whether, should, specific, remote, pitfalls, adopting, essential, topics, decomposition, refactor, architects, comprehensive, paid, subscribers, training, engagements, improve, agility, competitiveness, through, better, fill, write, answers, form, very, excited, announce, meap, second, 2nd, trap, creating, system, with, same, old, contact, discuss, goals, modernizing, created, creator, original, cloudfoundry, com, author, advises, building, becoming, copyright, 2026, all, rights, reserved, describes, result, sharing, anti, way, eventually, consistent, creates, maintain, materialized, contain, kept, subscribe, publishes, when, updates, finds, maintaining, joins, updated, subscribes, performs, rather, than, gateway, retrieve, first, retrieving, querying, return, various, solutions, complexity, managing, sql, challenging, straightforward, avoided, because, cap, theorem, moreover, many, don, support, them, drawbacks, type, suited, text, searches, elasticsearch, manipulates, social, helps, ensure, changes, impact, any, benefits, resulting, uses, approach, credentials, grant, logical, mysql, ftgo, idea, barriers, modularity, assign, user, control, mechanism, grants, without, barrier, encapsulation, always, tempted, bypass, lowest, overhead, appealing, since, ownership, clearer, high, throughput, owns, set, few, provision, options, part, implementation, cannot, diagram, shows, structure, accessible, via, involve, solution, storage, requirements, choice, mongodb, storing, complex, unstructured, designed, efficiently, sometimes, replicated, sharded, cube, finding, requires, between, find, calculate, total, amount, creditlimit, invariants, case, verify, exceed, limit, update, place, they, developed, deployed, scaled, independently, forces, let, imagine, developing, persist, testing, refactoring, presentations, articles,


Text of the page (random words):
pattern database per service microservice architecture supported by kong patterns articles presentations adopt refactoring testing modernization help about pattern database per service pattern application architecture loose coupling context let s imagine you are developing an online store application using the microservice architecture pattern most services need to persist data in some kind of database for example the order service stores information about orders and the customer service stores information about customers problem what s the database architecture in a microservices application forces services must be loosely coupled so that they can be developed deployed and scaled independently some business transactions must enforce invariants that span multiple services for example the place order use case must verify that a new order will not exceed the customer s credit limit other business transactions must update data owned by multiple services some business transactions need to query data that is owned by multiple services for example the view available credit use must query the customer to find the creditlimit and orders to calculate the total amount of the open orders some queries must join data that is owned by multiple services for example finding customers in a particular region and their recent orders requires a join between customers and orders databases must sometimes be replicated and sharded in order to scale see the scale cube different services have different data storage requirements for some services a relational database is the best choice other services might need a nosql database such as mongodb which is good at storing complex unstructured data or neo4j which is designed to efficiently store and query graph data solution keep each microservice s persistent data private to that service and accessible only via its api a service s transactions only involve its database the following diagram shows the structure of this pattern the service s database is effectively part of the implementation of that service it cannot be accessed directly by other services there are a few different ways to keep a service s persistent data private you do not need to provision a database server for each service for example if you are using a relational database then the options are private tables per service each service owns a set of tables that must only be accessed by that service schema per service each service has a database schema that s private to that service database server per service each service has it s own database server private tables per service and schema per service have the lowest overhead using a schema per service is appealing since it makes ownership clearer some high throughput services might need their own database server it is a good idea to create barriers that enforce this modularity you could for example assign a different database user id to each service and use a database access control mechanism such as grants without some kind of barrier to enforce encapsulation developers will always be tempted to bypass a service s api and access it s data directly example the ftgo application is an example of an application that uses this approach each service has database credentials that only grant it access its own logical database on a shared mysql server for more information see this blog post resulting context using a database per service has the following benefits helps ensure that the services are loosely coupled changes to one service s database does not impact any other services each service can use the type of database that is best suited to its needs for example a service that does text searches could use elasticsearch a service that manipulates a social graph could use neo4j using a database per service has the following drawbacks implementing business transactions that span multiple services is not straightforward distributed transactions are best avoided because of the cap theorem moreover many modern nosql databases don t support them implementing queries that join data that is now in multiple databases is challenging complexity of managing multiple sql and nosql databases there are various patterns solutions for implementing transactions and queries that span services implementing transactions that span services use the saga pattern implementing queries that span services api composition the application performs the join rather than the database for example a service or the api gateway could retrieve a customer and their orders by first retrieving the customer from the customer service and then querying the order service to return the customer s most recent orders command query responsibility segregation cqrs maintain one or more materialized views that contain data from multiple services the views are kept by services that subscribe to events that each services publishes when it updates its data for example the online store could implement a query that finds customers in a particular region and their recent orders by maintaining a view that joins customers and orders the view is updated by a service that subscribes to customer and order events related patterns microservice architecture pattern creates the need for this pattern saga pattern is a useful way to implement eventually consistent transactions the api composition and command query responsibility segregation cqrs pattern are useful ways to implement queries the shared database anti pattern describes the problems that result from microservices sharing a database pattern application architecture loose coupling modernization help copyright 2026 chris richardson all rights reserved supported by kong about microservices io microservices io is created by chris richardson software architect creator of the original cloudfoundry com and author of microservices patterns chris advises organizations on modernization architecture and building systems that avoid becoming modern legacy systems need help modernizing your architecture avoid the trap of creating a modern legacy system a new architecture with the same old problems contact me to discuss your modernization goals get help microservices patterns 2nd edition i am very excited to announce that the meap for the second edition of my book microservices patterns is now available learn more ask chris got a question about microservices fill in this form if i can i ll write a blog post that answers your question need help i help organizations improve agility and competitiveness through better software architecture learn more about my consulting engagements and training workshops premium content premium content now available for paid subscribers at premium microservices io microservices workshops chris teaches comprehensive workshops for architects and developers that will enable your organization use microservices effectively avoid the pitfalls of adopting microservices and learn essential topics such as service decomposition and design and how to refactor a monolith to microservices learn more remote consulting session got a specific microservice architecture related question for example wondering whether your organization should adopt microservices want to know how to migrate your monolith to microservices facing a tricky microservice architecture design problem consider signing up for a two hour highly focussed consulting session assess your architecture assess your application s microservice architecture and identify what needs to be improved engage chris to conduct an architect review learn about microservices chris offers numerous other resources for learning the microservice architecture get the book microservices patterns read chris richardson s book example microservices applications want to see an example check out chris richardson s example applications see code virtual bootcamp distributed data patterns in a microservice architecture my virtual bootcamp distributed data patterns in a microservice architecture is now open for enrollment it covers the key distributed data management patterns including saga api composition and cqrs it consists of video lectures code labs and a weekly ask me anything video conference repeated in multiple timezones the regular price is 395 person but use coupon offefkcw to sign up for 95 valid until sept 30th 2025 there are deeper discounts for buying multiple seats learn more learn how to create a service template and microservice chassis take a look at my manning liveproject that teaches you how to develop a service template and microservice chassis signup for the newsletter for email marketing you can trust build microservices ready to start using the microservice architecture consulting services engage chris to create a microservices adoption roadmap and help you define your microservice architecture the eventuate platform use the eventuate io platform to tackle distributed data management challenges in your microservices architecture eventuate is chris s latest startup it makes it easy to use the saga pattern to manage transactions and the cqrs pattern to implement queries join the microservices google group please enable javascript to view the comments powered by disqus
Thumbnail images (randomly selected): * Images may be subject to copyright.GREEN status (no comments)

Verified site has: 22 subpage(s). Do you want to verify them? Verify pages:

1-5 6-10 11-15 16-20 21-22


The site also has references to the 1 subdomain(s)

  premium.microservices.io  Verify


Top 50 hastags from of all verified websites.

Supplementary Information (add-on for SEO geeks)*- See more on header.verify-www.com

Header

HTTP/1.1 301 Moved Permanently
Connection close
Content-Length 162
Server GitHub.com
Content-Type text/html
Location htt????/microservices.io/patterns/data/database-per-service.html
X-GitHub-Request-Id 83FE:5994A:75E5D8:77D778:6A5608EA
Accept-Ranges bytes
Age 0
Date Tue, 14 Jul 2026 10:01:14 GMT
Via 1.1 varnish
X-Served-By cache-rtm-ehrd2290035-RTM
X-Cache MISS
X-Cache-Hits 0
X-Timer S1784023275.791077,VS0,VE101
Vary Accept-Encoding
X-Fastly-Request-ID 6afcbcad0217809cd83c83542bc92efbb3a00086
HTTP/2 200
server GitHub.com
content-type text/html; charset=utf-8
x-origin-cache HIT
last-modified Wed, 03 Jun 2026 22:50:31 GMT
access-control-allow-origin *
etag W/ 6a20afb7-6687
expires Tue, 14 Jul 2026 10:11:14 GMT
cache-control max-age=600
content-encoding gzip
x-proxy-cache MISS
x-github-request-id F898:19EE0:77D836:79CB04:6A5608EA
accept-ranges bytes
age 0
date Tue, 14 Jul 2026 10:01:15 GMT
via 1.1 varnish
x-served-by cache-rtm-ehrd2290049-RTM
x-cache MISS
x-cache-hits 0
x-timer S1784023275.933283,VS0,VE107
vary Accept-Encoding
x-fastly-request-id 69cf4adcb60c68291fcbaaff2f74cbb3897f1c76
content-length 8031

Meta Tags

title="Pattern: Database per service"
charset="utf-8"
http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"
name="viewport" content="width=device-width"
property="og:type" content="website"
property="og:site_name" content="microservices.io"
property="og:title" content="Microservices Pattern: Pattern: Database per service"
property="og:image" content="htt???/microservices.io/i/databaseperservice.png"
property="og:url" content="htt???/microservices.io/patterns/data/database-per-service.html"
property="og:description" content="A service's database is private to that service"
name="google-site-verification" content="rB3uSmJcbvKTM81SmaySzRyq4bSjan7d0vZ-8rH7i4w"
name="msvalidate.01" content="FCD5343EE325466BFFCA1D990110980F"

Load Info

page size8031
load time (s)0.31316
redirect count1
speed download25658
server IP 185.199.108.153
* all occurrences of the string "http://" have been changed to "htt???/"