2014 – A year in review
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!
In the beginning of 2014, I took the initial version of my time series MongoDB aggregation example and pass it through a multistage optimization process, from indexing to advanced data-modelling:
- MongoDB time series: Introducing the aggregation framework
- A beginner’s guide to MongoDB performance turbocharging
- MongoDB and the fine art of data modelling
In February, I starting developing FlexyPool, the ultimate connection pool sizing utility. This was a great opportunity to dig into Queuing Theory and the following articles capture some of my findings:
- The anatomy of Connection Pooling
- FlexyPool, reactive connection pooling
- Professional connection pool sizing
After finishing FlexyPool, I decided investing in a Data knowledge stack, and so I started working on my Hibernate Master Class training material.
The Hibernate Master Class allowed me to dig into a great variety of JPA/Hibernate features, some of which are lesser known:
- A beginner’s guide to JPA/Hibernate entity state transitions
- Hibernate Identity, Sequence and Table (Sequence) generator
- Hibernate hidden gem: the pooled-lo optimizer
- A beginner’s guide to JPA/Hibernate flush strategies
- The dark side of Hibernate AUTO flush
- The anatomy of Hibernate dirty checking
- EAGER fetching is a code smell
Almost at the time, I started answering Hibernate StackOverfow questions, and I accumulated a reputation on 8918 points.
In August, I was elected One of August’s Most Interesting Developers by Jelastic.
If you wonder what happened with my open-source Java Transactions Book, you can take a look on the Concurrency Control section of the Hibernate Master Class:
- A beginner’s guide to database locking and the lost update phenomena
- Preventing lost updates in long conversations
- Logical vs physical clock optimistic locking
- Optimistic locking auto-retry
- Hibernate application-level repeatable reads
- Hibernate collections optimistic locking
- An entity modelling strategy for scaling optimistic locking
- The downside of version-less optimistic locking
- A beginner’s guide to transaction isolation levels in enterprise Java
I decided to include my knowledge about transactions in the Master Class material since you can’t separate transactions out of the run-time environment anyway.
In September my blog’s just turned one.
Although I didn’t win the Most interesting developer competition, I’m proud I managed to finish on the 3rd place.
2014 most viewed articles
My top 5 posts were:
|Hibernate Identity, Sequence and Table (Sequence) generator||5650|
|Time to break free from the SQL-92 mindset||4725|
|MongoDB and the fine art of data modelling||4251|
|The anatomy of Connection Pooling||3347|
|MongoDB 2.6 is $out||3297|
Plans for 2015
I plan on finishing the Hibernate Master Class training and further complete the Data knowledge stack with other database access related technologies.
I want to get a Hibernate and a JPA gold badge on StackOverflow.
I want to read more books than I did in 2014.