SlideShare a Scribd company logo
1 of 77
Download to read offline
@vlad_mihalcea vladmihalcea.com
High-Performance
Hibernate
VLAD MIHALCEA
@vlad_mihalcea vladmihalcea.com
About me
vladmihalcea.com
@vlad_mihalcea vladmihalcea.com
Performance Facts
β€œMore than half of application performance
bottlenecks originate in the database”
AppDynamics - http://www.appdynamics.com/database/
@vlad_mihalcea vladmihalcea.com
Google Ranking
β€œLike us, our users place a lot of value in speed –
that's why we've decided to take site speed
into account in our search rankings”
https://webmasters.googleblog.com/2010/04/using-site-speed-in-web-search-ranking.html
@vlad_mihalcea vladmihalcea.com
Performance and Revenue
β€œIt has been reported that every 100ms of latency
costs Amazon 1% of profit”
http://radar.oreilly.com/2008/08/radar-theme-web-ops.html
@vlad_mihalcea vladmihalcea.com
Agenda
β€’ Performance and Response Time
β€’ Connection providers
β€’ Identifier generators
β€’ Relationships
β€’ Batching
β€’ Fetching
β€’ Caching
@vlad_mihalcea vladmihalcea.com
The anatomy of a database transaction
@vlad_mihalcea vladmihalcea.com
Response Time
β€’ connection acquisition time
β€’ statement submit time
β€’ statement execution time
β€’ result set fetching time
β€’ idle time prior to releasing database connection
𝑇 = 𝑑 π‘Žπ‘π‘ž + 𝑑 π‘Ÿπ‘’π‘ž + 𝑑 𝑒π‘₯𝑒𝑐 + 𝑑 π‘Ÿπ‘’π‘  + 𝑑𝑖𝑑𝑙𝑒
@vlad_mihalcea vladmihalcea.com
Agenda
β€’ Performance and Response Time
β€’ Connection providers
β€’ Identifier generators
β€’ Relationships
β€’ Batching
β€’ Fetching
β€’ Caching
@vlad_mihalcea vladmihalcea.com
Connection Management
Metric DB_A (ms) DB_B (ms) DB_C (ms) DB_D (ms) HikariCP (ms)
min 11.174 5.441 24.468 0.860 0.001230
max 129.400 26.110 74.634 74.313 1.014051
mean 13.829 6.477 28.910 1.590 0.003458
p99 20.432 9.944 54.952 3.022 0.010263
𝑇 = 𝑑 π‘Žπ‘π‘ž + 𝑑 π‘Ÿπ‘’π‘ž + 𝑑 𝑒π‘₯𝑒𝑐 + 𝑑 π‘Ÿπ‘’π‘  + 𝑑𝑖𝑑𝑙𝑒
@vlad_mihalcea vladmihalcea.com
Connection Providers
@vlad_mihalcea vladmihalcea.com
DataSourceConnectionProvider
@vlad_mihalcea vladmihalcea.com
Connection Provisioning
@vlad_mihalcea vladmihalcea.com
FlexyPool
β€’ concurrent connections
β€’ concurrent connection requests
β€’ connection acquisition time
β€’ connection lease time histogram
β€’ maximum pool size
β€’ overflow pool size
β€’ retries attempts
β€’ total connection acquisition time
β€’ Java EE
β€’ Bitronix / Atomikos
β€’ Apache DBCP / DBCP2
β€’ C3P0
β€’ BoneCP
β€’ HikariCP
β€’ Tomcat CP
β€’ Vibur DBCP
https://github.com/vladmihalcea/flexy-pool
@vlad_mihalcea vladmihalcea.com
FlexyPool – Concurrent connection requests
1
28
55
82
109
136
163
190
217
244
271
298
325
352
379
406
433
460
487
514
541
568
595
622
649
676
703
730
757
784
811
838
865
892
919
946
973
1000
1027
0
2
4
6
8
10
12
Sample time (Index Γ— 15s)
Connectionrequests
max mean p50 p95 p99
@vlad_mihalcea vladmihalcea.com
FlexyPool – Pool size growth
1
28
55
82
109
136
163
190
217
244
271
298
325
352
379
406
433
460
487
514
541
568
595
622
649
676
703
730
757
784
811
838
865
892
919
946
973
1000
1027
0
1
2
3
4
5
6
Sample time (Index Γ— 15s)
Maxpoolsize
max mean p50 p95 p99
@vlad_mihalcea vladmihalcea.com
FlexyPool – Connection acquisition time
1
28
55
82
109
136
163
190
217
244
271
298
325
352
379
406
433
460
487
514
541
568
595
622
649
676
703
730
757
784
811
838
865
892
919
946
973
1000
1027
0
500
1000
1500
2000
2500
3000
3500
Sample time (Index Γ— 15s)
Connectionacquisitiontime(ms)
max mean p50 p95 p99
@vlad_mihalcea vladmihalcea.com
FlexyPool – Connection lease time
1
29
57
85
113
141
169
197
225
253
281
309
337
365
393
421
449
477
505
533
561
589
617
645
673
701
729
757
785
813
841
869
897
925
953
981
1009
1037
0
5000
10000
15000
20000
25000
30000
35000
40000
Sample time (Index Γ— 15s)
Connectionleasetime(ms)
max mean p50 p95 p99
@vlad_mihalcea vladmihalcea.com
Connection acquisition
@vlad_mihalcea vladmihalcea.com
Resource-local connection acquisition
@vlad_mihalcea vladmihalcea.com
Immediate connection acquisition issue
@PersistenceContext
private EntityManager entityManager;
@Transactional
public void importForecasts(String dataFilePath) {
Document forecastXmlDocument = readXmlDocument( dataFilePath );
List<Forecast> forecasts = parseForecasts(forecastXmlDocument);
for(Forecast forecast : forecasts) {
entityManager.persist( forecast );
}
}
@vlad_mihalcea vladmihalcea.com
Resource-local delay connection acquisition
<property
name="hibernate.connection.provider_disables_autocommit"
value="true"
/>
β€’ Hibernate 5.2.10 introduced resource-local delay connection
acquisition
β€’ Requires the DataSource to disable auto-commit
@vlad_mihalcea vladmihalcea.com
Resource-local connection acquisition
@vlad_mihalcea vladmihalcea.com
Agenda
β€’ Performance and Response Time
β€’ Connection providers
β€’ Identifier generators
β€’ Relationships
β€’ Batching
β€’ Fetching
β€’ Caching
@vlad_mihalcea vladmihalcea.com
JPA Identifier Generators
𝑇 = 𝑑 π‘Žπ‘π‘ž + 𝑑 π‘Ÿπ‘’π‘ž + 𝑑 𝑒π‘₯𝑒𝑐 + 𝑑 π‘Ÿπ‘’π‘  + 𝑑𝑖𝑑𝑙𝑒
β€’ IDENTITY
β€’ SEQUENCE
β€’ TABLE
β€’ AUTO
@vlad_mihalcea vladmihalcea.com
IDENTITY
β€’ In Hibernate, IDENTITY generator disables JDBC batch inserts
β€’ MySQL 8.0 does not offer support for database SEQUENCE
β€’ MariaDB 10.3 adds support for SEQUENCE objects
@vlad_mihalcea vladmihalcea.com
SEQUENCE
β€’ Oracle, PostgreSQL, and even SQL Server 2012
β€’ May use roundtrip optimizers: hi/lo, pooled, pooled-lo
β€’ By default, Hibernate 5 uses the enhanced sequence generators
<property
name="hibernate.id.new_generator_mappings"
value="true"/>
@vlad_mihalcea vladmihalcea.com
The pooled optimizer
@Id
@GeneratedValue(
strategy = GenerationType.SEQUENCE,
generator = "pooled"
)
@SequenceGenerator(
name = "pooled",
allocationSize = 3
)
private Long id;
@vlad_mihalcea vladmihalcea.com
The pooled optimizer
@vlad_mihalcea vladmihalcea.com
The pooled optimizer
@vlad_mihalcea vladmihalcea.com
The pooled optimizer
@vlad_mihalcea vladmihalcea.com
The pooled optimizer
@vlad_mihalcea vladmihalcea.com
The pooled optimizer
@vlad_mihalcea vladmihalcea.com
SEQUENCE - Pooled optimizer (50 rows)
1 5 10 50
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
Sequence increment size
Time(ms)
@vlad_mihalcea vladmihalcea.com
TABLE
β€’ Uses row-level locks and a separate transaction/connection
β€’ May use roundtrip optimizers: hi/lo, pooled, pooled-lo
β€’ By default, Hibernate 5 uses the enhanced sequence generators
<property
name="hibernate.id.new_generator_mappings"
value="true"/>
@vlad_mihalcea vladmihalcea.com
TABLE - Pooled optimizer (50 rows)
1 5 10 50
0
0.5
1
1.5
2
2.5
3
Table increment size
Time(ms)
@vlad_mihalcea vladmihalcea.com
IDENTITY vs TABLE (100 rows)
β€’ IDENTITY makes no use of batch inserts
β€’ TABLE generator using a pooled optimizer with an increment size of
100
@vlad_mihalcea vladmihalcea.com
IDENTITY vs TABLE (100 rows)
1 2 4 8 16
0
500
1000
1500
2000
2500
Thread count
Time(ms)
Identity Table
@vlad_mihalcea vladmihalcea.com
AUTO: IDENTITY vs TABLE?
β€’ Prior to Hibernate 5, AUTO would resolve to IDENTITY if the
database supports this feature
β€’ Hibernate 5 uses TABLE generator if the database does not support
sequences
β€’ So, pay attention when using MySQL or MariaDB (prior to 10.3)
@vlad_mihalcea vladmihalcea.com
SEQUENCE vs TABLE (100 rows)
β€’ Both benefiting from JDBC batch inserts
β€’ Both using a pooled optimizer with an increment size of 100
@vlad_mihalcea vladmihalcea.com
SEQUENCE vs TABLE (100 rows)
1 2 4 8 16
0
200
400
600
800
1000
1200
Thread count
Time(ms)
Sequence Table
@vlad_mihalcea vladmihalcea.com
Agenda
β€’ Performance and Response Time
β€’ Connection providers
β€’ Identifier generators
β€’ Relationships
β€’ Batching
β€’ Fetching
β€’ Caching
@vlad_mihalcea vladmihalcea.com
Relationships
𝑇 = 𝑑 π‘Žπ‘π‘ž + 𝑑 π‘Ÿπ‘’π‘ž + 𝑑 𝑒π‘₯𝑒𝑐 + 𝑑 π‘Ÿπ‘’π‘  + 𝑑𝑖𝑑𝑙𝑒
@vlad_mihalcea vladmihalcea.com
Agenda
β€’ Performance and Response Time
β€’ Connection providers
β€’ Identifier generators
β€’ Relationships
β€’ Batching
β€’ Fetching
β€’ Caching
@vlad_mihalcea vladmihalcea.com
Batching
𝑇 = 𝑑 π‘Žπ‘π‘ž + 𝑑 π‘Ÿπ‘’π‘ž + 𝑑 𝑒π‘₯𝑒𝑐 + 𝑑 π‘Ÿπ‘’π‘  + 𝑑𝑖𝑑𝑙𝑒
β€’ SessionFactory setting
β€’ Session-level configuration since Hibernate 5.2
@vlad_mihalcea vladmihalcea.com
Batching - SessionFactory
<property
name="hibernate.jdbc.batch_size"
value="5"/>
β€’ Switching from non-batching to batching
@vlad_mihalcea vladmihalcea.com
Batching - Session
doInJPA( this::entityManagerFactory, entityManager -> {
entityManager.unwrap( Session.class )
.setJdbcBatchSize( 10 );
for ( long i = 0; i < entityCount; ++i ) {
Person = new Person( i, String.format( "Person %d", i ) );
entityManager.persist( person );
if ( i % batchSize == 0 ) {
entityManager.flush();
entityManager.clear();
}
}
} );
@vlad_mihalcea vladmihalcea.com
Batching
DEBUG [main]: n.t.d.l.SLF4JQueryLoggingListener –
Name:DATA_SOURCE_PROXY,
Time:1,
Success:True,
Type:Prepared,
Batch:True,
QuerySize:1,
BatchSize:10,
Query: ["insert into Person (name, id) values (?, ?)"],
Params:[
(Person 1, 1), (Person 2, 2), (Person 3, 3), (Person 4, 4), (Person 5, 5),
(Person 6, 6), (Person 7, 7), (Person 8, 8), (Person 9, 9), (Person 10, 10)
]
@vlad_mihalcea vladmihalcea.com
Insert PreparedStatement batching (5k rows)
1 10 20 30 40 50 60 70 80 90 100 1000
0
200
400
600
800
1000
1200
1400
1600
Batch size
Time(ms)
DB_A DB_B DB_C DB_D
@vlad_mihalcea vladmihalcea.com
Update PreparedStatement batching (5k rows)
1 10 20 30 40 50 60 70 80 90 100 1000
0
100
200
300
400
500
600
700
Batch size
Time(ms)
DB_A DB_B DB_C DB_D
@vlad_mihalcea vladmihalcea.com
Delete PreparedStatement batching (5k rows)
1 10 20 30 40 50 60 70 80 90 100 1000
0
200
400
600
800
1000
1200
Batch size
Time(ms)
DB_A DB_B DB_C DB_D
@vlad_mihalcea vladmihalcea.com
Batching - Cascading
<property
name="hibernate.order_inserts"
value="true"/>
<property
name="hibernate.order_updates"
value="true"/>
@vlad_mihalcea vladmihalcea.com
Batching – @Version
<property
name="hibernate.jdbc.batch_versioned_data"
value="true"/>
β€’ Enabled by default in Hibernate 5
β€’ Disabled in Hibernate 3.x, 4.x, and for Oracle 8i, 9i, and 10g
dialects
@vlad_mihalcea vladmihalcea.com
Agenda
β€’ Performance and Response Time
β€’ Connection providers
β€’ Identifier generators
β€’ Relationships
β€’ Batching
β€’ Fetching
β€’ Caching
@vlad_mihalcea vladmihalcea.com
Fetching
𝑇 = 𝑑 π‘Žπ‘π‘ž + 𝑑 π‘Ÿπ‘’π‘ž + 𝑑 𝑒π‘₯𝑒𝑐 + 𝑑 π‘Ÿπ‘’π‘  + 𝑑𝑖𝑑𝑙𝑒
β€’ JDBC fetch size
β€’ JDBC ResultSet size
β€’ DTO vs Entity queries
β€’ Fetching relationships
@vlad_mihalcea vladmihalcea.com
Fetching – JDBC Fetch Size
β€’ Oracle – Default fetch size is 10
β€’ SQL Server – Adaptive buffering
β€’ PostgreSQL, MySQL – Fetch the whole ResultSet at once
β€’ SessionFactory setting:
<property
name="hibernate.jdbc.fetch_size"
value="100"/>
@vlad_mihalcea vladmihalcea.com
Fetching - JDBC fetch size
β€’ Query-level hint:
List<PostCommentSummary> summaries =
entityManager.createQuery(
"select new PostCommentSummary( " +
" p.id, p.title, c.review ) " +
"from PostComment c " +
"join c.post p")
.setHint(QueryHints.HINT_FETCH_SIZE, fetchSize)
.getResultList();
@vlad_mihalcea vladmihalcea.com
Fetching – JDBC Fetch Size (10k rows)
1 10 100 1000 10000
0
100
200
300
400
500
600
Fetch size
Time(ms)
DB_A DB_B DB_C DB_D
@vlad_mihalcea vladmihalcea.com
Fetching – Pagination
β€’ JPA / Hibernate API works for both entity and native queries
List<PostCommentSummary> summaries =
entityManager.createQuery(
"select new PostCommentSummary( " +
" p.id, p.title, c.review ) " +
"from PostComment c " +
"join c.post p")
.setFirstResult(pageStart)
.setMaxResults(pageSize)
.getResultList();
@vlad_mihalcea vladmihalcea.com
Fetching – 100k vs 100 rows
Fetch all Fetch limit
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
Time(ms)
DB_A DB_B DB_C DB_D
@vlad_mihalcea vladmihalcea.com
Fetching – Pagination
β€’ Hibernate uses OFFSET pagination
β€’ Keyset pagination scales better when navigating large result sets
β€’ http://use-the-index-luke.com/no-offset
@vlad_mihalcea vladmihalcea.com
Fetching – Entity vs Projection
β€’ Selecting all columns vs a custom projection
SELECT *
FROM post_comment pc
INNER JOIN post p ON p.id = pc.post_id
INNER JOIN post_details pd ON p.id = pd.id
SELECT pc.version
FROM post_comment pc
INNER JOIN post p ON p.id = pc.post_id
INNER JOIN post_details pd ON p.id = pd.id
@vlad_mihalcea vladmihalcea.com
Fetching – Entity vs Projection
All columns Custom projection
0
5
10
15
20
25
30
Time(ms)
DB_A DB_B DB_C DB_D
@vlad_mihalcea vladmihalcea.com
Fetching – DTO Projections
β€’ Read-only views
β€’ Tree structures (Recursive CTE)
β€’ Paginated Tables
β€’ Analytics (Window functions)
@vlad_mihalcea vladmihalcea.com
Fetching – Entity Queries
β€’ Writing data
β€’ Web flows / Multi-request logical transactions
β€’ Application-level repeatable reads
β€’ Detached entities / PersistenceContextType.EXTENDED
β€’ Optimistic concurrency control (e.g. version, dirty properties)
@vlad_mihalcea vladmihalcea.com
Fetching – Relationships
Association FetchType
@ManyToOne EAGER
@OneToOne EAGER
@OneToMany LAZY
@ManyToMany LAZY
β€’ LAZY associations can be fetched eagerly
β€’ EAGER associations cannot be fetched lazily
@vlad_mihalcea vladmihalcea.com
Fetching – Best Practices
β€’ Default to FetchType.LAZY
β€’ Fetch directive in JPQL/Criteria API queries
β€’ Entity graphs / @FetchProfile
β€’ LazyInitializationException
@vlad_mihalcea vladmihalcea.com
Fetching – Open Session in View Anti-Pattern
@vlad_mihalcea vladmihalcea.com
Fetching – Temporary Session Anti-Pattern
β€’ β€œBand aid” for LazyInitializationException
β€’ One temporary Session/Connection for every lazily fetched
association
<property
name="hibernate.enable_lazy_load_no_trans"
value="true"/>
@vlad_mihalcea vladmihalcea.com
Agenda
β€’ Performance and Response Time
β€’ Connection providers
β€’ Identifier generators
β€’ Relationships
β€’ Batching
β€’ Fetching
β€’ Caching
@vlad_mihalcea vladmihalcea.com
Caching
𝑇 = 𝑑 π‘Žπ‘π‘ž + 𝑑 π‘Ÿπ‘’π‘ž + 𝑑 𝑒π‘₯𝑒𝑐 + 𝑑 π‘Ÿπ‘’π‘  + 𝑑𝑖𝑑𝑙𝑒
@vlad_mihalcea vladmihalcea.com
Caching – Why 2nd - Level Caching
@vlad_mihalcea vladmihalcea.com
Caching – Why 2nd - Level Caching
β€œThere are only two hard things in Computer
Science: cache invalidation and naming things.”
Phil Karlton
@vlad_mihalcea vladmihalcea.com
Caching – Strategies
Strategy Cache type Particularity
READ_ONLY READ-THROUGH Immutable
NONSTRICT_READ_WRITE READ-THROUGH Invalidation/
Inconsistency risk
READ_WRITE WRITE-THROUGH Soft Locks
TRANSACTIONAL WRITE-THROUGH JTA
@vlad_mihalcea vladmihalcea.com
Caching – Collection Cache
β€’ It complement entity caching
β€’ It stores only entity identifiers
β€’ Read-Through
β€’ Invalidation-based (Consistency over Performance)
@vlad_mihalcea vladmihalcea.com
Caching – Aggregates
@vlad_mihalcea vladmihalcea.com
Questions and Answers
𝑇 = 𝑑 π‘Žπ‘π‘ž + 𝑑 π‘Ÿπ‘’π‘ž + 𝑑 𝑒π‘₯𝑒𝑐 + 𝑑 π‘Ÿπ‘’π‘  + 𝑑𝑖𝑑𝑙𝑒
β€’ Performance and Response Time
β€’ Connection providers
β€’ Identifier generators
β€’ Relationships
β€’ Batching
β€’ Fetching
β€’ Caching

