SDK & Protocol Compatibility Matrix
Direct memory and wire interoperability for your existing toolchain. Connect standard PostgreSQL drivers, Apache Arrow Flight engines, or native IPC bindings in Rust, Python, and TypeScript.
The Zero-Sprawl Philosophy: UniDB speaks the open binary wire standards and POSIX memory protocols your existing systems already rely on. Rather than deploying Redis for pub/sub, Kafka for streaming CDC, Postgres for relational tables, Neo4j for graphs, and Pinecone for semantic vectors, UniDB surfaces a single unified memory space through standard interfaces.
Client Language SDKs
Native IPC & Direct MemoryDirect bindings that connect your runtime process directly to UniDB's lock-free shared memory ring buffer or native engine regions without intermediate network hops.
| SDK / Package | Runtime / Language | Transport Mechanism | Serialization Formats | Latency Profile | Primary Capabilities |
|---|---|---|---|---|---|
unidb-client |
Rust (Native) | POSIX Shared Memory IPC, UNIX Domain Sockets, Direct Memory Map | Protobuf (prost), Arrow Batches, Raw Page Slices, JSON |
< 500 ns | Full read/write, zero-copy CDC (CdcSubscriber), bitemporal horizon queries, SIMD .knn vector search, schema inspection |
unidb_py |
Python 3.9+ (PyO3) | Shared Memory Ring Buffer, Arrow Flight SQL (Port 8815) | Native Python Dicts, Apache Arrow RecordBatches, DuckDB / Polars | ~1.2 µs (SHM) / ~1.5 ms (Flight) | GIL-bypassing zero-copy ingest, zero-copy Pandas / DuckDB analytics, vector similarity queries, autonomous AI agent memory blackboard |
@unidb/client |
TypeScript / Node.js (NAPI-RS) | Shared Memory IPC Ring, WebSocket Streaming Bridge | JSON Objects, Binary Buffer Streams | ~2.5 µs (SHM) | Asynchronous event ingest, real-time reactive CDC subscription listener, relational querying, agent swarms coordinator |
Standard Wire Protocols & Interface Endpoints
Open Standards & Drop-In WireUniDB exposes industry-standard network protocols so your existing business intelligence, query tools, and microservices can query or stream without proprietary drivers.
| Protocol / Interface | Port / Path | Specification Standard | Compatible Client Ecosystem | Throughput & Key Features |
|---|---|---|---|---|
| Apache Arrow Flight SQL | 8815 |
Apache Arrow Flight RPC (gRPC / HTTP/2) | DuckDB, Polars, PyArrow, Apache Spark, Dremio | > 500 MB/sec streaming scan, AVX-512 filter pushdown, zero-copy Arrow RecordBatches |
PostgreSQL Wire (pgwire) |
5432 |
PostgreSQL Frontend/Backend Protocol 3.0 | psql, DBeaver, TablePlus, SQLAlchemy, Prisma, Npgsql |
Standard SQL-92 execution, dialect auto-routing to 8KB columnar pages, drop-in replacement for Postgres clients |
Shared Memory IPC (shmpulse) |
OS Shared Memory Bus |
Lock-Free Atomic Ring Buffer | Any local process (Rust, Python, C/C++, Go, Node.js) | < 500 ns event broadcast, zero kernel context-switches, atomic head/tail CAS sequences |
| gRPC Ingestion Gateway | 50051 |
HTTP/2 gRPC with Protobuf | Any gRPC client (Go, Java, C#, Rust, Python) | High-throughput batched ingestion, bitemporal nanosecond timestamping, streaming telemetry pipeline |
| Embedded In-Process Engine | Direct In-Memory Linkage | Direct Rust Crate Linkage (unidb) |
Rust daemons, CLI tools, embedded appliances | Direct zero-copy page memory access, atomic dual-slot superblock, 0ms boot, zero network overhead |
Code Integration Examples
Plug & Play
Rust unidb-client (Zero-Copy Ring)
< 500ns
use unidb_client::Client;
use unidb_client::models::proto::TelemetryEvent;
// 1. Connect to POSIX shared memory ring
let client = Client::new(
Some("bench_ring"),
Some(32 * 1024 * 1024)
).expect("Failed to connect to shared memory ring");
// 2. Ingest Protobuf event in < 500ns
let event = TelemetryEvent {
host_id: "prod-worker-01".to_string(),
event_type: "EXECVE".to_string(),
pid: 1024,
..Default::default()
};
let slot_id = client.insert_telemetry_protobuf(123, &event)?;
println!("Ingested into slot {}", slot_id);
Python unidb_py + DuckDB Flight
~1.2µs / ~1.5ms
import unidb
import duckdb
# 1. Ingest via Shared Memory IPC (bypasses Python GIL)
client = unidb.Client("bench_ring", 32 * 1024 * 1024)
slot_id = client.insert_telemetry_json(123, {
"host_id": "prod-worker-01",
"event_type": "EXECVE",
"pid": 1024
})
# 2. Query via Arrow Flight SQL in DuckDB
con = duckdb.connect()
con.execute("INSTALL arrow; LOAD arrow;")
df = con.execute("""
SELECT * FROM flight_sql(
'grpc://127.0.0.1:8815',
'SELECT * FROM code_symbols WHERE kind = \'function\''
)
""").df()
print(df.head())
TypeScript @unidb/client (Node.js)
~2.5µs
import { Client } from '@unidb/client';
// 1. Connect to shared memory ring via NAPI-RS
const client = new Client("bench_ring", 32 * 1024 * 1024);
// 2. Ingest JSON event with zero network hop
const slotId = client.insertTelemetryJson(123, {
host_id: "prod-worker-01",
event_type: "EXECVE",
pid: 1024,
raw_cmd: "node server.js"
});
console.log("Ingested into slot: " + slotId);
SQL Wire psql / SQLAlchemy (Port 5432)
Standard pgwire
# Connect standard psql CLI directly to UniDB
psql -h 127.0.0.1 -p 5432 -U unidb -d workspace
# Execute relational columnar query
SELECT name, kind, file_path
FROM code_symbols
WHERE kind = 'function'
ORDER BY name
LIMIT 10;
# Inspect bitemporal horizon
SELECT * FROM code_symbols
FOR SYSTEM_TIME AS OF '2026-09-20 23:00:00';
Protocol & Driver Trademark Notice: PostgreSQL and the Slonik logo are registered trademarks of the PostgreSQL Community Association. Apache Arrow and Apache Parquet are registered trademarks of the Apache Software Foundation. Redis is a registered trademark of Redis Ltd. Python is a registered trademark of the Python Software Foundation. Docker and Kubernetes are trademarks of Docker, Inc. and The Linux Foundation, respectively. Wire protocols and driver interfaces are implemented for interoperability purposes only. For complete trademark credits, visit our Legal & Disclaimers page.