From a Raspberry Pi running predictive maintenance on factory floors to hyperscale AI platforms processing millions of embeddings per second - Absolute DB handles it all without reaching for another tool.
The first database built for the AI era from the ground up - not retrofitted. Store, search, and reason over vectors, documents, and structured data in a single query, without stitching together three separate systems.
vector_search, fts_search, rag_query tools directly to AI agents.NL2SQL(question, schema_context) — in-database natural language to SQL conversion, offline-capable, no external API call required.SELECT id, title, HYBRID_SEARCH('customer refund policy', embedding_col) AS score
FROM knowledge_base
ORDER BY score DESC
LIMIT 5;
-- Natural language to SQL — in-database, offline-capable
SELECT NL2SQL('show me top customers by revenue this quarter',
'orders(customer_id, total, created_at)') AS sql_query;
Continuous query processing on live data streams — no Kafka, no Flink, no separate streaming platform. Define a streaming view once and the database maintains it continuously, pushing results as they change.
-- Define a live aggregation — updated continuously as events arrive
CREATE STREAMING VIEW order_rate_1min AS
SELECT
TIME_BUCKET('1 minute', event_at) AS bucket,
COUNT(*) AS order_count,
SUM(total_cents) AS revenue_cents
FROM orders_stream
WHERE event_at > NOW() - INTERVAL '5 minutes'
GROUP BY bucket;
-- Subscribe to changes — delivered via NOTIFY or WebSocket
LISTEN order_rate_1min;
Property graph analytics and fraud detection alongside your relational data — no separate Neo4j deployment. openCypher queries work natively, providing a direct migration path from Neo4j without rewriting application logic.
MATCH, CREATE, RETURN, WHERE — Neo4j Cypher queries run unchanged, enabling live migration of graph workloads.RELATE source → target AS edge_type PROPERTIES {...} — create typed edges with arbitrary key-value properties from any SQL context.-- openCypher: find all accounts within 2 hops of a flagged account
MATCH (a:Account {flagged: true})-[:TRANSFERRED_TO*1..2]->(b:Account)
RETURN b.id, b.balance
ORDER BY b.balance DESC;
-- Native graph: shortest path between two users
GRAPH SHORTEST_PATH FROM 42 TO 99 EDGE 'knows';
Connect to your existing identity infrastructure without additional middleware. Pure C11 LDAP and JWT validation — no libldap, no external auth proxy, no additional attack surface. Auth0, Okta, Keycloak, Azure AD, and Google IdP supported out of the box.
sub, iss, exp, role claim). JWKS key cache (16 keys).pg_advisory_lock(key) / pg_advisory_unlock(key) / pg_advisory_try_lock(key) — shared + exclusive, session + transaction scoped. Direct compatibility with Flyway, Liquibase, Alembic, and golang-migrate.# LDAP / Active Directory
ldap_server = "ldaps://ad.corp.example.com:636"
ldap_base_dn = "DC=corp,DC=example,DC=com"
ldap_bind_dn = "CN=absdb-svc,OU=ServiceAccounts,DC=corp,DC=example,DC=com"
ldap_group_role_map = "CN=DBAdmins,... => admin; CN=DBReaders,... => readonly"
# OAuth2 / OIDC (Auth0 example)
jwt_issuer = "https://your-tenant.auth0.com/"
jwt_audience = "https://api.yourapp.com"
jwt_role_claim = "https://yourapp.com/roles"
Enforce data quality at ingestion time — not after the fact. Built-in expectations, Welford online profiling, and quarantine queues give compliance teams real-time visibility without a separate data quality platform.
DQ_LEVEL REJECT (block bad rows), WARN (log + pass), or QUARANTINE (route to _absdb_dq_quarantine for review) — enforced at the write path._absdb_dq_profiles with quality scores 0–100.absdb_lineage_of(table, col) shows the full upstream chain for GDPR impact analysis.CREATE DATABASE branch FROM main creates an instant zero-cost clone — run data quality checks on a branch before merging to production.-- Enforce quality at ingestion
ALTER TABLE patient_records
ALTER COLUMN dob SET (dq_level = 'REJECT', dq_not_null = true),
ALTER COLUMN mrn SET (dq_level = 'QUARANTINE', dq_unique = true);
-- View quality scores and anomalies
SELECT col_name, quality_score, null_pct, mean, stddev
FROM _absdb_dq_profiles
WHERE table_name = 'patient_records';
-- Review quarantined rows
SELECT * FROM _absdb_dq_quarantine WHERE table_name = 'patient_records';
HIPAA-compliant by default. PHI stays protected without compromising query performance - compliance is enforced at the database layer so your application code stays clean.
ALTER TABLE patients ALTER COLUMN ssn SET (hipaa_phi = true);
ALTER TABLE patients ALTER COLUMN diagnosis_code SET (hipaa_phi = true);
SELECT * FROM absdb_hipaa_access_report('2026-01-01', '2026-03-31');
The only production-grade database that fits in 8 MB and runs on a Raspberry Pi Zero with 512 MB RAM. Gorilla delta-delta compression, BRIN indexes, and hypertables make it the ideal store for billions of sensor readings — on the device or in the cloud.
SELECT
time_bucket('5 minutes', recorded_at) AS bucket,
AVG(temperature) AS avg_temp,
MAX(vibration_hz) AS peak_vibration
FROM machine_telemetry
WHERE recorded_at > NOW() - INTERVAL '1 hour'
GROUP BY bucket
ORDER BY bucket DESC;
Replace eight specialised database tools with one. Eliminate database sprawl before it starts - vector search, full-text, time-series, graph, and OLTP in a single deployment that your existing ORM already speaks.
-- Each tenant can only see their own rows - enforced by the database
CREATE POLICY tenant_isolation ON orders
USING (tenant_id = current_setting('app.tenant_id')::uuid);
-- Live push to subscribed clients
SUBSCRIBE TO TABLE orders WHERE tenant_id = $1 AND status = 'pending';
Full ACID transactions, high availability, zero-downtime operations. All the capability of Oracle or enterprise PostgreSQL - without the licence tax, the mandatory consultants, or the weekend upgrade windows.
ALTER TABLE runs non-blocking in the background - production tables stay fully available during column additions, index builds, and type changes.BEGIN;
INSERT INTO orders (customer_id, total) VALUES ($1, $2) RETURNING id;
SAVEPOINT order_created;
INSERT INTO order_items (order_id, sku, qty) VALUES ($3, $4, $5);
-- Something went wrong with this item only
ROLLBACK TO SAVEPOINT order_created;
-- Retry with corrected data
INSERT INTO order_items (order_id, sku, qty) VALUES ($3, $6, $5);
COMMIT;
The SQLite upgrade path that doesn't require a separate server. Embed Absolute DB in any C/C++ application with a two-line include - and get vector search, full-text, graph traversal, JSON, and time-series that SQLite simply doesn't have.
#include "absolute.h"
int main(void) {
absdb_t *db;
absdb_result_t *res;
/* Open an in-process database - no server required */
absdb_open(":memory:", &db);
absdb_exec(db, "CREATE TABLE events (id INTEGER PRIMARY KEY, payload TEXT)");
absdb_exec(db, "INSERT INTO events (payload) VALUES ('hello, world')");
absdb_query(db, "SELECT * FROM events", &res);
while (absdb_result_next(res)) {
printf("id=%lld payload=%s\n",
absdb_result_int64(res, 0),
absdb_result_text(res, 1));
}
absdb_result_free(res);
/* Expose as a PostgreSQL-compatible server - one flag */
/* absdb_serve(db, "0.0.0.0", 5433); */
absdb_close(db);
return 0;
}
Replace MariaDB on any cPanel host with Absolute DB in one click. The swap wizard live-replicates the existing MariaDB datadir, verifies parity via Merkle checksums, then atomically rebinds port 3306 in under 100 ms. Every PHP, Python, Node, Ruby, and Java application reconnects transparently — no code changes, no DSN changes, no driver changes. A 7-day rollback window and native WHMCS billing driver make it safe for shared-hosting operators and resellers.
_absdb_admin_logSee the full cPanel Swap Guide and the v8.3 architecture spec.