Database Engineering & Data Systems Topics
Database design patterns, optimization, scaling strategies, storage technologies, data warehousing, and operational database management. Covers database selection criteria, query optimization, replication strategies, distributed databases, backup and recovery, and performance tuning at database layer. Distinct from Systems Architecture (which addresses service-level distribution) and Data Science (which addresses analytical approaches).
Database Selection and Tradeoffs
Evaluate and justify choices of persistence technologies by comparing relational databases with document and other non relational stores. Discuss schema design and evolution, the tradeoffs between structured schemas and flexible documents, transactional guarantees versus eventual consistency, indexing and query patterns, and normalization versus denormalization. Explain operational and scaling approaches such as read replicas, sharding, partitioning, backups, migrations, and monitoring. Describe integration patterns with caches and search engines and give concrete examples mapping use cases to technologies, for example using a relational database for booking transactions and a document store or search index for user generated content and free text search.
Search and Indexing at Scale
Designing search systems using technologies like Elasticsearch or similar. Understanding indexing strategies, query optimization, and ranking algorithms. Designing relevance scoring and filtering mechanisms.