DataK³ — one bucket, every dimension
One bucket, every dimension. DataK³ (the K-cube) turns object storage into a multi-dimensional data plane: the same data is queryable as objects, rows, embeddings, or a graph — over the wire protocol of the tool you already use — glued together with automated workflows.
- Object — S3-compatible
- Table — HTAP on Delta Lake (transactional writes coalesced into analytical reads)
- Vector — KNN over embeddings, Pinecone/Qdrant wire-compatible
- Graph — Cypher over Bolt, defined over your tables
Workflows are Scriptum templates triggered by ingest rules on a bucket. Upload once → query as bytes, rows, embeddings, or a graph.
Dimensions
Each dimension is its own service, with its own concepts and API surface:
- Objects — S3-compatible bytes. The base layer; every other engine persists artifacts back to it.
- SQL — HTAP rows. Transactional writes coalesced into analytical reads on Delta Lake, per bucket.
- Vector — Embeddings + hybrid retrieval, with Pinecone and Qdrant wire adapters.
- Graph — Cypher over Bolt, defined with SQL over the same rows.
Start with Connect & Adapters for endpoints and credentials — every wire accepts an API key or a service account.
Glued by Scriptum
A bucket isn’t just bytes — it’s a knowledge instance. Attach sources, write ingest rules, and Scriptum templates take an upload and fan it out into rows, embeddings, and any other artifact you want — all queryable side-by-side. See Pipelines for the orchestration model.
How it’s served — three services
The four dimensions above are the product view. Underneath, DataK³ is three services, and knowing which one owns an operation tells you which host, which protocol, and which page it belongs on.
| Service | Owns | Speaks |
|---|---|---|
| k3-api (control plane) | Buckets & provisioning, quotas & billing, the connect flow, sources, ingest rules, pipelines, ingest jobs, templates, actions, reservation intent, and the search dispatcher | dodil.data.*.v1 on api.data.dodil.io (HTTP) / rpc.data.dodil.io:443 (gRPC) |
| tables-gateway (data plane) | Table DDL + DML, ad-hoc SQL, table maintenance, plus the vector and graph facets | dodil.tables.v1 + the Postgres / Bolt / Qdrant / Pinecone / GraphQL / REST wire adapters, region-scoped (*.uk-lon-1.dodil.io) |
| object-gateway (data plane) | S3 byte operations — the object data path | The S3 protocol (SigV4 / SigV2) on object.uk-lon-1.dodil.io |
The rule of thumb: ask whether an operation is a control op, a table/vector/graph op, or a byte op. Control ops go to k3-api; table, vector, and graph data ops go to the tables-gateway (never to api.data.dodil.io); byte ops go to the object gateway. See Data Engines for the full endpoint map and Connect & Adapters for credentials.
A bucket is the database — db_id == bucket, so there is no separate database lifecycle to manage, and tables materialize lazily under {bucket}/{table} the first time you create or write one. There is no engine to enable: the tables, vector, and graph capabilities are implicit per bucket, and hot capacity is governed by a reservation.
Concepts at a glance
| Term | What it is |
|---|---|
| Bucket | A storage + knowledge namespace. Most K3 APIs are bucket-scoped. |
| Source | Where content syncs from — the internal S3 bucket or external connectors (Drive, GitHub, …). |
| Rule | Binds source-match conditions (glob, MIME, size) to a pipeline. |
| Pipeline | A Scriptum template + options + optional destination (a collection, a table). |
| Ingest job | One pipeline execution over one object (manual or discovery-triggered). |
| Reservation | The per-bucket budget for resident (hot) capacity on the tables-gateway. There is no “engine” to provision — tables/vector/graph are implicit per bucket; capacity is governed here. See Reservation & Hot Cache. |
For LLMs and agents
Every page in this docs site is also fetchable as raw markdown — append .md to the path (e.g. /engines/objects/api-reference.md). For a one-shot map of the entire surface, see llms.txt at the root.
Where to next
- Data Engines — Objects · SQL · Vector · Graph
- Pipelines · Reservation & Hot Cache
- Conventions — auth, headers, errors (read once, applies to every API)
- CLI Basics — install, auth, common flags
- Auth and Access · Recipes · Operations · Feature Status
K3 exposes both HTTP and gRPC APIs, with asynchronous ingest pipelines. Source: dodilio/dodil-k3 .