SlideShare une entreprise Scribd logo
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Transactions and
Concurrency Control
Patterns
@vlad_mihalcea vladmihalcea.com
Hypersistence
Optimizer
About me
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
FlexCoin got hacked – 896 BTC – $600,000
https://web.archive.org/web/20160408190656/http://www.flexcoin.com/
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
FlexCoin got hacked – 896 BTC – $600,000
https://web.archive.org/web/20160408190656/http://www.flexcoin.com/
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Poloniex got hacked – 12.3% of BTC stolen
https://bitcointalk.org/index.php?topic=499580
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Poloniex got hacked – 12.3% of BTC stolen
“The hacker discovered that if you place several
withdrawals all in practically the same instant, they
will get processed at more or less the same time.
This will result in a negative balance, but valid
insertions into the database, which then get picked up
by the withdrawal daemon.”
https://bitcointalk.org/index.php?topic=499580
@vlad_mihalcea vladmihalcea.com
Testing time
public void transfer(String fromIban, String toIban, Long transferCents) {
Long fromBalance = getBalance(fromIban);
if(fromBalance >= transferCents) {
addBalance(fromIban, (-1) * transferCents);
addBalance(toIban, transferCents);
}
}
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
What could go wrong?
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
ACID is a tool
https://www.flickr.com/photos/justinbaeder/5317820857/
@vlad_mihalcea vladmihalcea.com
Read-Modify-Write
public void transfer(String fromIban, String toIban, Long transferCents) {
Long fromBalance = getBalance(fromIban);
if(fromBalance >= transferCents) {
addBalance(fromIban, (-1) * transferCents);
addBalance(toIban, transferCents);
}
}
@vlad_mihalcea vladmihalcea.com
Read-Modify-Write
public void transfer(String fromIban, String toIban, Long transferCents) {
Long fromBalance = getBalance(fromIban);
if(fromBalance >= transferCents) {
addBalance(fromIban, (-1) * transferCents);
addBalance(toIban, transferCents);
}
}
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
What went wrong?
• Reads and writes were executed in separate transactions
• Designed for serial execution
• No parallel execution testing
• ACIDRain [1]
[1]: http://www.bailis.org/papers/acidrain-sigmod2017.pdf
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Jim Gray – 1981 – Transaction properties
“A transaction is a transformation of
state which has the properties of
atomicity (all or nothing), durability
(effects survive failures) and
consistency (a correct
transformation).”
http://research.microsoft.com/en-us/um/people/gray/papers/theTransactionConcept.pdf
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Atomicity
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Consistency
• Moving the database from one valid state to another.
• Constraint checks
• column types
• column length
• column nullability
• foreign key constraints
• unique key constraints
@vlad_mihalcea vladmihalcea.com
Consistency
ALTER TABLE
account
ADD CONSTRAINT
account_balance_check
CHECK (
balance >= 0
)
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Durability
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
How about concurrency?
https://www.flickr.com/photos/thienzieyung/16077163871/
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Serial execution
• No concurrency issues
• VoltDB (in-memory, single-threaded)
@vlad_mihalcea vladmihalcea.com
Serial execution
@vlad_mihalcea vladmihalcea.com
Serial execution
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Serializability
• Interleaving concurrent transaction statements (reads and writes)
so that the outcome is equivalent to some serial execution.
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Jim Gray – 1981 – Concurrency Control
“A simpler and more efficient scheme is to lock an
object when it is accessed. ... If the object is already
locked, then the requestor waits.
Multiple readers can be accommodated by
distinguishing two lock modes: one indicating update
access and another indicating read access. Read locks
are compatible while update locks are not.”
http://research.microsoft.com/en-us/um/people/gray/papers/theTransactionConcept.pdf
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Lock types
Compatibility matrix Shared Lock Exclusive lock
Shared Lock Allow Prevent
Exclusive lock Prevent Prevent
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
2PL (Two-Phase Locking)
• Simple to reason about:
• Reads acquire shared locks
• Writes acquire exclusive locks
• The 2PL protocol:
• expanding phase (acquire locks, release no lock)
• shrinking phase (release all locks, no further lock acquisition)
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Consistency models
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Linearizability (Consistency in CAP Theorem)
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Linearizability (Consistency in CAP Theorem)
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Linearizability (Consistency in CAP Theorem)
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Linearizability (Consistency in CAP Theorem)
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Linearizability (Consistency in CAP Theorem)
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Linearizability (CPU caching)
private volatile long balance;
public synchronized long getBalance() {
return balance;
}
public synchronized void setBalance(long balance) {
this.balance = balance;
}
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Locking drawbacks
https://www.flickr.com/photos/mikecogh/34827705190/
@vlad_mihalcea vladmihalcea.com
Cost of locking
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Challenges have changed
“At present [1981], the largest airlines and
banks have about 10,000 terminals and about
100 active transactions at any instant.
These transactions live for a second or two and are
gone forever.”
The Transaction Concept: Virtues and Limitations - http://research.microsoft.com/en-us/um/people/gray/papers/theTransactionConcept.pdf
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Concurrency control
• Conflict avoidance
• 2PL (Two-Phase Locking)
• Conflict detection
• MVCC (Multi-Version Concurrency Control)
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
ACID timeline
2PL (Strict
Serializability)
MVCC
(Snapshot
Isolation)
NoSQL
(No ACID)
NewSQL
(Serializability)
1981 1984 2009 2011
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
MVCC (Multi-Version Concurrency Control)
• Readers don’t block writers and writers don’t block readers.
• Writers block writers to prevent Dirty Writes.
@vlad_mihalcea vladmihalcea.com
MVCC – Insert row (PostgreSQL)
@vlad_mihalcea vladmihalcea.com
MVCC – Insert row (PostgreSQL)
@vlad_mihalcea vladmihalcea.com
MVCC – Insert row (PostgreSQL)
@vlad_mihalcea vladmihalcea.com
MVCC – Delete row (PostgreSQL)
@vlad_mihalcea vladmihalcea.com
MVCC – Delete row (PostgreSQL)
@vlad_mihalcea vladmihalcea.com
MVCC – Delete row (PostgreSQL)
@vlad_mihalcea vladmihalcea.com
MVCC – Update row (PostgreSQL)
@vlad_mihalcea vladmihalcea.com
MVCC – Update row (PostgreSQL)
@vlad_mihalcea vladmihalcea.com
MVCC – Update row (PostgreSQL)
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
MVCC
• Two types of snapshots:
• Query-level: Read Committed
• Transaction-level: Snapshot Isolation
• Watch out for long-running transactions
• Vacuum process (like Java Garbage Collector)
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Serializable – 2PL – conflict avoidance
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Serializable – 2PL – conflict avoidance
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Serializable – 2PL – conflict avoidance
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Serializable – MVCC – conflict detection
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Serializable – MVCC – conflict detection
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Serializable – MVCC – conflict detection
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Serializable – MVCC – conflict?
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Serializable – MVCC – conflict?
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Serializable – MVCC – conflict?
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Phenomena
• The SQL-92 standard introduced three phenomena:
• dirty read
• non-repeatable read
• phantom read.
• In reality, there are more:
• dirty write
• read skew
• write skew
• lost update.
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Dirty Read
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Dirty Read
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Dirty Read
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Dirty Read
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Non-Repeatable Read
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Non-Repeatable Read
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Non-Repeatable Read
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Non-Repeatable Read
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Phantom Read
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Phantom Read
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Phantom Read
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Read Skew
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Read Skew
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Read Skew
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Read Skew
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Write Skew
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Write Skew
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Write Skew
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Lost Update
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Lost Update
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Lost Update
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
SQL-92 ACID
• Atomicity
• Consistency
• Isolation (Concurrency Control)
• Durability
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
SQL Standard Isolation Levels
Isolation
Level Dirty Read
Non-
Repeatable
Read
Phantom
Read
Read
Uncommitted Yes Yes Yes
Read
Committed No Yes Yes
Repeatable
Read No No Yes
Serializable No No No
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Oracle Isolation Levels
Isolation
Level Dirty Read
Non-
Repeatable
Read
Phantom
Read Read Skew Write Skew Lost Update
Read
Committed No Yes Yes Yes Yes Yes
Serializable No No No No Yes No
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Isolation level Dirty Read
Non-
Repeatable
Read
Phantom
Read Read Skew Write Skew Lost Update
Read
Uncommitted Yes Yes Yes Yes Yes Yes
Read
Committed No Yes Yes Yes Yes Yes
Repeatable
Read No No Yes No No No
Serializable No No No No No No
Read
Committed SI No Yes Yes Yes Yes Yes
Snapshot
Isolation No No No No Yes No
SQL Server Isolation Levels
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Isolation level Dirty Read
Non-
Repeatable
Read
Phantom
Read Read Skew Write Skew Lost Update
Read
Uncommitted No Yes Yes Yes Yes Yes
Read
Committed No Yes Yes Yes Yes Yes
Repeatable
Read No No No No Yes No
Serializable No No No No No No
PostgreSQL Isolation Levels
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
MySQL Isolation Levels
Isolation level Dirty Read
Non-
Repeatable
Read
Phantom
Read Read Skew Write Skew Lost Update
Read
Uncommitted Yes Yes Yes Yes Yes Yes
Read
Committed No Yes Yes Yes Yes Yes
Repeatable
Read No No No No Yes Yes
Serializable No No No No No No
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
ACID – Mainframe Era
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
ACID – Internet Era
• What about multi-request logical transactions?
• DB-level ACID is no longer sufficient
• Application-level transactions require application-level concurrency
control
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Stateless conversation lost update
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Stateless conversation lost update
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Stateless conversation lost update
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Stateful conversation lost update
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Stateful conversation lost update
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Stateful conversation lost update
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Version-based optimistic locking
@Version
private int version;
UPDATE post
SET
name = ‘Name’, version = 1
WHERE
id = 1 AND version = 0
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Stateful versioned conversation
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Stateful versioned conversation
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Stateful versioned conversation
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Write concerns
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
False positives
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
False positives
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
False positives
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
False positives
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Write-based schema mapping
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Non-overlapping writes
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Non-overlapping writes
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Non-overlapping writes
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Non-overlapping writes
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Versionless optimistic locking
@Entity
@Table(name = "post")
@DynamicUpdate
@OptimisticLocking(type = OptimisticLockType.DIRTY)
public class Post {
@Id
private Long id;
private String title;
private long views;
private int likes;
}
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Non-overlapping writes
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Non-overlapping writes
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Non-overlapping writes
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Non-overlapping writes
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Explicit optimistic locking modes
Lock Mode Type Description
NONE In the absence of explicit locking, the application will use implicit locking (optimistic or pessimistic)
OPTIMISTIC
Always issues a version check upon transaction commit, therefore ensuring optimistic locking
repeatable reads.
READ Same as OPTIMISTIC.
OPTIMISTIC_FORCE_INCREMENT
Always increases the entity version (even when the entity doesn’t change) and issues a version
check upon transaction commit, therefore ensuring optimistic locking repeatable reads.
WRITE Same as OPTIMISTIC_FORCE_INCREMENT.
PESSIMISTIC_READ
A shared lock is acquired to prevent any other transaction from acquiring a PESSIMISTIC_WRITE
lock.
PESSIMISTIC_WRITE
An exclusive lock is acquired to prevent any other transaction from acquiring a PESSIMISTIC_READ
or a PESSIMISTIC_WRITE lock.
PESSIMISTIC_FORCE_INCREMENT
A database lock is acquired to prevent any other transaction from acquiring a PESSIMISTIC_READ or
a PESSIMISTIC_WRITE lock and the entity version is incremented upon transaction commit.
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
LockModeType.OPTIMISTIC_FORCE_INCREMENT
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
LockModeType.OPTIMISTIC_FORCE_INCREMENT
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
LockModeType.OPTIMISTIC_FORCE_INCREMENT
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
LockModeType.OPTIMISTIC_FORCE_INCREMENT
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
ACID timeline
ACID + 2PL
(Strict
Serializability)
ACID + MVCC
(Snapshot
Isolation)
NoSQL
(No ACID)
NewSQL
(Serializability)
1981 1984 2009 2011
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
MongoDB 4.0 ACID support
https://twitter.com/MongoDB/status/964169530833547265
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Google Developers
“We believe it is better to have application
programmers deal with performance problems
due to overuse of transactions as bottlenecks arise,
rather than always coding around
the lack of transactions.”
Spanner: Google’s Globally-Distributed Database - https://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Takeaways
• Concurrency testing
• Get to know how the underlying database system works
• Get to know what data anomalies can occur
• Get to know what solutions you have for those data anomalies
@vlad_mihalcea vladmihalcea.com@vlad_mihalcea vladmihalcea.com
Thank you
• Twitter: @vlad_mihalcea
• Blog: https://vladmihalcea.com
• Courses: https://vladmihalcea.com/courses
• Book: https://vladmihalcea.com/books/high-performance-java-persistence/

