Controlling database access during decomposition - AWS Prescriptive Guidance

Controlling database access during decomposition

Many organizations face a common scenario: a central database that has grown organically over many years and is accessed directly by multiple services and teams. This creates several critical problems:

  • Uncontrolled growth – As teams continuously add new features and modify schemas, the database becomes increasingly complex and difficult to manage.

  • Performance concerns – Even with hardware improvements, the growing load eventually threatens to exceed the database's capabilities. Impossibility to tune queries due to schema complexity or lack of skills. Unable to predict or explain system performance.

  • Decomposition paralysis – It becomes nearly impossible to split or refactor the database while it's actively being modified by multiple teams.

Note

Monolithic database systems often reuse the same credentials for applications or services or for administration. This leads to poor database traceability. Setting dedicated roles and adopting the principle of least privilege can help you increase security and availability.

When dealing with a monolithic database that has become unwieldy, one of the most effective patterns to control access is called a database wrapper service. It provides a strategic first step in managing complex database systems. It establishes controlled database access and enables gradual modernization, while reducing risk. This approach creates a foundation for incremental improvements by providing clear visibility into data usage patterns and dependencies. It's a transitional architecture that serves as a step toward full database decomposition. The wrapper service provides the stability and control needed to make that journey successfully.