How infino-ai/infino works
Infino is an embedded retrieval library for a single logical table, exposing full-text, vector, hybrid, and SQL queries over Parquet files on local or object storage. The principal workflow is connect, create a table with schema and indexes, append rows, then search or query it. Internally, supertable coordinates immutable-file writing, manifest state, query execution, and caching. README statements establish the end-to-end workflow and storage capabilities; source-index references support several internal relationships, but many implementation files were not sampled, so uncertain call edges are omitted.
Main entry points: query/mod.rs Query Execution · catalog/mod.rs Connection API · writer.rs Table Writer · reader_cache/mod.rs Reader Cache
Components 21
API and Catalog
- Connection API
src/catalog/mod.rs - Language Bindings
infino-python/src/lib.rs - Engine Configuration
src/config/mod.rs
Table Lifecycle
- Schema and Indexes
src/supertable/schema/mod.rs - Dynamic Rows
src/dynamic/mod.rs - Table Writer
src/supertable/writer.rs - Write-Ahead Log
src/supertable/wal/pipeline.rs - Table Manifest
src/supertable/manifest/mod.rs - Parquet Superfiles
src/superfile/builder.rs - Table Handle
src/supertable/handle.rs
Retrieval and Query
- Full-Text Index
src/superfile/fts/builder.rs - Text Analysis
src/superfile/fts/tokenize.rs - Vector Index
src/superfile/vector/hnsw.rs - Query Execution
src/supertable/query/mod.rs - SQL Planning
src/supertable/query/sql.rs
Persistence and Cache
- Storage Providers
src/storage/mod.rs - S3 Backend
src/storage/s3.rs - Reader Cache
src/supertable/reader_cache/mod.rs - Cached Block Reads
src/supertable/reader_cache/block_source.rs - Memory Budget
src/memory/mod.rs
Other components
- Application
Connections 24
- Application → Connection API: connects
README.md - Application → Language Bindings: uses
README.md - Connection API → Schema and Indexes: creates tables
README.md - Connection API → Table Handle: opens tables
src/catalog/mod.rs - Table Handle → Table Writer: appends rows
- Table Writer → Parquet Superfiles: writes batches
README.md - Table Writer → Write-Ahead Log: records writes
- Table Writer → Table Manifest: commits files
- Table Writer → Dynamic Rows: accepts JSON rows
- Parquet Superfiles → Full-Text Index: embeds index
README.md - Parquet Superfiles → Vector Index: embeds index
README.md - Full-Text Index → Text Analysis: analyzes text
src/superfile/fts/builder.rs - Table Handle → Query Execution: searches table
- Query Execution → SQL Planning: plans SQL
- Query Execution → Full-Text Index: runs full-text search
README.md - Query Execution → Vector Index: runs vector search
README.md - Query Execution → Table Manifest: reads snapshot
- Query Execution → Reader Cache: loads readers
- Connection API → Storage Providers: selects storage
README.md - Storage Providers → S3 Backend: dispatches backend
src/storage/mod.rs - Reader Cache → Cached Block Reads: fetches blocks
src/supertable/reader_cache/mod.rs - Reader Cache → Storage Providers: reads bytes
src/supertable/reader_cache/mod.rs - Reader Cache → Memory Budget: budgets residency
- Connection API → Engine Configuration: loads settings