Solving PostgreSQL wicked problems
It's more than 25 years since PostgreSQL was developed by the Open Source community. Through this time, we can track how the PostgreSQL community did a brilliant job adding new features and improving existing things, making PostgreSQL one of the most popular DBMSes in the world.
At the same time, we can see a set of wicked problems in PostgreSQL design, which came from Berkley or were added on very early development stages. Those problems are very annoying for users (especially for Enterprises) and aren't resolved for decades: bloat, xid wraparound, write-amplification, and more. Therefore, although PostgreSQL looks stronger than ever, it has a hidden weakness of the vast internal technical debt. To continue the successful way of PostgreSQL in the global market, we have to deal with this debt.
Thankfully, the key feature of PostgreSQL is extensibility, which was an essential part of the initial Postgres design. Extensibility scales the development: it lets multiple teams work independently on improving different aspects of PostgreSQL. And it became much more robust with table access methods API in PostgreSQL 12.
Miraculously, with just a small patch to PostgreSQL core extending this API, it appears possible to solve wicked PostgreSQL problems in a new engine made within an extension. This talk covers how the new engine is integrated with PostgreSQL Core and solves the wicked PostgreSQL problems. Additionally, this new engine implements storage optimization using modern persistent memory technology resulting in a significant performance gain!