Interview with Percona
Any views or opinions represented or expressed in this interview belong solely to the interviewee and do not neccessarily represent those of the PGConf.EU 2023 organization, PostgreSQL Europe, or the wider PostgreSQL community, unless explicitly stated.
- In which areas do you expect PostgreSQL to grow most and how does your company contribute to and benefit from that growth?
-
At Percona, we anticipate the expanded use (and related growth) of PostgreSQL in situations and within organizations that demand high availability, scalability, analytics, data processing, and security — basically, all the areas in which enterprise-grade relational databases must excel. We, of course, believe open source provides the most cost-effective route and that open source provides the most creative freedom. Conversely, we believe that proprietary databases do not provide enough value to justify the cost.
Relatedly, our legacy has been built on open source database performance expertise. Percona experts contribute to the development of features like pg_pool and postgres_fdw, and we offer pg_stat_monitor for advanced query analytics. Our open source database expertise — combined with Percona Monitoring and Management (PMM), our database monitoring tool — helps users drill down into problematic queries and troubleshoot them.
The development of PostgreSQL and continued growth of its use is mutually beneficial — we’re able to map our customers’ use cases to new performance features and they get enhanced database performance.
- What is your PostgreSQL centered product and what makes it unique?
-
PostgreSQL software provides a solid foundation for innovative development. But because the community version of PostgreSQL comes as "batteries not included," the entire ecosystem must be built manually when users opt for PostgreSQL. That includes choosing, configuring, and maintaining extensions for production setup if you’re to run PostgreSQL at peak performance.
You can spend the time and money to assemble an in-house team of experts, or you can opt for vendor-created forks of PostgreSQL and become locked in. But there’s another option: Get help from a company that offers open source software with enterprise-grade solutions. That’s what Percona offers.
Percona for PostgreSQL is a suite of open source software, tools, and expert-level support and services for spinning up reliable production clusters without the overhead of the PostgreSQL configuration and maintenance, or the restrictions of vendor lock-in. We’re unique in that we package not only the database and extensions around it, we also provide a product for database monitoring, and we provide automation in the form of k8s operators. It’s a ready-to-use package with no limitations.
- Which of your company's contributions to the PostgreSQL Project (code/community/conference) are you most proud of?
-
We are the developers behind the aforementioned pg_stat_monitor, a query performance monitoring tool for PostgreSQL. Pg_stat_monitor collects performance statistics and provides query performance insights in a single view and graphically in histogram. These insights allow database users to understand query origins, execution, planning statistics and details, query information, and metadata. This significantly improves observability, enabling users to debug and tune query performance.
We are also core contributors to pg_pool-II (also previously mentioned), which can help you manage and optimize the performance of your PostgreSQL database cluster. Additionally, Percona has delivered several key patches and improvements to the PostgreSQL core.
We’re especially proud that we’ve been building highly available (HA) PostgreSQL for more than 15 years. Powered by streaming replication, we provide architectures that ensure an HA level of up to 99.999% (“five nines”). We make those architectures available so that businesses can use them to create their own architectures. We offer on-demand support as a company builds, or we can build an architecture for an organization completely.
- What is the most annoying PostgreSQL problem, and do you have plans or ideas to fix it?
-
One of the most challenging issues with PostgreSQL is its multiversion concurrency control (MVCC) architecture. MVCC in PostgreSQL stores the multiple versions of the complete row to satisfy snapshot requirements (instead of applying the change delta), which leads to table bloating, especially in write-intensive environments. PostgreSQL provides a Vacuum command to clean up dead tuples, but that also has so many shortcomings that it’s easier to get it wrong than to get it right.
One way Percona mitigates this problem is by creating tools and utilities that effectively monitor the table age and bloating, and suggest appropriate actions. Percona Monitoring and Management (PMM) and pg_gather are a couple examples of tools in which Percona is investing efforts to help achieve such mitigation.
Percona also is addressing the MVCC shortcoming — and attempting to tackle the problem at its core — by collaborating with other members of the open source community and groups working toward enhancing the PostgreSQL storage layer. OrioleDB is one such project on which we’re hoping to collaborate. OrioleDB uses an UNDO log technique to handle MVCC and does not have such issues.
- What feature is missing in PostgreSQL and how would it help if added?
-
One of the most extensively discussed features in the PostgreSQL community is data-at-rest encryption for PostgreSQL, commonly referred to as TDE (transparent data encryption). At Percona, we have experienced firsthand how important TDE is to customers; it’s a top requirement. Several PostgreSQL providers like EDB and CyberTech include data-at-rest support to their flavor of PostgreSQL.
Because Percona is an advocate of true open source software and is dedicated to making such software available and superior, we are investing in TDE implementation for PostgreSQL that adheres with, and advances, that open source commitment.