Browsed by
Year: 2024

jOOQ tip: don’t convert JSONB to a String

jOOQ tip: don’t convert JSONB to a String

A few weeks ago, while investigating possible performance improvements for Kestra‘s JDBC backend, I noticed that a method we were using to map an entity to be persisted in the database into its JSONB representation was taking up a lot of time in our CPU profiles. In the following flame graph, we can see that the JdbcQueue.map() method accounts for more than 21% of the samples and the Repository.map() method for 3.2% of the samples of a CPU profile obtained…

Read More Read More

Java 23 : what’s new?

Java 23 : what’s new?

Now that Java 23 is features complete (Rampdown Phase Two at the day of writing), it’s time to walk through all the functionalities that bring to us, developers, this new version. This article is part of a series on what’s new on the last versions of Java, for those who wants to read the others, here are the links: Java 22, Java 21, Java 20, Java 19, Java 18, Java 17, Java 16, Java 15, Java 14, Java 13, Java…

Read More Read More

Designing a multi-tenant SaaS

Designing a multi-tenant SaaS

This article is based on my talk Designing a multi-tenant SaaS given at Cloud Nord on October 12, 2023. Kestra is a highly scalable data scheduling and orchestration platform that creates, executes, schedules and monitors millions of complex pipelines. For an introduction to Kestra, you can read my article on the subject. One of the recent Kestra evolutions I was responsible for was multitenancy support, this article will tell you about the design that went into adding this functionality. Multitenancy…

Read More Read More

Java 22: what’s new?

Java 22: what’s new?

Now that Java 22 is features complete (Rampdown Phase One at the day of writing), it’s time to walk through all the functionalities that bring to us, developers, this new version. This article is part of a series on what’s new on the last versions of Java, for those who wants to read the others, here are the links: Java 21, Java 20, Java 19, Java 18, Java 17, Java 16, Java 15, Java 14, Java 13, Java 12, Java…

Read More Read More