Consulting

Consulting


Get the most out of your data access layer

arrow-down

Want to run your data access layer at high speeds?

  • 1
    Database Essentials
    Do you know how a relational database systems works behind the scenes?
  • 2
    JDBC
    Do you know how the JDBC Driver executes statements and how you can configure it to boost application performance?
  • 3
    JPA and Hibernate
    Adding JPA and Hibernate annotations is fairly easy. But, do you know the performance implications of each JPA or Hibernate feature your application makes heavy use of?
  • 4
    Spring project suite
    The Spring project offers a great varieties of frameworks that can help you deal with many enterprise application requirements. From Spring framework to Spring Data, Spring MVC and Spring Integration, I can help you get the most out of this framework and make sure you are using it properly.
arrow-down

Who am I?

I'm a Java Champion, and I wrote hundreds of articles about JPA and Hibernate.

On StackOverflow, I have been answering thousands of questions about JPA and Hibernate which brought me several gold badges for the Java, JPA, Hibernate and ORM tags.

Besides writing about JPA and Hibernate, I've been talking about high-performance data access frameworks at various international software conferences like Devoxx, Voxxed Days, JAX or Java Zone, and even run workshops at some of the most appreciated software conferences in the world, like Craft Conf.

Last, but not least, I'm one of the top contributors to the Hibernate ORM project.

All in all, if you want to speed up your data access layer, I'm here to help.

Work with me

Besides on-site training, I can also help you make sure you in the following areas.

System architecture


Prior to working as a Developer Advocate for the Hibernate project, I used to work as a software architect building systems ranging from electronic parts catalogs (e.g Ford North America), to logistics systems (e.g. FleetLogis), real-estate platforms (e.g. Etuovi) and data aggregation and analysis (e.g. Brückner).

I can revise your system architecture and provide tips about how you ca optimize it both for performance and cost-effectiveness.

Database design and query optimization


I can analyze your database schema and give you advice about how you can change it to better serve your application requirements.

More, I can help you analyze queries and optimize them to make sure they run as fast as possible.

JPA and Hibernate entity modeling


From basic types to relationships, mapping entities to database tables requires consideration, especially if you want to get the most out of your data access layer.

Some mappings perform better than others, and I can help you make sure you are using the right mappings based on the underlying database schema design.

Service and data layer design


Writing data access layer code is not as simple as it looks. If you want performance, you need to make sure you that:

  • you are fetching just the right amount of data,
  • you are writing data efficiently without more database roundtrips than necessary
  • statements are properly cached
  • you are using a good connection pooling solution and you monitor its usage
  • the auto-generated SQL statements are as efficient as possible
  • transaction boundaries are properly set up
  • you are not using anti-patterns like the Open Session In View, Temporary Session or redundant merging
  • you are using the right transaction isolation level and you understand the possible data anomalies that may occur 

There are many more aspects you should take into consideration when writing data access code, and I can help you make sure your data access layer runs like a cheetah.

Integration Testing


Testing is extremely important when writing software, and data access logic is no different. For testing the data access layer, using an in-memory database is a very widespread approach. However, few developers realize that you need to test against the same database engine you use in production.

I can help you make sure your tests are both effective and efficient using Docker to speed up integration testing and simplify environement configuration.

Spring framework


Spring is just awesome. From Spring Core to Spring Data, Spring Integration and MVC, it offers everything a great variety of libraries to help you develop an enterprise application. I've been using Spring since 2005, and I've enjoyed it ever since.

I can also analyze the application architecture and make sure you are using the right tools for the right job.



Contact me

Let me teach you how to run your data access layer at high speeds!


If you want to book an on-site training session, you should email me at vlad@vladmihalcea.com

and discuss it in more detail.

New Video Course