Inverted Index

An inverted index is a data structure that maps each unique term to the list of documents containing that term. Instead of scanning every document to find a word, the engine looks up the word in the index and jumps directly to the matching documents.

How search engines find text fast

Think of it like the index at the back of a book. Instead of reading every page to find mentions of "telemetry," you flip to the index, find "telemetry," and see which pages reference it. An inverted index does the same thing at database scale.

This structure is what makes full-text search fast. Elasticsearch and Lucene build inverted indexes on every field by default, along with storing the original document and per-field doc values. That triple storage is excellent for search, ranking, and document retrieval, but it comes with a significant storage and ingestion cost.

The tradeoff is that inverted indexes are optimized for finding specific documents, not for scanning and aggregating across billions of rows. For analytical workloads like GROUP BY, percentiles, or trend analysis, a columnar store is a fundamentally better fit.

How Arc handles Inverted Index

Arc does not build inverted indexes. It stores data in columnar Parquet and uses vectorized execution for analytical queries. This is a deliberate architectural choice: for logs, metrics, and telemetry workloads where you aggregate more than you search, columnar storage delivers better performance at lower cost.

Arc is a SQL-native time-series database. Open Parquet on storage you own, single Go binary, production-ready in 30 seconds.