Contenu connexe

Tendances

Database mirroring setup
Database mirroring setupDatabase mirroring setup
Database mirroring setup
K Singh
 
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
Severalnines
 
MySQL Advanced Administrator 2021 - 네오클로바
MySQL Advanced Administrator 2021 - 네오클로바MySQL Advanced Administrator 2021 - 네오클로바
MySQL Advanced Administrator 2021 - 네오클로바
NeoClova
 
MySQL 8.0 Optimizer Guide
MySQL 8.0 Optimizer GuideMySQL 8.0 Optimizer Guide
MySQL 8.0 Optimizer Guide
Morgan Tocker
 
MySQLHeatwave-TheBasics.pptx
MySQLHeatwave-TheBasics.pptxMySQLHeatwave-TheBasics.pptx
MySQLHeatwave-TheBasics.pptx
Bobby Curtis
 
最適化計算ソフトOptiMaxについて
最適化計算ソフトOptiMaxについて最適化計算ソフトOptiMaxについて
最適化計算ソフトOptiMaxについて
OpenCAE_kanto_fluid
 
SQL Plan Directives explained
SQL Plan Directives explainedSQL Plan Directives explained
SQL Plan Directives explained
Mauro Pagano
 
Postgresql 12 streaming replication hol
Postgresql 12 streaming replication holPostgresql 12 streaming replication hol
Postgresql 12 streaming replication hol
Vijay Kumar N
 
