PRQL: A Simple, Powerful, Pipelined SQL Replacement

QCon San Francisco 2023

Session Data

PRQL: A Simple, Powerful, Pipelined SQL Replacement

Monday Oct 2 / 11:45AM PDT, Seacliff ABC

Abstract

Most databases use SQL as the interface to access relational data. Because of that, we associate SQL to be the language of relational algebra. But its affinity with the English language and unclear and inconsistent semantics leave a lot of space for improvements. A deep dive into the language highlights many examples of convoluted or confusing language design, which we just got used to.

The solution we propose is PRQL, which does away with all but the relation data model. It uses a minimal set of syntactic features to construct pipelines of functions. These functions transform relations from the tables where they are stored into the desired result. This simplifies the mental model needed to wrangle with data, while improving the ergonomics of writing code with features of modern programming languages.

This new language can be compiled to most SQL dialects, which makes it portable and reusable, important factors of OLAP. Decoupling the language from the database also increases the speed of the development cycle by failing early and providing clear error messages.

Interview

Multi-backend full text search support for EdgeDB.

I want people to see that the relational model is more than SQL and that our data tooling is in many ways quite obsolete.

Data engineers and people interested in programming language design.

I want them to understand PRQL and be able to translate simple SQL queries to PRQL.

Topics

Data Compilers Languages
76% senior dev or higher
1:11 speaker ratio
60+ practitioners

QCon San Francisco 2023 is a three day conference for senior software engineers, architects and team leads. An international program committee of working engineers selects every session. Patterns and practices, not products and pitches.

Share

From the same track

Monday 2 October

10:35 Ballroom A Session Graph Databases LIquid: A Large-Scale Relational Graph Database Scott Meyer Distinguished Software Engineer @LinkedIn, Creator of the Graph Database, LIquid, Metaweb/freebase Alum 11:45 Seacliff ABC Session Data PRQL: A Simple, Powerful, Pipelined SQL Replacement Aljaž Mur Eržen Compiler Developer @EdgeDB & PRQL Maintainer 13:35 Ballroom A Session Stream Processing Streaming Databases: Embracing the Convergence of Stream Processing and Databases Yingjun Wu Founder and CEO @RisingWave Labs, Previously Engineer @AWS Redshift & Researcher @IBM Research Almaden 14:45 Ballroom A Session Distributed Systems Redesigning OLTP for a New Order of Magnitude Joran Greef Founder and CEO @TigerBeetle 15:55 Ballroom A Session Data Lakes Incremental Data Processing with Apache Hudi Saketh Chintapalli, Bhavani Sudha Saktheeswaran 17:05 Ballroom A Session Architecture Sleeping at Scale - Delivering 10k Timers per Second per Node with Rust, Tokio, Kafka, and Scylla Lily Mara, Hunter Laine