Compilation Techniques, Algorithms, and Data Structures for Efficient and Expressive Data Processing Systems