Introduction to PostgreSQL
Introduction to PostgreSQLIntroduction to PostgreSQL
Introduction to PostgreSQL
Joel Brewer
 
[진정성] IT세미나 - 클라우드의 시대가 온다
[진정성] IT세미나 - 클라우드의 시대가 온다[진정성] IT세미나 - 클라우드의 시대가 온다
[진정성] IT세미나 - 클라우드의 시대가 온다
Soojin Lee
 
Troubleshooting MySQL from a MySQL Developer Perspective
Troubleshooting MySQL from a MySQL Developer PerspectiveTroubleshooting MySQL from a MySQL Developer Perspective
Troubleshooting MySQL from a MySQL Developer Perspective
Marcelo Altmann
 
MySQL 5.5 Guide to InnoDB Status
MySQL 5.5 Guide to InnoDB StatusMySQL 5.5 Guide to InnoDB Status
MySQL 5.5 Guide to InnoDB Status
Karwin Software Solutions LLC
 
Java concurrency - Thread pools
Java concurrency - Thread poolsJava concurrency - Thread pools
Java concurrency - Thread pools
maksym220889
 
Exadata MAA Best Practices
Exadata MAA Best PracticesExadata MAA Best Practices
Exadata MAA Best Practices
Rui Sousa
 
Proxysql sharding
Proxysql shardingProxysql sharding
Proxysql sharding
Marco Tusa
 
