[et_pb_section fb_built=”1″ _builder_version=”3.0.47″ custom_padding=”0|0px|0|0px|false|false”][et_pb_row _builder_version=”3.17.6″][et_pb_column type=”4_4″ _builder_version=”3.0.47″][et_pb_post_title featured_image=”off” _builder_version=”3.18.7″ title_font=”||||||||”][/et_pb_post_title][/et_pb_column][/et_pb_row][et_pb_row make_equal=”on” module_class_1=”vertical-center” module_class_2=”vertical-center” _builder_version=”3.11.1″][et_pb_column type=”2_3″ _builder_version=”3.0.47″][et_pb_text _builder_version=”3.19″ background_size=”initial” background_position=”top_left” background_repeat=”repeat” custom_padding=”|||”]

Vlad Mihalcea is a Java Champion, CEO of Hypersistence, working as a Developer Advocate for the Hibernate project. He is passionate about enterprise systems, data access frameworks, and distributed systems. He wrote hundreds of articles about Hibernate on his blog , and he has a gold badge for the Hibernate, Java, and JPA tags on StackOverflow. He’s also the author of the High-Performance Java Persistence¬†book video courses.

[/et_pb_text][/et_pb_column][et_pb_column type=”1_3″ _builder_version=”3.0.47″][et_pb_image src=”https://lh3.googleusercontent.com/w5rpDcZAaX5oqSyJnsd2jKGmw3mRAD0d_rg1a97-Mbpw1Fr-Gav8G3ZdIec02IZmSIVYPQQtOwlGzYzcsr7q-iIXkckIhMHO53trnWtwZNVwodGGvX41dxihK9pbuNNYJA83AACT2jhXgbIz1Py62qccihgTdSTaAALRfkwZI-UaCIKpQwtdDxJimMcLj_I4r5s0GI2dl2ao6AyOYlPXeKRO82N4FK63T4pxD1hayGs01XqrJ8NEYbOFrU3qD3u5wYknlpbiX8-tejwoyww5sjZdAqt-Ycamlqhcu5qwjesvuxhmQCSeKTI3LvQFtgU0936KMugYfYRTLkFY0g9l5-Ziz2t0AefY354OtnnRgv6In4arFNhmOgnAefrb8YCPiIbQDxo5NQsDFwxA4hJZ0QuKNGcDZV-f3UHBVTN8L9cZWV5UBdL42KMMraLREMbEqLy-HTBe8w0kLyiYHVXcwIJQiImbOmF4MTIuNOcz2mcUGlVcerOydS04ieFLX4kue4u8ecFd5WWwjmuWMKhJaBLM0r0ZAdZMamwKmnDnzhBd-GIs7GcpSca6gveG3sfMCM3lH3O89IDyQdvCVmPDZyFynkVkh2a4PtMwBp5kBFXxOErZwYzMuBARp8fQd6kFXQeFW0b8bMkBSE4YrknhBtt5=w1000-no-tmp.jpg” url_new_window=”on” align=”right” _builder_version=”3.19″ border_radii=”on|100%|100%|100%|100%” custom_margin=”0px|||”][/et_pb_image][/et_pb_column][/et_pb_row][et_pb_row _builder_version=”3.9″][et_pb_column type=”4_4″ _builder_version=”3.0.47″][et_pb_text _builder_version=”3.21.4″]

Transactions and Concurrency Control are very of paramount importance when it comes to enterprise systems data integrity.

However, this topic is very tough since you have to understand the inner workings of the database system, its concurrency control design choices (e.g. 2PL, MVCC), transaction isolation levels and locking schemes.

In this presentation, I’m going to explain what data anomalies can happen depending on the transaction isolation level, with references to Oracle, SQL Server, PostgreSQL, and MySQL.

I will also demonstrate that database transactions are not enough, especially for multi-request web flows. For this reason, I’m going to present multiple application-level transaction patterns based on both optimistic and pessimistic locking mechanisms.

Last, I’m going to talk about Concurrency Control strategies used in the Hibernate second-level caching mechanism, which can boost performance without compromising strong consistency.

[/et_pb_text][et_pb_code _builder_version=”3.21.4″][/et_pb_code][et_pb_button button_url=”https://romania.voxxeddays.com/bucharest/2019-03-20/#speakers” url_new_window=”on” button_text=”BACK TO VDBUH2019″ button_alignment=”center” _builder_version=”3.21.4″ custom_button=”on” button_font=”||||||||” button_use_icon=”off” box_shadow_style=”preset1″ button_text_color_hover=”#ffffff” button_bg_color_hover=”#18b9f0″ button_text_size__hover_enabled=”off” button_one_text_size__hover_enabled=”off” button_two_text_size__hover_enabled=”off” button_text_color__hover_enabled=”on” button_text_color__hover=”#ffffff” button_one_text_color__hover_enabled=”off” button_two_text_color__hover_enabled=”off” button_border_width__hover_enabled=”off” button_one_border_width__hover_enabled=”off” button_two_border_width__hover_enabled=”off” button_border_color__hover_enabled=”off” button_one_border_color__hover_enabled=”off” button_two_border_color__hover_enabled=”off” button_border_radius__hover_enabled=”off” button_one_border_radius__hover_enabled=”off” button_two_border_radius__hover_enabled=”off” button_letter_spacing__hover_enabled=”off” button_one_letter_spacing__hover_enabled=”off” button_two_letter_spacing__hover_enabled=”off” button_bg_color__hover_enabled=”on” button_bg_color__hover=”#18b9f0″ button_one_bg_color__hover_enabled=”off” button_two_bg_color__hover_enabled=”off” global_module=”3760″][/et_pb_button][/et_pb_column][/et_pb_row][/et_pb_section]