Foundations For Big Data Systems And Programming