Intro to elixir and phoenix
Intro to elixir and phoenixIntro to elixir and phoenix
Intro to elixir and phoenix
Jared Smith
 
Demystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyDemystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash Safety
Jean-François Gagné
 
Power of the AWR Warehouse
Power of the AWR WarehousePower of the AWR Warehouse
Power of the AWR Warehouse
Kellyn Pot'Vin-Gorman
 
Zero-Copy Event-Driven Servers with Netty
Zero-Copy Event-Driven Servers with NettyZero-Copy Event-Driven Servers with Netty
Zero-Copy Event-Driven Servers with NettyDaniel Bimschas
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning Fundamentals
Carlos Sierra
 

Tendances (20)

Database mirroring setup
Database mirroring setupDatabase mirroring setup
Database mirroring setup
 
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
 
MySQL Advanced Administrator 2021 - 네오클로바
MySQL Advanced Administrator 2021 - 네오클로바MySQL Advanced Administrator 2021 - 네오클로바
MySQL Advanced Administrator 2021 - 네오클로바
 
MySQL 8.0 Optimizer Guide
MySQL 8.0 Optimizer GuideMySQL 8.0 Optimizer Guide
MySQL 8.0 Optimizer Guide
 
MySQLHeatwave-TheBasics.pptx
MySQLHeatwave-TheBasics.pptxMySQLHeatwave-TheBasics.pptx
MySQLHeatwave-TheBasics.pptx
 
