High-Performance Java Persistence Newsletter, Issue 34

Imagine having a tool that can automatically detect JPA and Hibernate performance issues. Wouldn’t that be just awesome?

Well, Hypersistence Optimizer is that tool! And it works with Spring Boot, Spring Framework, Jakarta EE, Java EE, Quarkus, or Play Framework.

So, enjoy spending your time on the things you love rather than fixing performance issues in your production system on a Saturday night!

Introduction

Welcome to a new issue of the High-Performance Java Persistence Newsletter in which we share articles, videos, workshops, and StackOverflow answers that are very relevant to any developer who interacts with a database system using Java.

Articles

The pick of this edition is this article which provides 10 tips you could use to improve your SQL queries. Although the article was written for PostgreSQL, the list is very useful for other databases as well.

One of the best Twitter threads I’ve read lately is this one by the Shopify Engineering team, which unravels the massive scaling capabilities of their modular monolith architecture. I enjoyed this thread because it shows that any well-thought architecture can scale way beyond what many would believe it’s possible. For instance, their MySQL database scaled to 11 million queries per second, which delivered 11 TB per second of read I/O. Amazing, right?

Another very useful article is this one which shows you how PostgreSQL table inheritance works and when it’s useful to use it.

If you are using PostgreSQL and want to learn more about its indexing capabilities, then check out this free online course provided by Percona.

It’s common knowledge that we should avoid using fetching all columns using the * wildcard. However, if you want a deep dive analysis into why you should avoid the * wildcard, then you should read this article written by Tanel Põder. So, for performance reasons, you should use custom projections that fetch only the data that’s needed by the associated business logic.

Best Tweets

Here are the best tweets I posted since the last newsletter:

Project Releases

Microsoft released version 9.4.1 of the SQL Server JDBC Driver fixing 2 issues.

The Hibernate team released several versions of their popular data access frameworks:

  • Hibernate ORM 6.0.0.Beta3, which could be the last beta version of the 6.0 branch. We are definitely very excited about this new branch since it brings many enhancements to the most popular Java data access framework.
  • Hibernate ORM 5.6.2 changes the default CLOB type for PostgreSQL, from text to oid.
  • Hibernate Reactive 1.1.1 provides support for Hibernate ORM 5.6.2 and upgrades the reactive driver dependencies.

Get in touch with my latest articles!

StackOverflow Answers

The following StackOverflow answers have been trending over the past two weeks:

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.