Add SQL + Hybrid
Search to your data
Your current tools can keep reading data while Infino adds FTS, vector, hybrid, and SQL.
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.
- 01 New data Append JSON, Arrow, columns, or vectors through Infino
- 02 Existing Parquet Infino builds retrieval indexes through hydration
- 03 Enhanced Parquet Open columns for every reader; indexed reads through Infino
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.
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.
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 →
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 →
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.
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.
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.
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
Go deeper: architecture · elasticsearch replacement · hybrid search · docs ↗