# no parquet yet? start from ingest →

Add SQL + Hybrid
Search to your data

Your current tools can keep reading data while Infino adds FTS, vector, hybrid, and SQL.

your app SQL, Vector, FTS, & Hybrid Search Parquet Tools clickhouse, databricks, snowflake, duckdb OBJECT STORAGE Parquet Parquet
infino write-or-hydrate

Write new data, or hydrate what exists

For new data, Infino writes enhanced Parquet directly. For existing Parquet, Infino builds the retrieval indexes through hydration.

  1. 01 New data Append JSON, Arrow, columns, or vectors through Infino
  2. 02 Existing Parquet Infino builds retrieval indexes through hydration
  3. 03 Enhanced Parquet Open columns for every reader; indexed reads through Infino
docs.json batch append infino Parquet bm25 · vectors

Starting without Parquet →

infino explain readers

Other Parquet readers keep working

A superfile is spec-compliant Parquet. Its columnar body remains available to standard tools, while Infino uses the embedded retrieval regions as additional access paths.

  • DuckDB, Spark, Trino, pandas, and other compatible readers ignore the Infino metadata and read the columns normally.
  • Infino reads the same columns plus the BM25 and vector indexes for keyword, semantic, and hybrid retrieval.
  • Rewriting the file with a generic Parquet writer preserves the columns but drops the embedded retrieval indexes; Infino can rebuild them.

superfile layout →

cat query.sql

Search is a relation inside SQL

hybrid_search returns a ranked relation. Filters, projections, joins, aggregates, and limits remain part of the same SQL plan over one snapshot.

query.sql
SELECT   _id, title, score
FROM     hybrid_search(                       -- BM25 + vector, fused by RRF
           'logs', 'body', 'disk full',       --   the text side
           'embedding', :q, 50                --   the vector side, top 50
         )
WHERE    level = 'error'                      -- filter the ranked relation
  AND    ts > now() - interval '24 hours'
ORDER BY score DESC
LIMIT    10;

-- → ranked hits · one SQL plan · one snapshot

hybrid search: joins, group-bys, and windows over the same result set →

infino explain pruning

Indexes reduce the input to SQL

Infino integrates retrieval directly with DataFusion. It prunes the file set, resolves candidate rows from embedded indexes, and decodes projected columns only after that reduction.

  • Manifest summaries (scalar bounds, term summaries, and vector centroids) can eliminate files before they are opened.
  • The embedded FTS or vector index identifies candidate rows and byte ranges inside each surviving file.
  • DataFusion receives that candidate relation and applies the remaining filters, joins, aggregates, and projections.

warehouse and lakehouse cost model →  ·  table-format integration →

infino diff my-stack

What Infino can replace, and what it complements

The boundary is the workload. Infino can replace a dedicated retrieval path while standard readers and the surrounding data-platform ecosystem continue on the same Parquet.

can replace

tool what it does today with infino
elasticsearch · opensearch Lucene-based full-text and vector search, with mature analyzers, dashboards, and lifecycle tooling. For supported retrieval workloads: BM25, vector, and hybrid search over Parquet, without making Infino the only reader of the data.
vector database A purpose-built ANN index with explicit or managed controls for vector serving. When the same rows also need BM25 and SQL: vectors remain in Parquet and hybrid ranking runs in one query path.

complements

Infino can act as the Parquet writer and indexed reader for search, hybrid search, and selected SQL. Broad scans, large aggregations, and workflows built around governance, BI, notebooks, sharing, or pipelines can continue on the existing platform.

tool what it does today with infino
snowflake · databricks · bigquery Broad scans, large aggregations, and the surrounding governance, BI, notebook, sharing, and pipeline ecosystem. An optional indexed reader for search, hybrid search, and selected SQL. Selective workloads can use less read compute; broad analytical work can remain on the platform.
duckdb · spark · trino Standards-based readers and compute engines over Parquet. They continue reading the columns. Infino additionally reads the embedded BM25 and vector index regions for selective retrieval.

For selective retrieval workloads, Infino can reduce serving cost by 10× or more. Actual savings depend on corpus size, query mix, selectivity, traffic, region, and vendor pricing.

The full comparison →

cat catalog.md

Iceberg, Delta Lake, and Hudi

Infino can attach to the table state, hydrate the active Parquet files, and register the file replacement through the table format. Iceberg, Delta Lake, or Hudi remains the authority; Infino is an additional indexed read path.

registers the swap catalog iceberg · delta · hudi manifest *.parquet hydrates infino

Standard table-format readers continue to read the columns. Infino uses the embedded indexes for selective retrieval; broad analytical reads can remain on the existing engines.

vs iceberg / hudi →

infino spec

Engine at a glance

search
full-text · vector · hybrid
index
BM25 (PFOR-delta, FST) · HNSW · OPANN + Sq16
engine
Rust
language
SQL (Apache DataFusion) · REST · Query DSL
storage
object storage, S3 · GCS · Azure Blob · on-prem
format
Apache Parquet
deploy
on-prem · self-hosted cloud · hosted cloud
core license
Apache-2.0