More Related Content

What's hot

MySQL shell and It's utilities - Praveen GR (Mydbops Team)
MySQL shell and It's utilities - Praveen GR (Mydbops Team)MySQL shell and It's utilities - Praveen GR (Mydbops Team)
MySQL shell and It's utilities - Praveen GR (Mydbops Team)Mydbops
Β 
Groovy concurrency
Groovy concurrencyGroovy concurrency
Groovy concurrencyAlex Miller
Β 
MariaDB Optimizer
MariaDB OptimizerMariaDB Optimizer
MariaDB OptimizerJongJin Lee
Β 
Building better Node.js applications on MariaDB
Building better Node.js applications on MariaDBBuilding better Node.js applications on MariaDB
Building better Node.js applications on MariaDBMariaDB plc
Β 
Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricks
Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricksQuery Optimization with MySQL 5.7 and MariaDB 10: Even newer tricks
Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricksJaime Crespo
Β 
What is new in PostgreSQL 14?
What is new in PostgreSQL 14?What is new in PostgreSQL 14?
What is new in PostgreSQL 14?Mydbops
Β 
Introduction to Mongodb execution plan and optimizer
Introduction to Mongodb execution plan and optimizerIntroduction to Mongodb execution plan and optimizer
Introduction to Mongodb execution plan and optimizerMydbops
Β 
Connect 2016-Move Your XPages Applications to the Fast Lane
Connect 2016-Move Your XPages Applications to the Fast LaneConnect 2016-Move Your XPages Applications to the Fast Lane
Connect 2016-Move Your XPages Applications to the Fast LaneHoward Greenberg
Β 
Tips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC ApplicationsTips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC ApplicationsSarvesh Kushwaha
Β 
20151010 my sq-landjavav2a
20151010 my sq-landjavav2a20151010 my sq-landjavav2a
20151010 my sq-landjavav2aIvan Ma
Β 
Asynchronous web apps with the Play Framework 2.0
Asynchronous web apps with the Play Framework 2.0Asynchronous web apps with the Play Framework 2.0
Asynchronous web apps with the Play Framework 2.0Oscar Renalias
Β 
Mysql server query path
Mysql server query pathMysql server query path
Mysql server query pathWenjie Wu
Β 
Parallel Query in AWS Aurora MySQL
Parallel Query in AWS Aurora MySQLParallel Query in AWS Aurora MySQL
Parallel Query in AWS Aurora MySQLMydbops
Β 
MySQL 5.7 + JSON
MySQL 5.7 + JSONMySQL 5.7 + JSON
MySQL 5.7 + JSONMorgan Tocker
Β 
Short intro to scala and the play framework
Short intro to scala and the play frameworkShort intro to scala and the play framework
Short intro to scala and the play frameworkFelipe
Β 
Play + scala + reactive mongo
Play + scala + reactive mongoPlay + scala + reactive mongo
Play + scala + reactive mongoMax Kremer
Β 
Go faster with_native_compilation Part-2
Go faster with_native_compilation Part-2Go faster with_native_compilation Part-2
Go faster with_native_compilation Part-2Rajeev Rastogi (KRR)
Β 
10 performance and scalability secrets of ASP.NET websites
10 performance and scalability secrets of ASP.NET websites10 performance and scalability secrets of ASP.NET websites
10 performance and scalability secrets of ASP.NET websitesoazabir
Β 
MySQL Performance Schema in 20 Minutes
 MySQL Performance Schema in 20 Minutes MySQL Performance Schema in 20 Minutes
