You are viewing content from a past/completed conference.
PRQL: A Simple, Powerful, Pipelined SQL Replacement
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:
What's the focus of your work these days?
Multi-backend full text search support for EdgeDB.
What's the motivation for your talk at QCon San Francisco 2023?
I want people to see that the relational model is more than SQL and that our data tooling is in many ways quite obsolete.
How would you describe your main persona and target audience for this session?
Data engineers and people interested in programming language design.
Is there anything specific that you'd like people to walk away with after watching your session?
I want them to understand PRQL and be able to translate simple SQL queries to PRQL.
From the same track
Session
Stream Processing
Streaming Databases: Embracing the Convergence of Stream Processing and Databases
Monday Oct 2 / 01:35PM PDT
Streaming databases have gained significant attention in recent years. From its name, it is evident that a streaming database combines the power of stream processing and databases.
Yingjun Wu
Founder and CEO @RisingWave Labs, Previously Engineer @AWS Redshift & Researcher @IBM Research Almaden
Streaming Databases: Embracing the Convergence of Stream Processing and Databases
Session
Graph Databases
LIquid: A Large-Scale Relational Graph Database
Monday Oct 2 / 10:35AM PDT
We describe LIquid(1 2), the graph database built to host LinkedIn.
Scott Meyer
Distinguished Software Engineer @LinkedIn, Creator of the Graph Database, LIquid, Metaweb/freebase Alum
LIquid: A Large-Scale Relational Graph Database
Session
Distributed Systems
Redesigning OLTP for a New Order of Magnitude
Monday Oct 2 / 02:45PM PDT
The world is becoming more transactional.
From colocation and server rental to serverless and usage-based billing. From coal to clean energy and smart meters that arbitrage solar prices 1440 times a month instead of monthly. Not to mention FedNow or the tsunami of instant payments.
Joran Greef
Founder and CEO @TigerBeetle
Redesigning OLTP for a New Order of Magnitude
Session
Data Lakes
Incremental Data Processing with Apache Hudi
Monday Oct 2 / 03:55PM PDT
Incremental Data Processing is an emerging style of data processing gathering attention recently that has the potential to deliver orders of magnitude speed and efficiency over traditional batch processing on data lakes and data warehouses.
Saketh Chintapalli
Software Engineer @Uber, Bringing Incremental Data Processing to Data Warehouse Models
Bhavani Sudha Saktheeswaran
Distributed Systems Engineer @Onehouse, Apache Hudi PMC, Ex-Moveworks, Ex-Uber, Ex-Linkedin
Incremental Data Processing with Apache Hudi
Session
Architecture
Sleeping at Scale - Delivering 10k Timers per Second per Node with Rust, Tokio, Kafka, and Scylla
Monday Oct 2 / 05:05PM PDT
As a part of OneSignal’s no-code Journeys system, we knew that we would need a way to store billions of timers.
Lily Mara
Staff Engineer @Discord, Author of "Refactoring to Rust", Previously Engineering Manager @OneSignal
Hunter Laine
Software Engineer @OneSignal
Sleeping at Scale - Delivering 10k Timers per Second per Node with Rust, Tokio, Kafka, and Scylla