{"id":21565222,"url":"https://github.com/mastercloudapps-projects/monolith-to-microservices-db-examples","last_synced_at":"2025-03-18T05:17:42.371Z","repository":{"id":104936229,"uuid":"404767989","full_name":"MasterCloudApps-Projects/Monolith-to-Microservices-DB-Examples","owner":"MasterCloudApps-Projects","description":null,"archived":false,"fork":false,"pushed_at":"2021-12-15T19:10:07.000Z","size":8256,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-24T11:44:48.416Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MasterCloudApps-Projects.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-09T15:08:23.000Z","updated_at":"2024-01-06T13:08:34.000Z","dependencies_parsed_at":"2023-05-04T05:47:53.988Z","dependency_job_id":null,"html_url":"https://github.com/MasterCloudApps-Projects/Monolith-to-Microservices-DB-Examples","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MasterCloudApps-Projects%2FMonolith-to-Microservices-DB-Examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MasterCloudApps-Projects%2FMonolith-to-Microservices-DB-Examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MasterCloudApps-Projects%2FMonolith-to-Microservices-DB-Examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MasterCloudApps-Projects%2FMonolith-to-Microservices-DB-Examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MasterCloudApps-Projects","download_url":"https://codeload.github.com/MasterCloudApps-Projects/Monolith-to-Microservices-DB-Examples/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244160055,"owners_count":20408021,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-24T10:18:53.738Z","updated_at":"2025-03-18T05:17:42.356Z","avatar_url":"https://github.com/MasterCloudApps-Projects.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Monolith-to-Microservices-DB-Examples\n\n## What Are Microservices?\n\nMicroservices are independently deployable services modeled around a business domain. They communicate with each other via networks, and as an architecture choice offer many options for solving the problems you may face. It follows that a microservice architecture is based on multiple collaborating microservices.\n\n## What Advantages Can Microservices Bring?\n\nThe advantages of microservices are many and varied. The independent nature of the deployments opens up new models for improving the scale and robustness of systems, and allows you to mix and match technology. As services can be worked on in parallel, you can bring more developers to bear on a problem without them getting in each other’s way. It can also be easier for those developers to understand their part of the system, as they can focus their attention on just one part of it. Process isolation also makes it possible for us to vary the technology choices we make, perhaps mixing different programming languages, programming styles, deployment platforms, or databases to find the right mix.\n\nPerhaps, above all, microservice architectures give you flexibility. They open up many more options regarding how you can solve problems in the future.\n\nHowever, it’s important to note that none of these advantages come for free. There are many ways you can approach system decomposition, and fundamentally what you are trying to achieve will drive this decomposition in different directions. Understanding what you are trying to get from your microservice architecture therefore becomes important.\n\n## Our work\n\nIn this work we have tried to focus into the database decomposition patterns to transform architectures from a monolith to microservices. For this work, we have relied on the publication [Monolith to Microservices](https://samnewman.io/books/monolith-to-microservices/) specifically in chapter 4 (Chapter 4. Decomposing the Database). This book presents examples at a high level, which we have implemented at a low level.\n\nWe are implement these database patterns:\n\n- [Database view](01_DatabaseView/) \n- [Database as a service](02_DatabaseAsAServiceInterface/)\n- [Aggregate Exponsing Monolith](03_AggregateExposingMonolith/)\n- [Split Table](04_SplitTable)\n\nThe academic work associated with this repository can be found at this [link](memoria/memoriaTFM.docx)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmastercloudapps-projects%2Fmonolith-to-microservices-db-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmastercloudapps-projects%2Fmonolith-to-microservices-db-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmastercloudapps-projects%2Fmonolith-to-microservices-db-examples/lists"}