It’s not every day that a development engineer from Australia is invited to join a developer panel at one of the world’s most important PostgreSQL conferences. PGCon 2017 is set to draw some of the brightest minds in the global PostgreSQL community to Ottawa University in Canada at the end of May. With his extensive experience in database technologies and his ongoing involvement with the PostgreSQL community, Haribabu Kommi is an impressive inclusion for the event. He took time out from his busy schedule to talk about his expectations for PGCon 2017 and the future of PostgreSQL.
How are you using PostgreSQL in your current role at Fujitsu?
Fujitsu is committed to PostgreSQL, because it is an extremely reliable, secure and robust open-source database platform. It forms the basis of our enterprise-grade database solution – FUJITSU Enterprise Postgres. As a senior software development engineer, I am always looking to develop new features, particularly those that will appeal to large enterprises with high-volume transaction requirements. We then contribute these features back to the PostgreSQL community in the hope our work may benefit other PostgreSQL users.
What role do you see for companies like Fujitsu in promoting or enhancing PostgreSQL?
Organizations like Fujitsu have very large customer bases, and run mission-critical applications. In our experience, it is extremely rare for customers to adopt PostgreSQL without the assurance and support from a vendor like Fujitsu.
So in order to promote adoption of PostgreSQL, Fujitsu and other large ICT providers, in Japan especially, have formed an enterprise consortium. We want to make sure that PostgreSQL becomes the database of choice for more businesses, expanding the user base. This will further strengthen the PostgreSQL community, which in turn is able to continue developing an even better database system.
What initially attracted you to PostgreSQL?
About eight years ago, I was working for Huawei, where we developed an in-memory database with simple SQL support (whereas PostgreSQL is a disk-based database with advanced SQL support). Our need for better SQL support prompted us to consider other options. We chose PostgreSQL because it was the most advanced open-source database available, and it has a very good licence for commercial purposes. We integrated it with our in-memory engine and were able to develop some new features. We then contacted the PostgreSQL community to share our ideas.
“Having access to multiple angles on PostgreSQL use cases is incredibly helpful.”
What is it like working with the PostgreSQL community?
Working with the PostgreSQL community is very good. It comprises people from many different companies from around the world, all using PostgreSQL with various technologies. This means the community can provide a diverse range of use cases, such as how particular features of PostgreSQL can be useful, or if you intend to do things a certain way, you can discover what sort of problems it may have caused for other customers. Having access to multiple angles on PostgreSQL use cases is incredibly helpful.
How did you first approach the community?
One of my senior leaders at Huawei was the point of contact with the PostgreSQL community. I used to support him by writing the code, fixing the comments and reviewing some of the features. Over time, I became familiar with how the PostgreSQL community works, how they respond to queries and what standards need to be followed when you provide code. My first actual contribution involved a bug fix, which took two days to devise.
What are some of the major contributions you have made since joining the community?
I developed the parallel aggregation work prototype patch, and floating point support for parallel aggregation. I also produced the EUI-64 MAC address support that is useful for IPV6 adoption. Another contribution was the view to display the contents of pg_hba.conf, which allows DBAs to look into the authentication rules without reloading and checking the problems. They will find out if the rules are correct or not in the view itself. And I also developed support of executing COPY command on view with INSTEAD INSERT triggers. The triggers are fed the rows from COPY.
What developments in PostgreSQL have you witnessed since the last PGCon?
There have been several major developments, especially in PostgreSQL 10. The first is Partitioning. Previously, it was used in support with the inheritance mechanism, which was a performance borderline. This time it is a new list and range partitioning, which is entirely different.
Then there is Logical Replication. Previously if you wanted to replicate the data, you had to replicate the entire database instance. Now you can replicate a single table or a single database, which is a good thing.
Parallel Enhancements is another impressive development. The Parallel framework has enhanced the many plans available, such as index, index-only, bitmap etc. This will improve database performance by two to four times.
And there is a new authentication method called SCRAM. Prior to this development, people used passwords with MD5 hashing to authenticate with the server. SCRAM is a better authentication mechanism, because people cannot determine your password.
These are just some of the many new developments in PostgreSQL 10.
“PGCon is very important because it covers the general direction of PostgreSQL, as well as assessing the problems we face in its development.”
How does it feel to be the only panellist at the PGCon 2017 developer conference from Fujitsu, or even Australia?
It feels very good. This is my first developer conference so I am really excited. At my previous company, it was my senior leader who would attend. Any of the topics that were discussed were published on a Wiki page after the conference.
PGCon is very important because it covers the general direction of PostgreSQL, as well as assessing the problems we face in its development. So attendees will discuss and determine the best steps on how to proceed, and in which direction, particularly for the next version – PostgreSQL 11, which is scheduled for release in September 2018. The conference in May is an opportunity for attendees to propose new features.
What do you hope to achieve at this year’s conference?
I mainly want to discuss pluggable storage. Currently the storage engine that is available is row-based in PostgreSQL. I want to enhance that to support multiple storage formats, with the help of pluggable storage. If you have a pluggable framework, you can add columnar storage or in-memory storage. Basically, anyone who wishes to use a different format can add one of their own.
Who do you look forward to seeing while you are there?
I’m looking forward to seeing Tom Lane (US), Robert Haas (US), Amit Kapila (India), Kyotaro Horiguchi (Japan) and some of the main contributors to the community.
Where do you see PostgreSQL heading in the next 12 months?
PostgreSQL is moving towards seamless integration with other databases. There will also be enhancements in vertical scalability and horizontal scalability. Most of the business cases are supported with good performance.
If you are interested in any of the topics Hari has discussed or have any questions about PostgreSQL, please contact us directly.