Caracal
Qin Dai, Angela Demke Brown, Ashvin Goel
Abstract
Deterministic databases offer several benefits: they ensure serializable execution while avoiding concurrency-control related aborts, and they scale well in distributed environments. Today, most deterministic database designs use partitioning to scale up and avoid contention. However, partitioning requires significant programmer effort, leads to poor performance under skewed workloads, and incurs unnecessary overheads in certain uncontended workloads.
Topics & Concepts
Computer scienceConcurrency controlProgrammerSerializationDistributed computingConcurrencySerializabilityParallel computingOptimistic concurrency controlDatabase transactionOperating systemDistributed transactionTransaction processingProgramming languageDistributed concurrency controlDistributed systems and fault toleranceCloud Computing and Resource ManagementAdvanced Database Systems and Queries