.do
Data Storage

databases

Multi-database management and cross-database queries

databases

Manage multiple databases with unified queries, cross-database joins, and federated data access across PostgreSQL, ClickHouse, MongoDB, and more.

Overview

The databases primitive enables working with multiple data sources as a single logical database, with support for distributed queries, replication, and sharding.

Parent Primitive: database - Universal database interface

SDK Object Mapping

This primitive maps to the db SDK object with multi-database operations:

import { db } from 'sdk.do'

// Add multiple databases
await db.add('primary', { type: 'postgres', url: process.env.DB_URL })
await db.add('analytics', { type: 'clickhouse', url: process.env.CLICKHOUSE_URL })

// Cross-database queries
const result = await db.query(`
  SELECT u.*, o.total
  FROM primary.users u
  JOIN analytics.orders o ON u.id = o.user_id
`)

// Replicate data between databases
await db.replicate({
  from: 'postgres.database.do',
  to: 'clickhouse.database.do',
  tables: ['events', 'logs'],
})

Quick Example

import { databases } from 'sdk.do'

// Configure multiple databases
await databases.add('primary', { type: 'postgres', url: process.env.DB_URL })
await databases.add('analytics', { type: 'clickhouse', url: process.env.CLICKHOUSE_URL })

// Query across databases
const result = await databases.query(`
  SELECT u.*, o.total
  FROM primary.users u
  JOIN analytics.orders o ON u.id = o.user_id
`)

Core Capabilities

  • Multi-Database - PostgreSQL, ClickHouse, MongoDB, Redis, and more
  • Cross-Database Queries - Join data across different database engines
  • Federated Access - Unified interface for all data sources
  • Data Replication - Sync data between databases automatically
  • Sharding - Distribute data across multiple database instances

Access Methods

SDK

TypeScript/JavaScript library for multi-database operations

await databases.add('primary', { type: 'postgres', url: process.env.DB_URL })

SDK Documentation

CLI

Command-line tool for database management

do databases add primary --type postgres --url $DB_URL

CLI Documentation

API

REST/RPC endpoints for database operations

curl -X POST https://api.do/v1/databases -d '{"name":"primary","type":"postgres","url":"..."}'

API Documentation

MCP

Model Context Protocol for AI-driven database operations

Add a PostgreSQL database named "primary" with the connection URL from environment

MCP Documentation

Parent Primitive

  • database - Universal database interface and single database operations

Sibling Primitives

  • datasets - Dataset management and version control
  • state - Distributed state management
  • context - Database context propagation