Back to Full Curriculum
DS202Semester 43 (2-0-2)Major

Advanced SQL & NoSQL Databases

Window functions fundamentals (ROW_NUMBER, RANK, DENSE_RANK, NTILE), Aggregate window functions (SUM, AVG, COUNT over partitions), Framing clauses and sliding windows, LAG/LEAD functions for time-series analysis, FIRS...

Syllabus

01

Unit 1: Advanced SQL: Window Functions and Analytics

Window functions fundamentals (ROW_NUMBER, RANK, DENSE_RANK, NTILE), Aggregate window functions (SUM, AVG, COUNT over partitions), Framing clauses and sliding windows, LAG/LEAD functions for time-series analysis, FIRST_VALUE/LAST_VALUE and running totals, Common Table Expressions (CTEs) with recursive queries, Advanced JOIN patterns (self-joins, lateral joins).

02

Unit 2: Advanced SQL: Optimization and Performance

Query execution plans and cost estimation, Index types (B-tree, bitmap, hash, full-text), Composite indexes and covering indexes, Index maintenance and fragmentation, Query optimization strategies (rewrite rules, materialized views), EXPLAIN/ANALYZE usage, Partitioning strategies (range, list, hash partitioning), Statistics gathering and histogram usage.

03

Unit 3: Document Databases and NoSQL Fundamentals

NoSQL categories (document, key-value, column-family, graph), Document database model (MongoDB, CouchDB), Schema design for document stores (embedding vs. referencing), Query languages (MongoDB query language, JSONPath), Indexing strategies (compound, geospatial, text indexes), Aggregation pipelines and map-reduce in document stores.

04

Unit 4: Key-Value, Column-Family, and Wide-Column Stores

Key-value stores (Redis, DynamoDB) use cases and patterns (caching, sessions, leaderboards), Column-family databases (Cassandra, HBase), Wide-column model and denormalization strategies, CQL (Cassandra Query Language) vs. traditional SQL, Data modeling for high write throughput (partition keys, clustering columns), CAP theorem and consistency models.

05

Unit 5: Polyglot Persistence and Database Selection

Polyglot persistence strategies matching database types to workload patterns, SQL vs NoSQL selection criteria (ACID vs BASE, schema evolution), Hybrid architectures (SQL master + NoSQL cache/offload), NewSQL databases (CockroachDB, Yugabyte), Graph databases fundamentals (property graphs, Cypher query language), Time-series databases (InfluxDB, TimescaleDB).