Index
Pinot Index UML

The key points of Pinot Index System
- IndexCreator build the immutable index; IndexReaderFactory create the reader for immutable index
- MutableXXXIndex inherit MutableIndex (write api) and IndexReader (read api)
- ForwardIndex: Given a docID (rowID), return the raw value or the dictionaryID of the raw value depending on the encoding method you set up for that column. Each columns must have a ForwardIndex
- Pinot’s InvertedIndex (column value to the bitmap), JsonIndex, TextIndex, GeoIndex are the general concept of index in database world, i.e. given a column value (raw value or dictionaryID of raw value), return the docID.
- Pinot create mutable / immutable index per column per segment.
Pinot Segment Commit Protocol
This pauseless ingsetion design provides a clear sequence diagram of the interaction among pinot controller / servers, segments’ IdeaStatate and segment metadata.