MySQL Performance Schema in 20 MinutesSveta Smirnova
Β 

What's hot (20)

MySQL shell and It's utilities - Praveen GR (Mydbops Team)
MySQL shell and It's utilities - Praveen GR (Mydbops Team)MySQL shell and It's utilities - Praveen GR (Mydbops Team)
MySQL shell and It's utilities - Praveen GR (Mydbops Team)
Β 
Groovy concurrency
Groovy concurrencyGroovy concurrency
Groovy concurrency
Β 
MariaDB Optimizer
MariaDB OptimizerMariaDB Optimizer
MariaDB Optimizer
Β 
Building better Node.js applications on MariaDB
Building better Node.js applications on MariaDBBuilding better Node.js applications on MariaDB
Building better Node.js applications on MariaDB
Β 
Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricks
Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricksQuery Optimization with MySQL 5.7 and MariaDB 10: Even newer tricks
Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricks
Β 
What is new in PostgreSQL 14?
What is new in PostgreSQL 14?What is new in PostgreSQL 14?
What is new in PostgreSQL 14?
Β 
Introduction to Mongodb execution plan and optimizer
Introduction to Mongodb execution plan and optimizerIntroduction to Mongodb execution plan and optimizer
Introduction to Mongodb execution plan and optimizer
Β 
Connect 2016-Move Your XPages Applications to the Fast Lane
Connect 2016-Move Your XPages Applications to the Fast LaneConnect 2016-Move Your XPages Applications to the Fast Lane
Connect 2016-Move Your XPages Applications to the Fast Lane
Β 
Tips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC ApplicationsTips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC Applications
Β 
20151010 my sq-landjavav2a
20151010 my sq-landjavav2a20151010 my sq-landjavav2a
20151010 my sq-landjavav2a
Β 
Asynchronous web apps with the Play Framework 2.0
Asynchronous web apps with the Play Framework 2.0Asynchronous web apps with the Play Framework 2.0
Asynchronous web apps with the Play Framework 2.0
Β 
Mysql server query path
Mysql server query pathMysql server query path
Mysql server query path
Β 
Parallel Query in AWS Aurora MySQL
Parallel Query in AWS Aurora MySQLParallel Query in AWS Aurora MySQL
Parallel Query in AWS Aurora MySQL
Β 
MySQL 5.7 + JSON
MySQL 5.7 + JSONMySQL 5.7 + JSON
MySQL 5.7 + JSON
Β 
Short intro to scala and the play framework
Short intro to scala and the play frameworkShort intro to scala and the play framework
Short intro to scala and the play framework
Β 
Play + scala + reactive mongo
Play + scala + reactive mongoPlay + scala + reactive mongo
Play + scala + reactive mongo
Β 
COScheduler
COSchedulerCOScheduler
COScheduler
Β 
Go faster with_native_compilation Part-2
Go faster with_native_compilation Part-2Go faster with_native_compilation Part-2
Go faster with_native_compilation Part-2
Β 
10 performance and scalability secrets of ASP.NET websites
10 performance and scalability secrets of ASP.NET websites10 performance and scalability secrets of ASP.NET websites
10 performance and scalability secrets of ASP.NET websites
Β 
MySQL Performance Schema in 20 Minutes
 MySQL Performance Schema in 20 Minutes MySQL Performance Schema in 20 Minutes
