Module 7 · Beyond the relational core · Activity 26 of 32

Lecture 20: ORM and DryadLINQ

Lecture notes · Carlo Curino

Readings and discussion questions

Read:

Yu, Yuan, et al. “DryadLINQ: A System for General-Purpose Distributed Data-Parallel Computing Using a High-Level Language.” OSDI, 2008. (PDF)

DryadLINQ is a programming language for manipulating structured data in a distributed setting. It provides a collection of SQL-like constructs that are well-integrated into C# (with a common type and object system), and compiles down to a graph of operators spread across a distributed network of machines in a way similar to how distributed databases work.

As you read the paper, consider the following questions:

  1. What are the advantages of a query language that is integrated into the programming language? Are there disadvantages?
  2. Dryad execution plans look a lot like database query plans, but are different in some ways — in particular, operators can have multiple outputs; what are the implications of this from a query execution perspective?

Assigned by MIT for this session; links go to the papers where MIT linked them. Books: Readings in Database Systems (the Red Book, 4th ed.) and Ramakrishnan & Gehrke.

MIT OpenCourseWare, 6.830 Database Systems, Fall 2010, Prof. Carlo Curino and Prof. Michael Stonebraker. Licensed CC BY-NC-SA 4.0. Reorganized into modules by Sequence 106. No lecture videos were published for this course; each session is notes plus readings. Source · CC BY-NC-SA 4.0