One Engine. Tables and Graphs.

TeideDB is a high-performance columnar engine with native graph pattern matching (SQL/PGQ), vector similarity search, and graph algorithms — all in one SQL query.

01

SQL Engine

Full SQL with aggregations, joins, window functions, CTEs. DuckDB-compatible syntax.

02

Graph Queries (SQL/PGQ)

CREATE PROPERTY GRAPH, MATCH patterns, variable-length paths, shortest path — ISO SQL:2023 standard.

03

Vector Search

Cosine similarity, euclidean distance, KNN search over F32 embedding columns. HNSW index for million-scale.

04

Graph Algorithms

PageRank, connected components, weighted Dijkstra, Louvain community detection — all as C engine kernels.

05

PgWire + REPL

Connect with psql, DBeaver, or any Postgres client. Interactive REPL with syntax highlighting.

06

Rust API

Embed TeideDB with Context, Table, Graph, Column, Rel, and HnswIndex types.

Quick Example

-- Load data and define a property graph
CREATE TABLE persons AS SELECT * FROM read_csv('persons.csv');
CREATE TABLE friendships AS SELECT * FROM read_csv('friendships.csv');

CREATE PROPERTY GRAPH social
VERTEX TABLES (persons LABEL Person)
EDGE TABLES (friendships
  SOURCE KEY (src) REFERENCES persons (id)
  DESTINATION KEY (dst) REFERENCES persons (id)
  LABEL Knows);

-- Graph pattern matching + SQL analytics in one query
SELECT person, connections FROM GRAPH_TABLE (social
  MATCH (a:Person)-[:Knows]-(b:Person)
  COLUMNS (a.name AS person, COUNT(b.id) AS connections)
) ORDER BY connections DESC LIMIT 10;