最適化計算ソフトOptiMaxについて
最適化計算ソフトOptiMaxについて最適化計算ソフトOptiMaxについて
最適化計算ソフトOptiMaxについて
 
SQL Plan Directives explained
SQL Plan Directives explainedSQL Plan Directives explained
SQL Plan Directives explained
 
Postgresql 12 streaming replication hol
Postgresql 12 streaming replication holPostgresql 12 streaming replication hol
Postgresql 12 streaming replication hol
 
Introduction to PostgreSQL
Introduction to PostgreSQLIntroduction to PostgreSQL
Introduction to PostgreSQL
 
[진정성] IT세미나 - 클라우드의 시대가 온다
[진정성] IT세미나 - 클라우드의 시대가 온다[진정성] IT세미나 - 클라우드의 시대가 온다
[진정성] IT세미나 - 클라우드의 시대가 온다
 
Troubleshooting MySQL from a MySQL Developer Perspective
Troubleshooting MySQL from a MySQL Developer PerspectiveTroubleshooting MySQL from a MySQL Developer Perspective
Troubleshooting MySQL from a MySQL Developer Perspective
 
MySQL 5.5 Guide to InnoDB Status
MySQL 5.5 Guide to InnoDB StatusMySQL 5.5 Guide to InnoDB Status
MySQL 5.5 Guide to InnoDB Status
 
Java concurrency - Thread pools
Java concurrency - Thread poolsJava concurrency - Thread pools
Java concurrency - Thread pools
 
Exadata MAA Best Practices
Exadata MAA Best PracticesExadata MAA Best Practices
Exadata MAA Best Practices
 
Proxysql sharding
Proxysql shardingProxysql sharding
Proxysql sharding
 
Intro to elixir and phoenix
Intro to elixir and phoenixIntro to elixir and phoenix
Intro to elixir and phoenix
 
Demystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyDemystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash Safety
 
Power of the AWR Warehouse
Power of the AWR WarehousePower of the AWR Warehouse
Power of the AWR Warehouse
 
Zero-Copy Event-Driven Servers with Netty
Zero-Copy Event-Driven Servers with NettyZero-Copy Event-Driven Servers with Netty
Zero-Copy Event-Driven Servers with Netty
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning Fundamentals
 

Similaire à Transactions and Concurrency Control Patterns - 2019

Transactions and Concurrency Control Patterns
Transactions and Concurrency Control PatternsTransactions and Concurrency Control Patterns
Transactions and Concurrency Control Patterns
J On The Beach
 
Transactions and Concurrency Control Patterns
Transactions and Concurrency Control PatternsTransactions and Concurrency Control Patterns
Transactions and Concurrency Control Patterns
Vlad Mihalcea
 
The Nightmare of Locking, Blocking and Isolation Levels!
The Nightmare of Locking, Blocking and Isolation Levels!The Nightmare of Locking, Blocking and Isolation Levels!
The Nightmare of Locking, Blocking and Isolation Levels!
Boris Hristov
 
What's Missing? Microservices Meetup at Cisco
What's Missing? Microservices Meetup at CiscoWhat's Missing? Microservices Meetup at Cisco
What's Missing? Microservices Meetup at Cisco
Adrian Cockcroft
 
The Nightmare of Locking, Blocking and Isolation Levels!
The Nightmare of Locking, Blocking and Isolation Levels!The Nightmare of Locking, Blocking and Isolation Levels!
The Nightmare of Locking, Blocking and Isolation Levels!
Boris Hristov
 
DEF CON 23 - CASSIDY LEVERETT LEE - switches get stitches
DEF CON 23 - CASSIDY LEVERETT LEE - switches get stitchesDEF CON 23 - CASSIDY LEVERETT LEE - switches get stitches
DEF CON 23 - CASSIDY LEVERETT LEE - switches get stitches
Felipe Prado
 
