GrowlerDB
An open-source retrieval engine for full-text, vector, and hybrid search over your Apache Iceberg data. GrowlerDB keeps a fast, derived index locally and returns matching (cached) fields and primary keys (coordinates). The data lake remains your single source of truth.
The cycle
GrowlerDB operates on a three-step cycle:
- Index: Point GrowlerDB at an Apache Iceberg table. A connector streams table changes to build a local index.
- Search: Run lexical, semantic, or hybrid queries against the index. The query returns documents including cached fields, primary key coordinates, and scores.
- Hydrate: Fetch the full, authoritative rows from your Iceberg catalog using the returned coordinates.
Traditional search engines store a complete, separate copy of your documents. GrowlerDB stores only what is needed to search, using primary keys to bridge the index and the data lake. With cached fields, GrowlerDB can serve paginated result lists on its own.
Retrieval options
When retrieving results, you can choose from three paths depending on your latency and data needs:
- Search - Cached fields: You can configure the index to store specific columns. These values return with the search hits immediately, requiring no Iceberg lookups.
- Search - Inline hydration: You can request inline hydration by setting
hydrate: truein your search body. The engine collapses the search and lookup steps, returning the authoritative row directly in the search response. - Get - Full record: For the authoritative details, your client fetches the full row by key using
POST /v1/keys:get. This is typically used when a user opens a specific document.
Choose your path
Pick the path for your role:
- Application developers: Learn how to write search queries, configure local embeddings, and use the REST/gRPC APIs. Start with Getting started and the Query language.
- Platform engineers: Deploy and manage the distributed stack, configure OIDC/JWT security, and monitor services. Start with Install and run modes and Deployment.
- Data engineers: Define index schemas, connect external tables, and set up the Spark connector. Start with Configuration and Connecting your own Iceberg table.
Open source & commercial
GrowlerDB is open source under AGPL-3.0, free for self-hosted production use up to 3 nodes. Need more nodes, support with an SLA, or to embed GrowlerDB in a closed product? See License & support.