SSABLESelectivity-Aware Bi-Level Engine

Vector search.
Built for real-world filters.

SABLE is the filter-native retrieval engine driving VectorAmp: a large-scale vector index that treats the WHERE clause as a first-class part of the query plan. In the whitepaper's W1/W2 single-category and IN-list filter workloads at 100 million vectors and 10 percent selectivity, SABLE was more than 28× faster than DiskANN across the reported cases. One reported case measured 47 milliseconds median latency against 2.9 seconds on the same node, more than 60× faster, at Recall@10 of 0.96 or better.

Your permission model is only as good as the layer that enforces it. If filtering is something your database does after retrieval, late filtering can waste work and return too few eligible results. SABLE makes the requested scope part of the query plan so teams can evaluate speed, recall, and permissions together.

Filter-native query planningGraph-free ADC searchFilter-native retrieval planningCPU-optimized compressed search
02 · Benchmarks

Numbers from the SABLE whitepaper.

Single-node results on stock AWS instances. Full methodology, query workloads, and ablations live in the whitepaper.

W1/W2 filtered p50 vs DiskANN
>28×faster than DiskANN
single-category + IN-list filters · 100M vectors, 10% selectivity · R@10 ≥ 0.96 maintained
Workload verification
MeasureR@10
validate recall and latency · on your workload
RAM vs HNSW
> 60×*smaller
1M @ d=1536: ~96 MB vs ~6.27 GB · full vectors on NVMe
Unfiltered p95 (1M)
5.1 ms
R@10 = 0.941 · m5.2xlarge, d=1536

*More than 60 times smaller architectural index-memory target than conventional FP32 HNSW with M=16 at comparable recall. SABLE keeps compressed search structures and full-precision reranking vectors on NVMe. This compares index structures, not whole-service memory or query latency.

03 · Why SABLE

Generic vector stores were retrofitted. SABLE wasn't.

Four deliberate design choices that compound at scale.

[ 01 ]

Filter-native, by design.

Most vector stores treat metadata filters as a post-processing step that throws away precomputed work. SABLE uses metadata predicates to narrow the candidate space before graph-free ADC search, with shard-local statistics guiding the work.

Design goalPredictable under filteringCommon caseLess wasted work than post-filter
[ 02 ]

Shard-aware at the engine layer.

Sharding is part of how SABLE plans and routes queries. The query coordinator routes by metadata keys, prunes shards by filter, and merges candidates for exact reranking. Capacity is designed to expand with additional shards.

Vectors per shardWorkload-sizedPruningMetadata + zone-map
[ 03 ]

Tuned end-to-end with real workloads.

SABLE is tuned for the retrieval patterns VectorAmp itself runs on: filtered semantic search, RAG with citations, recommendation, and deduplication. Practical defaults for product workloads, not synthetic-benchmark theater.

Index coreOPQ · IVF-PQ · graph-free ADCDefaultsSABLE by default in every dataset
[ 04 ]

Storage that respects your bill.

Hot paths should stay fast, warm data should be compact, and cold data should not dominate your bill. SABLE is designed around explicit storage tiers and predictable read amplification.

CompressionPQ-aware optionsCold-tier readsCache-aware paths
04 · Architecture

The engine, top to bottom.

SABLE is a compact cold-tier vector index with filter-native planning built into the storage layout, not bolted on after retrieval.

Query plannerLayer 04 · Selectivity
PlannerPer-list selectivity
ModeSIMD-accelerated ADC
FiltersEquality + numeric ranges
MergeTop-k candidate heap
SABLE indexLayer 03 · ANN
OPQRotated vectors
IVF-PQCompressed residual codes
SearchGraph-free compressed scan
SIMDAVX-512 · NEON paths
Filter metadataLayer 02 · Pre-gating
BitmapsPer-list categorical filters
SketchesNumeric range pruning
StatsCardinality estimates
Planner inputBound the ADC candidate set
PersistenceLayer 01 · Durable
L0Mutable write buffer
L1Disk-backed SABLE index
DLSTMemory-mapped PQ codes
WALDurable inserts + deletes
05 · SDK

Search a dataset with the SDKs.

Python and TypeScript clients use the same dataset-scoped search API as the platform. Pass text or vectors, top-k, metadata filters, and advanced range filters directly.

