Bank of America CockroachDB Day Pennington

Thursday, April 9, 2026 | 10:00 am – 4:30 pm

Courtyard by Marriott Ewing Princeton | 360 Scotch Road, Ewing Township, New Jersey 0862

Register
Bank of America Horizontal Logo

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.