Application architecture

Build one web application that uses multiple databases

A business workflow may need customer data from SQL Server, product data from MySQL, and reference information from another system. One application can present those sources together, but a shared interface does not turn them into one database.

PHPRunner Enterprise can include multiple database connections in one project. The important architectural decision is assigning ownership and failure rules before pages begin reading and writing across those connections.

Quick answer

Identify the authoritative source for every business entity. Use additional databases for lookups, related pages, or clearly separated operations, but do not assume that updates across independent systems form one atomic transaction. Decide what happens when one write succeeds and another fails.

Assign one owner to each kind of data

If customer addresses exist in two databases, the application needs to know which copy is authoritative and whether the other is a cache, reporting copy, or integration target. Without that decision, a convenient combined screen can make inconsistency worse by allowing competing edits.

Choose the lightest integration that solves the task

Reference

Read a lookup or related record from another source without changing it.

Coordinate

Perform separate operations and record whether each one completed.

Synchronize

Copy selected data through a deliberate integration process when live access is unsuitable.

Design for partial failure

A transaction inside one database can usually be committed or rolled back as a unit. Two unrelated connections do not automatically share that protection. For a cross-system operation, either choose one authoritative write and queue the secondary work, or record enough state to retry, reconcile, or compensate safely.

Make the source visible to developers, not users

Connection names and duplicate table names must remain unambiguous in the project. Users, however, should see one task-oriented interface. They should not need to know which server supplied a customer name or where a reference list is stored unless that distinction changes the business meaning.

How PHPRunner Enterprise fits this approach

PHPRunner Enterprise supports multiple database connections in one project, including relationships and lookups that use different sources. Application events can select a named connection for explicit operations. This simplifies the interface, but the application designer still defines data ownership, transaction boundaries, and recovery behavior.