๐Ÿ”Ž Search & Other Datastores

Search (OpenSearch / Elasticsearch)

  • Inverted index, analyzers, tokenization, BM25 relevance
  • Mappings, shards & replicas, refresh interval (near real-time)
  • Queries: match, bool, filters vs queries, aggregations, facets
  • Keeping search in sync: dual writes (bad) vs CDC/events (good); reindexing with aliases
  • Hybrid search (BM25 + vectors) โ†’ RAG

NoSQL landscape (know when and why)

StoreModelPick when
DynamoDBKV/wide-column, single-table designAWS, predictable access patterns, massive scale
Cassandra/ScyllaDBWide-column, leaderlessWrite-heavy, multi-DC, time series
MongoDBDocumentFlexible schema, rapid iteration
ClickHouseColumnar OLAPAnalytics, logs, events
Neo4jGraphRelationship-heavy queries
TimescaleDB/InfluxDBTime seriesMetrics, IoT
Vector DBs (pgvector, Qdrant, Milvus, Weaviate)VectorsSemantic search, RAG

๐Ÿงช Labs (๐ŸŸข warm-up โ†’ ๐ŸŸก core โ†’ ๐Ÿ”ด hard โ†’ โšซ boss)

  • ๐ŸŸก An OpenSearch run-search projection from Kafka (rebuildable)
  • ๐Ÿ”ด BM25 from scratch in Go vs Postgres FTS vs OpenSearch on the same corpus
  • โšซ A DynamoDB single-table design for Orbit runs (on paper + a local DynamoDB)

๐Ÿง  Cognitive tasks

  • Trade-off debate: pgvector vs a dedicated vector DB for 10M chunks

๐Ÿ›ฐ๏ธ Orbit integration

  • Run search, hybrid retrieval, and ClickHouse analytics

Go deeper

โš™๏ธ LLM Inference Internals (HNSW)