Pinot Note

Posted by Shane on December 31, 2023

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.