The final pattern in the field guide: databases that got faster by getting narrower. Each of these three engines takes one workload the general-purpose models handle awkwardly, assumes it's the only workload, and rebuilds storage around that assumption. The recurring move: exploit a structural property of the data that a general-purpose engine can't assume.
Metrics, sensor readings, price ticks: append-only, timestamp-ordered, mostly-recent queries, and: the exploitable property: adjacent values barely differ. CPU at 14:00:00 is 47.2%; at 14:00:10 it's 47.3%. General engines store each point as a full row; time-series engines store deltas of deltas:
One CPU gauge, 10-second resolution, one day = 8,640 points. Apply each layer and watch the bytes fall.
These are Facebook's Gorilla paper numbers (the basis of Prometheus's TSDB): timestamps at fixed intervals compress to ~1 bit each (delta-of-delta = 0), and near-identical floats XOR to mostly zeros. Add the lifecycle rules no general engine has: retention (drop raw data after 15 days: deletion by dropping whole time-chunks, free, versus the tombstone pain of Lesson 4) and rollups (keep 5-min averages for a year). Species: Prometheus (pull-based metrics + PromQL), InfluxDB, TimescaleDB (time-series as PostgreSQL extension: the incumbent absorbing again), Amazon Timestream: and your CloudWatch bills are this lesson, productized.
Every index so far maps key → location. Text search needs the opposite: word → every document containing it: an inverted index, the structure that makes "find 'quorum' among a billion docs" a lookup instead of a crawl:
A tiny corpus of incident reports. Search it with a LIKE-style scan, then through the inverted index. Try timeout, replica, or database timeout.
The index is built at write time: each document is analyzed: tokenized, lowercased, stemmed ("timeouts"→"timeout"), stop-words dropped: and its words posted to the index. That's also why search engines rank naturally: the posting lists carry frequencies, so scoring (TF-IDF, BM25: rare-in-corpus + frequent-in-doc = relevant) falls out of the same structure. The trade: writes become expensive analysis pipelines, index rebuilds loom over schema changes, and: critically: search engines relax durability and consistency (near-real-time visibility, no transactions), which is why Elasticsearch is almost always a secondary store, fed by CDC from the system of record (replication course, lesson 5), never the source of truth.
The newest specialist. An embedding model turns anything: text, image, user behavior: into a point in high-dimensional space where distance ≈ semantic similarity. The database's one job: given a query point, find its nearest neighbors, fast:
Support tickets embedded into 2-D (real systems: 768–3072 dims). Click anywhere to place a query: the store returns the 3 nearest. Notice "can't sign in" finding "login broken" with zero shared words.
Keyword search (previous lab) matches vocabulary; vector search matches meaning: and modern retrieval (including the RAG pattern behind LLM apps) runs both and merges ("hybrid search"). The engineering problem hiding inside: exact nearest-neighbor over a billion 1536-dim vectors is a full scan, so real engines use approximate indexes (HNSW's navigable small-world graphs: Lesson 5's data structure, repurposed; or IVF's cluster-then-probe) trading a point of recall for 1000× speed. Species: Pinecone, Weaviate, Qdrant, Milvus: and, on cue, the incumbent absorbing the challenger: pgvector puts HNSW inside PostgreSQL, next to your ACID tables.