The verdict on index choice

Despite everything covered today, the B+Tree remains almost always the default choice — over tries, over R-trees, and definitely over skip lists 1:01:30. Filters, however, will keep reappearing all semester 1:01:30.

Topics deliberately deferred to other courses

  • Inverted indexes in depth — tokenizers, language modeling: covered in LTI 11-642 1:01:50.
  • Multi-dimensional data structures — R-trees, quad-trees, KD-trees. Used for geospatial work: given a point in 2D space, which polygon does it fall in; shortest-path lookups in mapping systems 1:01:50, 1:02:18.
    • Covered in 15-826 Multimedia Databases, taught by Christos Faloutsos 1:02:33.
    • These handle multi-dimensional data far better than a plain B+Tree 1:02:33.

Next lecture

How to make indexes thread-safe — concurrency has been glossed over the entire semester up to this point 1:02:50.

Quick reference — everything covered today

StructureAnswersMutablePrimary use
Bloom filterMembership (probabilistic) 4:01Insert onlySkip unnecessary lookups
Counting BloomMembership + delete 8:30YesSame, with removal
Cuckoo filterMembership via fingerprints 9:51YesRedis filter type
SuRFMembership + range 10:50NoLSM SSTables
Skip listOrdered point/range 14:27YesIn-memory MemTables
Trie / radix treeOrdered point/range, O(k) 30:50YesB+Tree replacement (ART)
Inverted indexKeyword / content 43:57Yes (via pending list)Full-text search
Vector indexSemantic similarity (ANN) 56:15VariesEmbedding search