search.pyVectorAmp · Python SDK
# filtered semantic searchfrom vectoramp import VectorAmp
client = VectorAmp(api_key="va_...")dataset = client.datasets.get("dataset_id")
results = dataset.search(    text="migration plan risks",    top_k=20,    filters={"team": "platform", "region": "eu"},    advanced_filters=[{"field": "year", "op": "gte", "value": 2025}],    include_documents=True,)
search.tsVectorAmp · TS SDK
// same query, TypeScriptimport { VectorAmp } from "@vectoramp/vectoramp";
const client = new VectorAmp({ apiKey: process.env.VECTORAMP_API_KEY });const dataset = await client.datasets.get("dataset_id");
const results = await dataset.search({  queryText: "migration plan risks",  topK: 20,  includeMetadata: true,  filter: { team: "platform", region: "eu" }});
06 · How SABLE compares

Same workload. Different math.

Historical single-node whitepaper results on 1M-vector DBpedia-OpenAI and 100M-vector Deep-1B workloads. Latency is labeled per row. These are workload-specific comparisons, not a production SLA or a claim about other datasets.

 Filter-nativeSABLEDisk-resident graphDiskANNIn-memory graphHNSW
Unfiltered p95 (1M, R@10≈0.94)5.1 msnp=16, rerank=4175 msdisk-residentFast in-RAMat huge memory cost
Filtered p95 (1M, ~11% selectivity)14–20 mspredicate pre-gates lists132.9 msfilter as post-stepDegrades sharplyfilter masks during traversal
Filtered p50 (W1/W2, 100M, 10% selectivity)24–59 ms28–101× faster · single-category + IN-list filters1.3–3.1 sdisk seeks dominateMemory-boundconventional FP32 HNSW
Memory @ 1M, d=1536~96 MBarchitectural index-memory targetDisk-resident~6.27 GBFP32 HNSW, M=16
07 · Engineered for scale

What SABLE is built to hold.

SABLE supports shard routing and configurable search parameters. Size and validate your own filtered workload with our team.

Shard
Route across datasets
Tune
Recall against your data
Measure
p95 on your query mix
CPU
Architecture qualification by profile
08 · Get SABLE

Two ways to use it.

Managed SABLE Cloud is available. Customer-operated BYOC is being scoped as an early-access pilot, subject to installation and support review. The initial scope is the core SABLE stack; ingestion, embedding, reranking, and Intelligence are future extensibility, not included pilot promises.

Enterprise · high utilization

SABLE Enterprise

For teams evaluating larger workloads or customer-operated deployment. BYOC early access is a scoped pilot, not a generally available install. CPU training and optional GPU training are evaluated by profile; supported hardware and operating responsibilities are confirmed during scoping.

  • Limitless datasets within negotiated fair-use terms
  • Higher embedding generation and query throughput
  • Custom usage limits, contracts, and billing terms
  • Managed cloud today; discuss a customer-operated BYOC early-access pilot
  • Named support and solutions engineering
Is SABLE the same engine VectorAmp uses?+

Yes. The same engine. The VectorAmp platform runs on SABLE. Buying SABLE standalone gets you the same engine, the same indexing pipeline, and the same query planner without the application layer (canvases, agents, intelligence UI). If you outgrow SABLE-only and want the platform on top, your indexes carry over.

What does "filter-native" actually mean?+

In SABLE, filtering is part of the index, not a separate step layered onto vector search. Each IVF list carries categorical and numeric summaries so SABLE can eliminate lists that cannot satisfy the filter, narrow the candidate set, run graph-free ADC over compressed vectors, and then rerank against full-precision vectors. That planning is what we mean by filter-native.

What index types are supported?+

SABLE is the index VectorAmp creates for datasets: an OPQ-rotated IVF-PQ foundation, graph-free ADC search, exact reranking, and per-list metadata used to narrow filtered work. We benchmark against systems like HNSW and DiskANN, but we do not expose those as customer-selectable index modes in the current SDKs.

What does SABLE not do?+

SABLE is not a relational database and does not provide joins. Current filter-native planning focuses on equality and numeric-range predicates. Recall is high but workload-dependent, not 1.0, and the scoped BYOC pilot is not an air-gapped deployment.

Can I run SABLE in my own cloud account?+

Managed VectorAmp Cloud is available. Customer-operated BYOC is being scoped as an early-access pilot, subject to clean-account installation and support evidence. Contact sales to explore a scoped pilot.

What does pricing look like?+

SABLE is included in the VectorAmp Cloud plans. The trial is free with hard-capped usage; paid plans include monthly vector-query and vector-write allowances with metered usage above them. See the pricing page for the current plan lineup, or contact sales for Enterprise terms.

The vector layer should be the fast layer.

Stop paying the post-filter tax. Run your filtered workload against the same engine that powers the VectorAmp Intelligence Platform.