2014 – A year in review
Imagine having a tool that can automatically detect JPA and Hibernate performance issues. Hypersistence Optimizer is that tool!
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
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.
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 want to get a Hibernate and a JPA gold badge on StackOverflow.
I want to read more books than I did in 2014.