# Unified Platform for Multi-Database Operations

> Manage multiple databases with shared semantic types, cross-database queries, and distributed transactions. Deploy globally and maintain consistency across databases.

Canonical: https://databases.do/

## In code

```ts
import { Databases } from 'databases.do'

// Cross-database queries and transactions
const dbs = Databases({ customers: $.Schema, analytics: $.Schema })

on.Order.completed($ => {
  // Query customers database
  const customer = dbs.customers.query.Customer({ where: { id: $.Order.customerId } })

  // Write to analytics atomically
  dbs.analytics.insert.Event({ userId: customer.id, type: 'order_completed' })
  dbs.analytics.increment.Metric({ name: `revenue.${customer.tier}`, value: $.Order.total })
})
```

## Frequently asked questions

### Why manage multiple databases instead of one?

Multiple databases provide logical separation for different concerns, enable independent scaling, support compliance requirements, and facilitate team ownership—all with unified management and cross-database queries.

### How do cross-database queries and transactions work?

Distributed query planner optimizes joins with filter pushdown and edge caching, while two-phase commit ensures atomicity with sub-100ms commit times and full ACID guarantees.

### Can I share types and schemas across databases?

Yes, define shared semantic types once and reference them across databases with automatic foreign key validation, atomic schema evolution, and versioned type registry.

### What about data consistency across databases?

Choose per-database consistency levels (strong, eventual, or causal) with distributed transactions, conflict resolution strategies, real-time CDC streams, and read-your-writes guarantees.

### How do I migrate from a monolithic database?

Incremental migration with continuous CDC sync, dual writes, automated reconciliation, and database-by-database cutover completes in weeks with zero downtime.

## Part of Platform.do

databases.do is one of the primitives of Platform.do, in the Data layer (records, vocabulary and search). Every .do shares one grammar, Business-as-Code, and one SDK.

- What is Business-as-Code? https://platform.do/business-as-code
- Platform.do: https://platform.do/
- Docs: https://docs.platform.do
