SynapCores vs everything else
Real capabilities, side by side. Fourteen of them, across eight tools. Every claim is backed by a SQL example or a code path in the repo.
The capability matrix
Scroll horizontally on mobile. Hover any cell for the supporting code path.
| Capability | SynapCores this engine | Pinecone managed vector DB | Weaviate hybrid vector DB | Neo4j graph DB | PG + pgvector Postgres extension | Ollama local LLM runner | Langfuse LLM observability | mem0 agent memory layer |
|---|---|---|---|---|---|---|---|---|
Vector search (HNSW) In-engine ANN over dense float vectors. | ||||||||
Cypher graph traversal Native MATCH / relationship walks inside the same query. | ||||||||
SQL relational Real SELECT / JOIN / INDEX, not a key-value with SQL flavor. | ||||||||
Embedded LLM (GGUF in-process) No separate model server. Inference happens inside the database binary. | ||||||||
AutoML PREDICT in SQL CREATE MODEL ... PREDICT ... USING automl — as a plain SQL surface. | ||||||||
AGENT_RUN as a SQL function Dispatch an agent from inside a query. No microservice. No HTTP wrapper. | ||||||||
Multi-modal (image / audio / video EMBED) EMBED_IMAGE, EMBED_AUDIO, EMBED_VIDEO, MULTIMODAL_SEARCH as SQL functions. | ||||||||
Time-series + continuous aggregates TIME_BUCKET(), CREATE CONTINUOUS AGGREGATE, retention policies. | ||||||||
Geospatial (ST_* family) ST_GEOMFROMTEXT, ST_DISTANCE, ST_CONTAINS — first-class types. | ||||||||
Streaming inserts (real-time) WebSocket + Kafka ingest, drop straight into queryable storage. | ||||||||
Cryptographic immutable tables Append-only with sha256 chain verification — built-in audit primitive. | ||||||||
MCP server out-of-the-box Drop SynapCores into Claude Desktop / Cursor / Cline — no extra setup. | ||||||||
Self-hosted single binary docker run, no extra daemons. v1.8 closes the last 🟡 (Ollama dep). | ||||||||
LLM observability / tracing Span ingestion, prompt diff, cost analytics. |
SynapCores has 12 ✅ and 2 🟡 on this matrix. The next-most-checked vendor (Postgres + pgvector) has 4 ✅. The v1.8.0 native-inference release turns the last two 🟡 into ✅.
Five things only SynapCores does
One screenshot each. Every block is real SQL — copy-paste into the engine and it runs. No glue code, no microservice between, no extra daemon.
AGENT_RUN inside a SELECT
Dispatch a Tier-1 triage agent against every new alert from inside the query.
Other agent stacks call the database from a Python loop. SynapCores agents are SQL functions — the agent IS the query plan, not a microservice gluing one together.
SELECT
alert_id,
AGENT_RUN(
'security_triage_agent',
'Alert: ' || description || ' on ' || hostname
) AS triage_decision
FROM new_alerts
WHERE created_at > NOW() - INTERVAL '5 minutes';Multi-modal search in plain SQL
Find product photos that match a natural-language query — no embedding service, no vector DB to wire up.
EMBED_TEXT_CLIP + EMBED_IMAGE + COSINE_SIMILARITY all share one storage. No service-to-service hops, no per-call billing.
SELECT
product_id,
COSINE_SIMILARITY(
image_embedding,
EMBED_TEXT_CLIP('red sneakers on grass at golden hour')
) AS match_score
FROM product_catalog
ORDER BY match_score DESC
LIMIT 10;Cypher graph walk + SQL filter, one query
Personalized recommendations across a knowledge graph, filtered by price — in a single execution plan.
Today you'd run the graph walk in Neo4j, dump results, re-query Postgres for prices. SynapCores does both in one plan with one MVCC scope.
SELECT * FROM (
CYPHER $$
MATCH (u:User)-[:PURCHASED]->(p:Product)-[:SIMILAR_TO]->(rec:Product)
WHERE u.id = $1 AND NOT (u)-[:PURCHASED]->(rec)
RETURN rec.id AS id, rec.name AS name, rec.price AS price
$$ WITH PARAMS (1234)
) AS recommendations
WHERE price < 100
ORDER BY price ASC
LIMIT 10;AutoML — train, deploy, predict, all in SQL
Build a churn classifier and score active customers in five lines. No MLflow. No SageMaker. No notebook.
CREATE MODEL ... USING automl runs the search (GB, RF, logistic regression, optimizer choice). PREDICT() is a plain SQL function from then on.
CREATE MODEL churn_predictor AS
SELECT plan_type, monthly_spend, days_since_login, churned
FROM customers_history
PREDICT churned
USING automl;
SELECT
customer_id,
PREDICT(churn_predictor, customer.*) AS churn_risk
FROM active_customers
ORDER BY churn_risk DESC
LIMIT 100;A cron job that runs an AI agent — declared in SQL
Schedule a nightly support-ticket triage agent. No Airflow. No external scheduler. No Lambda function.
CREATE SCHEDULED JOB + AGENT_RUN turn the agent loop into a database object. State, history, retries, and audit all live where the data does.
CREATE SCHEDULED JOB nightly_inbox_triage
SCHEDULE '0 2 * * *' -- daily at 02:00
AS
INSERT INTO triaged_tickets
SELECT
ticket_id,
AGENT_RUN(
'support_triage_agent',
subject || E'\n\n' || body
) AS classification
FROM raw_tickets
WHERE triaged_at IS NULL;One Docker container. Decide for yourself.
Every claim above runs against the free Community Edition. No signup, no waitlist, no telemetry. Install in 30 seconds, try the five SQL blocks against your own data.