MySQL Performance Schema in 20 Minutes
Β 

Similar to High-Performance Hibernate - JDK.io 2018

How to ensure Presto scalability 
in multi use case
How to ensure Presto scalability 
in multi use case How to ensure Presto scalability 
in multi use case
How to ensure Presto scalability 
in multi use case Kai Sasaki
Β 
Dr Elephant: LinkedIn's Self-Service System for Detecting and Treating Hadoop...
Dr Elephant: LinkedIn's Self-Service System for Detecting and Treating Hadoop...Dr Elephant: LinkedIn's Self-Service System for Detecting and Treating Hadoop...
Dr Elephant: LinkedIn's Self-Service System for Detecting and Treating Hadoop...DataWorks Summit
Β 
MLflow at Company Scale
MLflow at Company ScaleMLflow at Company Scale
MLflow at Company ScaleDatabricks
Β 
Automating your php infrastructure with the zend server api
Automating your php infrastructure with the zend server apiAutomating your php infrastructure with the zend server api
Automating your php infrastructure with the zend server apiYonni Mendes
Β 
MySQL crash course by moshe kaplan
MySQL crash course by moshe kaplanMySQL crash course by moshe kaplan
MySQL crash course by moshe kaplanMoshe Kaplan
Β 
Square Peg Round Hole: Serverless Solutions For Non-Serverless Problems
Square Peg Round Hole: Serverless Solutions For Non-Serverless ProblemsSquare Peg Round Hole: Serverless Solutions For Non-Serverless Problems
Square Peg Round Hole: Serverless Solutions For Non-Serverless ProblemsChase Douglas
Β 
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012eballisty
Β 
Data Analytics Service Company and Its Ruby Usage
Data Analytics Service Company and Its Ruby UsageData Analytics Service Company and Its Ruby Usage
Data Analytics Service Company and Its Ruby UsageSATOSHI TAGOMORI
Β 
Breaking SAP portal (DeepSec)
Breaking SAP portal (DeepSec)Breaking SAP portal (DeepSec)
Breaking SAP portal (DeepSec)ERPScan
Β 
The Value of Reactive
The Value of ReactiveThe Value of Reactive
The Value of ReactiveVMware Tanzu
Β 
StackWatch: A prototype CloudWatch service for CloudStack
StackWatch: A prototype CloudWatch service for CloudStackStackWatch: A prototype CloudWatch service for CloudStack
StackWatch: A prototype CloudWatch service for CloudStackChiradeep Vittal
Β 
6 tips for improving ruby performance
6 tips for improving ruby performance6 tips for improving ruby performance
6 tips for improving ruby performanceEngine Yard
Β 
How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...Katia Aresti
Β 
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014Rackspace Academy
Β 
Bringing the JAMstack to the Enterprise
Bringing the JAMstack to the EnterpriseBringing the JAMstack to the Enterprise
Bringing the JAMstack to the EnterpriseJamund Ferguson
Β 
SQL Server 2022 Programmability & Performance
SQL Server 2022 Programmability & PerformanceSQL Server 2022 Programmability & Performance
SQL Server 2022 Programmability & PerformanceGianluca Hotz
Β 
Breaking SAP portal (HackerHalted)
Breaking SAP portal (HackerHalted)Breaking SAP portal (HackerHalted)
Breaking SAP portal (HackerHalted)ERPScan
Β 

