Notes adapted from selected chapters of Designing Data-Intensive Application
Foundation of Data Systems
Distributed Data
Batch Processing And MapReduce
Stream Processing