Skip to main content
Where your data lives is chosen by the connect URI:
db = infino.connect("memory://")              # in-process, ephemeral
db = infino.connect("./data")                 # local disk (durable)
db = infino.connect("s3://bucket/prefix")     # object storage (durable)
Data is stored as standard Apache Parquet at that location, so anything that reads Parquet can read it.
memory:// is in-process and ephemeral. update and delete require durable storage (a path or s3:// URI).

Object-storage configuration

For S3-compatible stores, pass credentials and a local read cache:
db = infino.connect(
    "s3://bucket/prefix",
    endpoint="https://s3.us-east-1.amazonaws.com",
    region="us-east-1",
    access_key="...",
    secret_key="...",
    cache_dir="/var/cache/infino",   # local disk cache for remote-backed tables
    cache_budget_bytes=2_000_000_000,
)
Credentials can also come from the standard AWS environment. The cache keeps hot superfiles on local disk so warm queries don’t re-fetch from object storage.

Connect options

Option (Python / Node.js / Rust)Description
endpoint, region, keys / with_s3_endpoint(...)S3-compatible endpoint, region, and credentials
cache_dir / cacheDir / with_cache_dirlocal disk-cache directory for remote-backed tables
cache_budget_bytes / cacheBudgetBytes / with_cache_budget_bytesdisk-cache budget, in bytes
cold_fetch_mode / coldFetchMode / with_cold_fetch_modehow cold-cache misses are serviced

Limitations

  • memory:// is ephemeral and can’t be mutated. update/delete need a path or s3:// URI.
  • Object-storage reads are cached locally. Cold queries fetch from the store; size the cache (cache_budget_bytes) for your working set.

See also

Last modified on June 29, 2026