![Extending Postgres for High-Performance Analytics (with Philippe Noël) image](https://media.zencastr.com/cdn-cgi/image/width=640,quality=85/image-files/619e48a9649c44004c5a44e8/b48b05c0-4f7b-45fc-a5cd-6c27c1406f87.png)
PostgreSQL is an incredible general-purpose database, but it can’t do everything. Every design decision is a tradeoff, and inevitably some of those tradeoffs get fundamentally baked into the way it’s built. Take storage for instance - Postgres tables are row-oriented; great for row-by-row access, but when it comes to analytics, it can’t compete with a dedicated OLAP database that uses column-oriented storage. Or can it?
Joining me this week is Philippe Noël of ParadeDB, who’s going to take us on a tour of Postgres’ extension mechanism, from creating custom functions and indexes to Rust code that changes the way Postgres stores data on disk. In his journey to bring Elasticsearch’s strengths to Postgres, he’s gone all the way down to raw datafiles and back through the optimiser to teach a venerable old dog some new data-access tricks.
–
ParadeDB: https://paradedb.com
ParadeDB on Twitter: https://twitter.com/paradedb
ParadeDB on Github: https://github.com/paradedb/paradedb
pgrx (Postgres with Rust): https://github.com/pgcentralfoundation/pgrx
Tantivy (Rust FTS library): https://github.com/quickwit-oss/tantivy
PgMQ (Queues in Postgres): https://tembo.io/blog/introducing-pgmq
Apache Datafusion: https://datafusion.apache.org/
Lucene: https://lucene.apache.org/
Kris on Mastodon: http://mastodon.social/@krisajenkins
Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/
Kris on Twitter: https://twitter.com/krisajenkins
![NATS & Jetstream: The System Communication Toolkit (with Jeremy Saenz) image](https://media.zencastr.com/cdn-cgi/image/width=90,quality=85/image-files/619e48a9649c44004c5a44e8/b48b05c0-4f7b-45fc-a5cd-6c27c1406f87.png)
![Cuis Smalltalk and the History of Computing’s Future (with Juan Vuletich) image](https://media.zencastr.com/cdn-cgi/image/width=90,quality=85/image-files/619e48a9649c44004c5a44e8/b48b05c0-4f7b-45fc-a5cd-6c27c1406f87.png)
![The Inko Programming Language, and Life as a Language Designer (with Yorick Peterse) image](https://media.zencastr.com/cdn-cgi/image/width=90,quality=85/image-files/619e48a9649c44004c5a44e8/b48b05c0-4f7b-45fc-a5cd-6c27c1406f87.png)
![ByteWax: Rust's Research Meets Python's Practicalities (with Dan Herrera) image](https://media.zencastr.com/cdn-cgi/image/width=90,quality=85/image-files/619e48a9649c44004c5a44e8/b48b05c0-4f7b-45fc-a5cd-6c27c1406f87.png)
![Mojo Lang - Tomorrow's High Performance Python? (with Chris Lattner) image](https://media.zencastr.com/cdn-cgi/image/width=90,quality=85/image-files/619e48a9649c44004c5a44e8/b48b05c0-4f7b-45fc-a5cd-6c27c1406f87.png)
![How Apache Pinot Achieves 200,000 Queries per Second (with Tim Berglund) image](https://media.zencastr.com/cdn-cgi/image/width=90,quality=85/image-files/619e48a9649c44004c5a44e8/b48b05c0-4f7b-45fc-a5cd-6c27c1406f87.png)
![Neovim: Creating, Curating and Customising your Ideal Editor (with TJ DeVries) image](https://media.zencastr.com/cdn-cgi/image/width=90,quality=85/image-files/619e48a9649c44004c5a44e8/b48b05c0-4f7b-45fc-a5cd-6c27c1406f87.png)
![Automate Your Way to Better Code: Advanced Property Testing (with Oskar Wickström) image](https://media.zencastr.com/cdn-cgi/image/width=90,quality=85/image-files/619e48a9649c44004c5a44e8/b48b05c0-4f7b-45fc-a5cd-6c27c1406f87.png)
![If You Want Better Code, Do It For Me (with Jonathan Schneider) image](https://media.zencastr.com/cdn-cgi/image/width=90,quality=85/image-files/619e48a9649c44004c5a44e8/b48b05c0-4f7b-45fc-a5cd-6c27c1406f87.png)
![Implementing Hardware-Friendly Databases (with DuckDB co-creator, Hannes Mühleisen) image](https://media.zencastr.com/cdn-cgi/image/width=90,quality=85/image-files/619e48a9649c44004c5a44e8/b48b05c0-4f7b-45fc-a5cd-6c27c1406f87.png)