Similar to High-Performance Hibernate - JDK.io 2018 (20)

How to ensure Presto scalability 
in multi use case
How to ensure Presto scalability 
in multi use case How to ensure Presto scalability 
in multi use case
How to ensure Presto scalability 
in multi use case
Β 
Dr Elephant: LinkedIn's Self-Service System for Detecting and Treating Hadoop...
Dr Elephant: LinkedIn's Self-Service System for Detecting and Treating Hadoop...Dr Elephant: LinkedIn's Self-Service System for Detecting and Treating Hadoop...
Dr Elephant: LinkedIn's Self-Service System for Detecting and Treating Hadoop...
Β 
MLflow at Company Scale
MLflow at Company ScaleMLflow at Company Scale
MLflow at Company Scale
Β 
Automating your php infrastructure with the zend server api
Automating your php infrastructure with the zend server apiAutomating your php infrastructure with the zend server api
Automating your php infrastructure with the zend server api
Β 
MySQL crash course by moshe kaplan
MySQL crash course by moshe kaplanMySQL crash course by moshe kaplan
MySQL crash course by moshe kaplan
Β 
Square Peg Round Hole: Serverless Solutions For Non-Serverless Problems
Square Peg Round Hole: Serverless Solutions For Non-Serverless ProblemsSquare Peg Round Hole: Serverless Solutions For Non-Serverless Problems
Square Peg Round Hole: Serverless Solutions For Non-Serverless Problems
Β 
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Β 
Into The Box 2018 - CBT
Into The Box 2018 - CBTInto The Box 2018 - CBT
Into The Box 2018 - CBT
Β 
Data Analytics Service Company and Its Ruby Usage
Data Analytics Service Company and Its Ruby UsageData Analytics Service Company and Its Ruby Usage
Data Analytics Service Company and Its Ruby Usage
Β 
Breaking SAP portal (DeepSec)
Breaking SAP portal (DeepSec)Breaking SAP portal (DeepSec)
Breaking SAP portal (DeepSec)
Β 
The value of reactive
The value of reactiveThe value of reactive
The value of reactive
Β 
The Value of Reactive
The Value of ReactiveThe Value of Reactive
The Value of Reactive
Β 
StackWatch: A prototype CloudWatch service for CloudStack
StackWatch: A prototype CloudWatch service for CloudStackStackWatch: A prototype CloudWatch service for CloudStack
StackWatch: A prototype CloudWatch service for CloudStack
Β 
Advanced Cassandra
Advanced CassandraAdvanced Cassandra
Advanced Cassandra
Β 
6 tips for improving ruby performance
6 tips for improving ruby performance6 tips for improving ruby performance
6 tips for improving ruby performance
Β 
How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...
Β 
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Β 
Bringing the JAMstack to the Enterprise
Bringing the JAMstack to the EnterpriseBringing the JAMstack to the Enterprise
Bringing the JAMstack to the Enterprise
Β 
SQL Server 2022 Programmability & Performance
SQL Server 2022 Programmability & PerformanceSQL Server 2022 Programmability & Performance
SQL Server 2022 Programmability & Performance
Β 
Breaking SAP portal (HackerHalted)
Breaking SAP portal (HackerHalted)Breaking SAP portal (HackerHalted)
Breaking SAP portal (HackerHalted)
Β 

