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.