Thursday, April 9, 2026 | 10:00 am – 4:30 pm
Courtyard by Marriott Ewing Princeton | 360 Scotch Road, Ewing Township, New Jersey 0862

You're invited to join CockroachDB for a Training Day focused on Data-Driven Application Development.
This training emphasizes core SQL concepts, transaction handling, system performance, and architectural patterns essential for building robust, data-driven applications. While Java and Python are used for illustrative purposes, the principles discussed are broadly applicable across technology stacks.
RSVP now to save your seat.
Agenda:
Chapter 1 - Transactions
Implicit vs. Explicit Transactions - Understand the default behavior of transactions versus manually controlled commits and rollbacks.
Transaction Retries - Learn to handle transient failures safely by implementing robust retry logic (e.g., retry loops, exponential backoff).
Transaction Lifetime - Explore best practices for minimizing transaction duration and avoiding long-held locks to ensure system responsiveness.
Chapter 2 - Contention
Isolation Levels Gain a deep understanding of isolation levels and their impact on consistency and concurrency.
Locking Techniques - Examine row-level versus table-level locking, optimistic versus pessimistic approaches, and strategies for deadlock avoidance.
Column Families & Access Patterns - Design schemas that reduce contention and support efficient access patterns, such as wide tables and partitioned data models.
Chapter 3 - Performance
Connection Pooling - Efficiently manage database connections using connection pools such as HikariCP (Java) and SQLAlchemy Pool (Python).
Read-Modify-Write Patterns - Safely handle concurrent updates using techniques like locking, versioning, or atomic operations.
Batching Writes - Enhance performance by batching inserts and deletes to minimize round-trips to the database.
Parallel Queries - Explore methods for concurrent read operations, including asynchronous queries and connection multiplexing.
Modifying CTEs - Use WITH clauses to write readable and performant complex update and insert operations.
Global Reads - Implement techniques for low-latency reads using replicas or multi-region database deployments.
Chapter 4 - Frameworks & Tooling (Light Touch)
Although the training centers on database fundamentals, it also briefly covers their implementation in popular frameworks:
Java:
Spring Data JPA / JDBC
JDBI
MyBatis
JooQ
R2DBC
Python:
SQLAlchemy (Core and ORM)
Django ORM
SQLModel
asyncpg
These frameworks provide abstractions over raw SQL, support transaction management, batching, connection pooling, and asynchronous operations.