Recently uploaded

Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
Β 
Delhi Call Girls CP 9711199171 β˜Žβœ”πŸ‘Œβœ” Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 β˜Žβœ”πŸ‘Œβœ” Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 β˜Žβœ”πŸ‘Œβœ” Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 β˜Žβœ”πŸ‘Œβœ” Whatsapp Hard And Sexy Vip Callshivangimorya083
Β 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
Β 
Vip Model Call Girls (Delhi) Karol Bagh 9711199171βœ”οΈBody to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171βœ”οΈBody to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171βœ”οΈBody to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171βœ”οΈBody to body massage wit...shivangimorya083
Β 
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxBPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxMohammedJunaid861692
Β 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxfirstjob4
Β 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz1
Β 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
Β 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfadriantubila
Β 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxolyaivanovalion
Β 
꧁❀ Greater Noida Call Girls Delhi ❀꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❀ Greater Noida Call Girls Delhi ❀꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❀ Greater Noida Call Girls Delhi ❀꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❀ Greater Noida Call Girls Delhi ❀꧂ 9711199171 ☎️ Hard And Sexy Vip Callshivangimorya083
Β 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% SecurePooja Nehwal
Β 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptxAnupama Kate
Β 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfMarinCaroMartnezBerg
Β 
Capstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramCapstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramMoniSankarHazra
Β 
Call Girls in Sarai Kale Khan Delhi πŸ’― Call Us πŸ”9205541914 πŸ”( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi πŸ’― Call Us πŸ”9205541914 πŸ”( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi πŸ’― Call Us πŸ”9205541914 πŸ”( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi πŸ’― Call Us πŸ”9205541914 πŸ”( Delhi) Escorts S...Delhi Call girls
Β 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
Β 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFxolyaivanovalion
Β 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxolyaivanovalion
Β 

Recently uploaded (20)

Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
Β 
Delhi Call Girls CP 9711199171 β˜Žβœ”πŸ‘Œβœ” Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 β˜Žβœ”πŸ‘Œβœ” Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 β˜Žβœ”πŸ‘Œβœ” Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 β˜Žβœ”πŸ‘Œβœ” Whatsapp Hard And Sexy Vip Call
Β 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
Β 
Vip Model Call Girls (Delhi) Karol Bagh 9711199171βœ”οΈBody to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171βœ”οΈBody to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171βœ”οΈBody to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171βœ”οΈBody to body massage wit...
Β 
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxBPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
Β 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptx
Β 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
Β 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
Β 
꧁❀ Aerocity Call Girls Service Aerocity Delhi ❀꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❀ Aerocity Call Girls Service Aerocity Delhi ❀꧂ 9999965857 ☎️ Hard And Sexy ...꧁❀ Aerocity Call Girls Service Aerocity Delhi ❀꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❀ Aerocity Call Girls Service Aerocity Delhi ❀꧂ 9999965857 ☎️ Hard And Sexy ...
Β 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Β 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
Β 
꧁❀ Greater Noida Call Girls Delhi ❀꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❀ Greater Noida Call Girls Delhi ❀꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❀ Greater Noida Call Girls Delhi ❀꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❀ Greater Noida Call Girls Delhi ❀꧂ 9711199171 ☎️ Hard And Sexy Vip Call
Β 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Β 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx
Β 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
Β 
Capstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramCapstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics Program
Β 
Call Girls in Sarai Kale Khan Delhi πŸ’― Call Us πŸ”9205541914 πŸ”( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi πŸ’― Call Us πŸ”9205541914 πŸ”( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi πŸ’― Call Us πŸ”9205541914 πŸ”( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi πŸ’― Call Us πŸ”9205541914 πŸ”( Delhi) Escorts S...
Β 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
Β 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
Β 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptx
Β 

High-Performance Hibernate - JDK.io 2018