How Modern SQL Databases Come up with Algorithms that You Would Have Never Dreamed Of by Lukas Eder
Devoxx3 HN recommenders · recommended in 3 months, 2019-2023
55K views · 9 years ago · talk · evergreen
Lukas Eder's Devoxx talk on how modern cost-based SQL optimizers rewrite and plan queries in ways developers would not expect. It argues that declarative SQL, used well, can run complex queries very fast.
HN commenters recommend it to developers unfamiliar with how much leverage and intelligence there is in a SQL database.
55:06Modern SQL: A lot has changed since SQL-92 by Markus Winand
Devoxx
6K views • 8 years ago
39:00SQLite: Protégé of PostgreSQL
Andrea Ross
8K views • 12 years ago
51:02An Introduction to SQLite
Google TechTalks
80K views • 19 years ago
1:06:24Rich Hickey: Deconstructing the Database
InfoQ
106K views • 14 years ago
54:52Introduction to NoSQL • Martin Fowler • GOTO 2012
GOTO Conferences
1M views • 13 years ago
42:31"Datafun: a functional query language" by Michael Arntzenius
Strange Loop Conference
9K views • 9 years ago
54:25Event Sourcing • Greg Young • GOTO 2014
GOTO Conferences
102K views • 11 years ago
52:54Rust at speed — building a fast concurrent database
Jon Gjengset
225K views • 7 years ago
1:08:17How We've Scaled Dropbox
Stanford
372K views • 14 years ago
52:29"I See What You Mean" by Peter Alvaro
Strange Loop Conference
59K views • 11 years ago
59:56AWS re:Invent 2018: Amazon DynamoDB Deep Dive: Advanced Design Patterns for DynamoDB (DAT401)
Amazon Web Services
468K views • 7 years ago
54:54Breakout Session Presented by Dan Robinson of Heap at PGConf Silicon Valley 2015
Citus Data
14K views • 10 years ago
1:04:30What is in a Lucene index? Adrien Grand, Software Engineer, Elasticsearch
LuceneSolrRevolution
80K views • 12 years ago
59:13AWS re:Invent 2019: [REPEAT 1] Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1)
AWS Events
115K views • 6 years ago
48:04Greg Young — A Decade of DDD, CQRS, Event Sourcing
Domain-Driven Design Europe
190K views • 10 years ago
1:00:31BetrFS: A Right-Optimized Write-Optimized File System
Microsoft Research
3K views • 10 years ago
1:03:48Greg Young - CQRS and Event Sourcing - Code on the Beach 2014
Code on the Beach
170K views • 12 years ago
1:08:01DuckDB – The SQLite for Analytics (Mark Raasveldt, CWI)
CMU Database Group
28K views • 6 years ago
56:49Escape from the Heap: Low-Level Programming in Common Lisp
Arthur Gleckler
17K views • 10 years ago
1:01:45Four Languages from Forty Years Ago - Scott Wlaschin
NDC Conferences
33K views • 8 years ago
6 comments from Hacker News
> This may be more intuitive for some developers, especially those that don't use SQL all the time. I tend to recommend my famous talk to such developers: ▶ this video
>Totally agree. Lukas Eder has some nice presentations about it. Thanks for the shout out! For the record, that's probably the referenced talk: ▶ this video
I would suggest that learning SQL (the syntax) isn't the crux--it's just syntax you learn over time based off need, just like learning python--what you need is motivation. I'd suggest watching this video to get a flavor of how much leverage using the database can give you: ▶ this video If the database can make you more productive and more efficient and make your life easier, you now have incentive to use it more. Another thing that took my use of databases to the next level, was using PostGraphile ( link ). It takes a PostgreSQL database and provides a GraphQL endpoint for it. Use that as your only backend. You can use PostgreSQL row-level security to do access control (who can see or modify what). You can use PL/pgSQL to write business logic for higher level calculations. You can use constraints and triggers to do data validation. Each of these areas has an initially steep learning curve, and wonky syntax, but once you get over them you can implement many backends extremely quickly with them. And using PostGraphile where you only have SQL available (well, you can also add javascript extensions, but try to limit those) will be a great forcing function that will require you to scour stackoverflow and the excellent PostgreSQL docs to learn many of the useful corners of SQL you'd never learn otherwise.
I use to think that too. This is a good talk about how smart SQL query engines are. It is an hour though ▶ this video
> further, afaik there's no assignment nor iteration in SQL That was until CTEs were introduced in SQL:1999 > it's not a programming language at all. It's a.. query language. The two are not mutually exclusive. SQL is used to tell a computer what to do, and it is very powerful at it: ▶ this video
This talk ("How Modern SQL Databases Come up with Algorithms that You Would Have Never Dreamed Of by Lukas Eder" ▶ this video ) is not particularly gripping, but he does claim that modern database engines will ignore indexes if they estimate it will be faster to read all the data than it is to access the index first then read the relevant data. And that Oracle can have multiple execution plans and switch between them mid-query if the first one isn't working out as expected. Could this be a rare case of the mythical sufficiently smart compiler having more information at runtime than the programmer has at coding time, and that if you could hint which index to use, the trade off would be that you'd instead be troubleshooting queries which end up slower because of it?