Operations, Consistency, Failover for Multi-DC Clusters (Alexander Dejanovski...
Operations, Consistency, Failover for Multi-DC Clusters (Alexander Dejanovski...Operations, Consistency, Failover for Multi-DC Clusters (Alexander Dejanovski...
Operations, Consistency, Failover for Multi-DC Clusters (Alexander Dejanovski...
DataStax
 
High Availability with Galera Cluster - SkySQL Road Show 2013 in Berlin
High Availability with Galera Cluster - SkySQL Road Show 2013 in BerlinHigh Availability with Galera Cluster - SkySQL Road Show 2013 in Berlin
High Availability with Galera Cluster - SkySQL Road Show 2013 in Berlin
MariaDB Corporation
 
A. Sarkissian Death of Relational Databases
A. Sarkissian Death of Relational DatabasesA. Sarkissian Death of Relational Databases
A. Sarkissian Death of Relational DatabasesMediabistro
 
Vpc aws meetup
Vpc   aws meetupVpc   aws meetup
Vpc aws meetup
Matthew Boeckman
 
New stuff in CloudStack!
New stuff in CloudStack!New stuff in CloudStack!
New stuff in CloudStack!
ShapeBlue
 
all data everywhere
all data everywhereall data everywhere
all data everywhere
sarahnovotny
 
Introduction of failsafe
Introduction of failsafeIntroduction of failsafe
Introduction of failsafe
Sunghyouk Bae
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
Mayank Srivastava
 
IMC Summit 2016 Breakout - Aleksandar Seovic - The Illusion of Statelessness
IMC Summit 2016 Breakout - Aleksandar Seovic - The Illusion of StatelessnessIMC Summit 2016 Breakout - Aleksandar Seovic - The Illusion of Statelessness
IMC Summit 2016 Breakout - Aleksandar Seovic - The Illusion of Statelessness
In-Memory Computing Summit
 
Cross the Streams! Creating Streaming Data Pipelines with Apache Flink + Apac...
Cross the Streams! Creating Streaming Data Pipelines with Apache Flink + Apac...Cross the Streams! Creating Streaming Data Pipelines with Apache Flink + Apac...
Cross the Streams! Creating Streaming Data Pipelines with Apache Flink + Apac...
StreamNative
 
Yavaconf 2021 building io t digital twins with java and akka
Yavaconf 2021 building io t digital twins with java and akkaYavaconf 2021 building io t digital twins with java and akka
Yavaconf 2021 building io t digital twins with java and akka
Hugh McKee
 
Extending your applications to the edge with CDNs
Extending your applications to the edge with CDNsExtending your applications to the edge with CDNs
Extending your applications to the edge with CDNs
SergeyChernyshev
 
AdGear Use Case with Scylla - 1M Queries Per Second with Single-Digit Millise...
AdGear Use Case with Scylla - 1M Queries Per Second with Single-Digit Millise...AdGear Use Case with Scylla - 1M Queries Per Second with Single-Digit Millise...
AdGear Use Case with Scylla - 1M Queries Per Second with Single-Digit Millise...
ScyllaDB
 

Similaire à Transactions and Concurrency Control Patterns - 2019 (20)

Transactions and Concurrency Control Patterns
Transactions and Concurrency Control PatternsTransactions and Concurrency Control Patterns
Transactions and Concurrency Control Patterns
 
Transactions and Concurrency Control Patterns
Transactions and Concurrency Control PatternsTransactions and Concurrency Control Patterns
Transactions and Concurrency Control Patterns
 
The Nightmare of Locking, Blocking and Isolation Levels!
The Nightmare of Locking, Blocking and Isolation Levels!The Nightmare of Locking, Blocking and Isolation Levels!
The Nightmare of Locking, Blocking and Isolation Levels!
 
What's Missing? Microservices Meetup at Cisco
What's Missing? Microservices Meetup at CiscoWhat's Missing? Microservices Meetup at Cisco
What's Missing? Microservices Meetup at Cisco
 
The Nightmare of Locking, Blocking and Isolation Levels!
The Nightmare of Locking, Blocking and Isolation Levels!The Nightmare of Locking, Blocking and Isolation Levels!
The Nightmare of Locking, Blocking and Isolation Levels!
 
DEF CON 23 - CASSIDY LEVERETT LEE - switches get stitches
DEF CON 23 - CASSIDY LEVERETT LEE - switches get stitchesDEF CON 23 - CASSIDY LEVERETT LEE - switches get stitches
DEF CON 23 - CASSIDY LEVERETT LEE - switches get stitches
 
Operations, Consistency, Failover for Multi-DC Clusters (Alexander Dejanovski...
Operations, Consistency, Failover for Multi-DC Clusters (Alexander Dejanovski...Operations, Consistency, Failover for Multi-DC Clusters (Alexander Dejanovski...
Operations, Consistency, Failover for Multi-DC Clusters (Alexander Dejanovski...
 
High Availability with Galera Cluster - SkySQL Road Show 2013 in Berlin
High Availability with Galera Cluster - SkySQL Road Show 2013 in BerlinHigh Availability with Galera Cluster - SkySQL Road Show 2013 in Berlin
High Availability with Galera Cluster - SkySQL Road Show 2013 in Berlin
 
A. Sarkissian Death of Relational Databases
A. Sarkissian Death of Relational DatabasesA. Sarkissian Death of Relational Databases
A. Sarkissian Death of Relational Databases
 
Vpc aws meetup
Vpc   aws meetupVpc   aws meetup
Vpc aws meetup
 
New stuff in CloudStack!
New stuff in CloudStack!New stuff in CloudStack!
New stuff in CloudStack!
 
all data everywhere
all data everywhereall data everywhere
all data everywhere
 
Introduction of failsafe
Introduction of failsafeIntroduction of failsafe
Introduction of failsafe
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
 
IMC Summit 2016 Breakout - Aleksandar Seovic - The Illusion of Statelessness
IMC Summit 2016 Breakout - Aleksandar Seovic - The Illusion of StatelessnessIMC Summit 2016 Breakout - Aleksandar Seovic - The Illusion of Statelessness
IMC Summit 2016 Breakout - Aleksandar Seovic - The Illusion of Statelessness
 
Cross the Streams! Creating Streaming Data Pipelines with Apache Flink + Apac...
Cross the Streams! Creating Streaming Data Pipelines with Apache Flink + Apac...Cross the Streams! Creating Streaming Data Pipelines with Apache Flink + Apac...
Cross the Streams! Creating Streaming Data Pipelines with Apache Flink + Apac...
 
Implementing dr w. hyper v clustering
Implementing dr w. hyper v clusteringImplementing dr w. hyper v clustering
Implementing dr w. hyper v clustering
 
Yavaconf 2021 building io t digital twins with java and akka
Yavaconf 2021 building io t digital twins with java and akkaYavaconf 2021 building io t digital twins with java and akka
Yavaconf 2021 building io t digital twins with java and akka
 
Extending your applications to the edge with CDNs
Extending your applications to the edge with CDNsExtending your applications to the edge with CDNs
Extending your applications to the edge with CDNs
 
AdGear Use Case with Scylla - 1M Queries Per Second with Single-Digit Millise...
AdGear Use Case with Scylla - 1M Queries Per Second with Single-Digit Millise...AdGear Use Case with Scylla - 1M Queries Per Second with Single-Digit Millise...
AdGear Use Case with Scylla - 1M Queries Per Second with Single-Digit Millise...
 

Plus de Vlad Mihalcea

Awesome SQL Tips and Tricks - Voxxed Days Cluj - 2019
 Awesome SQL Tips and Tricks - Voxxed Days Cluj - 2019 Awesome SQL Tips and Tricks - Voxxed Days Cluj - 2019
Awesome SQL Tips and Tricks - Voxxed Days Cluj - 2019
Vlad Mihalcea
 
JPA and Hibernate Performance Tips
JPA and Hibernate Performance TipsJPA and Hibernate Performance Tips
JPA and Hibernate Performance Tips
Vlad Mihalcea
 
High-Performance Hibernate - JDK.io 2018
High-Performance Hibernate - JDK.io 2018High-Performance Hibernate - JDK.io 2018
High-Performance Hibernate - JDK.io 2018
Vlad Mihalcea
 
High Performance Hibernate JavaZone 2016
High Performance Hibernate JavaZone 2016High Performance Hibernate JavaZone 2016
High Performance Hibernate JavaZone 2016
Vlad Mihalcea
 
High-Performance Hibernate Devoxx France 2016
High-Performance Hibernate Devoxx France 2016High-Performance Hibernate Devoxx France 2016
High-Performance Hibernate Devoxx France 2016
Vlad Mihalcea
 
High-Performance JDBC Voxxed Bucharest 2016
High-Performance JDBC Voxxed Bucharest 2016High-Performance JDBC Voxxed Bucharest 2016
High-Performance JDBC Voxxed Bucharest 2016
Vlad Mihalcea
 

Plus de Vlad Mihalcea (6)

Awesome SQL Tips and Tricks - Voxxed Days Cluj - 2019
 Awesome SQL Tips and Tricks - Voxxed Days Cluj - 2019 Awesome SQL Tips and Tricks - Voxxed Days Cluj - 2019
Awesome SQL Tips and Tricks - Voxxed Days Cluj - 2019
 
JPA and Hibernate Performance Tips
JPA and Hibernate Performance TipsJPA and Hibernate Performance Tips
JPA and Hibernate Performance Tips
 
High-Performance Hibernate - JDK.io 2018
High-Performance Hibernate - JDK.io 2018High-Performance Hibernate - JDK.io 2018
High-Performance Hibernate - JDK.io 2018
 
High Performance Hibernate JavaZone 2016
High Performance Hibernate JavaZone 2016High Performance Hibernate JavaZone 2016
High Performance Hibernate JavaZone 2016
 
High-Performance Hibernate Devoxx France 2016
High-Performance Hibernate Devoxx France 2016High-Performance Hibernate Devoxx France 2016
High-Performance Hibernate Devoxx France 2016
 
High-Performance JDBC Voxxed Bucharest 2016
High-Performance JDBC Voxxed Bucharest 2016High-Performance JDBC Voxxed Bucharest 2016
High-Performance JDBC Voxxed Bucharest 2016
 

Dernier

一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
74nqk8xf
 
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
axoqas
 
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Subhajit Sahu
 
Quantitative Data AnalysisReliability Analysis (Cronbach Alpha) Common Method...
Quantitative Data AnalysisReliability Analysis (Cronbach Alpha) Common Method...Quantitative Data AnalysisReliability Analysis (Cronbach Alpha) Common Method...
Quantitative Data AnalysisReliability Analysis (Cronbach Alpha) Common Method...
2023240532
 
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
pchutichetpong
 
Adjusting OpenMP PageRank : SHORT REPORT / NOTES
Adjusting OpenMP PageRank : SHORT REPORT / NOTESAdjusting OpenMP PageRank : SHORT REPORT / NOTES
Adjusting OpenMP PageRank : SHORT REPORT / NOTES
Subhajit Sahu
 
Adjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTESAdjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTES
Subhajit Sahu
 
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
g4dpvqap0
 
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
ahzuo
 
Data_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptx
Data_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptxData_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptx
Data_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptx
AnirbanRoy608946
 
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
ewymefz
 
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
AbhimanyuSinha9
 
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
dwreak4tg
 
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
ewymefz
 
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
ahzuo
 
The Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series DatabaseThe Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series Database
javier ramirez
 
My burning issue is homelessness K.C.M.O.
My burning issue is homelessness K.C.M.O.My burning issue is homelessness K.C.M.O.
My burning issue is homelessness K.C.M.O.
rwarrenll
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
Timothy Spann
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP
 
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
slg6lamcq
 

Dernier (20)

一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
 
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
 
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
 
Quantitative Data AnalysisReliability Analysis (Cronbach Alpha) Common Method...
Quantitative Data AnalysisReliability Analysis (Cronbach Alpha) Common Method...Quantitative Data AnalysisReliability Analysis (Cronbach Alpha) Common Method...
Quantitative Data AnalysisReliability Analysis (Cronbach Alpha) Common Method...
 
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
 
Adjusting OpenMP PageRank : SHORT REPORT / NOTES
Adjusting OpenMP PageRank : SHORT REPORT / NOTESAdjusting OpenMP PageRank : SHORT REPORT / NOTES
Adjusting OpenMP PageRank : SHORT REPORT / NOTES
 
Adjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTESAdjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTES
 
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
 
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
 
Data_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptx
Data_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptxData_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptx
Data_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptx
 
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
 
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
 
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
 
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
 
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
 
The Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series DatabaseThe Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series Database
 
My burning issue is homelessness K.C.M.O.
My burning issue is homelessness K.C.M.O.My burning issue is homelessness K.C.M.O.
My burning issue is homelessness K.C.M.O.
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
 
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
 

Transactions and Concurrency Control Patterns - 2019