PgConf.Russia 2016 talks

PostgreSQL and JDBC: striving for high performance

Vladimir Sitnikov

Vladimir Sitnikov is currently working on performance and scalability of NetCracker OSS. Telecommunication companies world wide use NetCracker OSS for enterprise and network automation. Vladimir is keen on Java and database performance: Oracle, PostgreSQL. He’s one of the committers in the PostgreSQL JDBC driver project, and architect of many performance improvements.

Common Java wisdom is to use PreparedStatements and Batch DML in order to achieve top performance. It turns out one cannot just blindly follow the best practices. In order to get high throughput, you need to understand the specifics of the database in question, and the content of the data.

In the talk we will see how proper usage of PostgreSQL protocol enables high performance operation while fetching and storing the data. We will see how trivial application and/or JDBC driver code changes can result in dramatic performance improvements. We will examine how server-side prepared statements should be activated, and discuss pitfalls of using server-prepared statements.