Ferry
Database-Supported Program Execution
With project Ferry we try to establish a connection between two somewhat distant shores: programming languages and database technology. Ferry explores how far we can push the idea of relational database engines that directly and seamlessly participate in program evaluation to support the super-fast execution of data-intensive programs written in a variety of (general purpose) programming languages. Ferry builds on technology developed in the context of our project Pathfinder.
Database systems as programming language co-processors
Relational database systems provide the best understood and most carefully engineered query processing infrastructure available today. Notwithstanding these data processing capabilities, RDBMSs are often operated as plain stores that do little more than reproduce stored data items for further processing outside the database host. With Ferry, instead, we aim to turn the database system into an efficient, capable, and highly scalable co-processor for your programming language’s runtime:
Talks
- Haskell Boards the Ferry. A Database Coprocessor for Haskell. (IFL 2010, Utrecht University, Sept. 3, 2010). [Slides].
Publications
Algebraic Data Types for Language-Integrated Queries.
George Giorgidze • Torsten Grust • Alexander Ulrich • Jeroen Weijers
Proceedings of the 1st International Workshop on Data Driven Functional Programming (DDFP 2013), Rome, Italy. ACM, January 2013.
A Deep Embedding of Queries into Ruby.
Proceedings of the 28th IEEE International Conference on Data Engineering (ICDE 2012), Washington, DC, USA, April 2012.
Haskell Boards the Ferry: Database-Supported Program Execution for Haskell.
George Giorgidze • Torsten Grust • Tom Schreiber • Jeroen Weijers
Revised selected papers of the 22nd International Symposium on Implementation and Application of Functional Languages (IFL 2010), Alphen aan den Rijn, Netherlands, volume 6647 of Lecture Notes in Computer Science. Springer, 2011.
Avalanche-Safe LINQ Compilation.
Torsten Grust • Jan Rittinger • Tom Schreiber
Proceedings of the VLDB Endowment, Volume 3, September 2010 (VLDB 2010), Singapore, September 2010.
Thirteen New Players in the Team: A Ferry-based LINQ to SQL Provider.
Tom Schreiber • Simone Bonetti • Torsten Grust • Manuel Mayr • Jan Rittinger
Proceedings of the VLDB Endowment, Volume 3, September 2010 (VLDB 2010), Singapore, September 2010.
Ferry: Database-Supported Program Execution.
Torsten Grust • Manuel Mayr • Jan Rittinger • Tom Schreiber
Proceedings of the 28th ACM SIGMOD Int’l Conference on Management of Data (SIGMOD 2009), Providence, Rhode Island (USA), June 2009.