A Universal Query Engine in Rust (with Predrag Gruevski)

A Universal Query Engine in Rust (with Predrag Gruevski)

6.168 Lượt nghe
A Universal Query Engine in Rust (with Predrag Gruevski)
Trustfall is a library based on a simple question - what happens if we can query absolutely anything? If you could join REST APIs and databases with filesystems and Dockerfiles? It’s possible in theory because those are all just datasources. Predrag Gruevski is trying to make it easy by building a universal query engine, with pluggable datasources, all in Rust. This week we dive into Trustfall to figure out how it works. How do you model nearly anything as a datasource? How do you make it easy to extend? And what does it take to optimize a query that’s going to be spread out over multiple systems and potentially multiple servers? Questions, questions, questions - all about the act of asking our systems questions. – Trustfall Source: https://github.com/obi1kenobi/trustfall Cargo Semver Checks: https://crates.io/crates/cargo-semver-checks How to Query Almost Everything: https://predr.ag/querying/ SemVer In Rust (talk): https://predr.ag/blog/semver-in-rust-tooling-breakage-and-edge-cases/#cargo-semver-checks-lints-are-database-queries-in-disguise Support Developer Voices on Patreon: https://patreon.com/DeveloperVoices Support Developer Voices on YouTube: https://www.youtube.com/@DeveloperVoices/join Kris on Mastodon: http://mastodon.social/@krisajenkins Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/ Kris on Twitter: https://twitter.com/krisajenkins -- 0:00 Intro 4:08 Querying All The Things 7:39 Defining Query Efficiency 13:13 Resolve Queries Against Remote Systems? 19:49 cargo semver checks 33:06 Linting as a kind of Query 37:09 Writing a Different Query Language 40:09 Are There Tricky Data Sources To Query? 49:37 Optimizing Queries 1:03:11 Querying For Production Bugs 1:08:16 How Do You Extend Trustfall For New Datasources? 1:14:44 Outro