Sonata Multi-Database Transactions Made Fast and Serializable

Background Modern applications are often built using a service-oriented architecture, such as microservices, where different functionalities are handled by independent services, each with its own dedicated database. This design leads to workflows that span multiple services and databases, creating the need for multi-database transactions. Without proper coordination, these transactions can suffer from concurrency anomalies, violating business rules and data consistency. Local serializability at all participating databases does not imply global serializability! ...

July 13, 2025 · Last updated on August 1, 2025 · 6 min · KKKZOZ

Concurrency Control as a Service

Background Disaggregated databases typically decouple the system into: an execution layer, which requires substantial computational resources a storage layer, which necessitates significant storage capacity Concurrency Control (CC) is a key function module in databases The resource requirements of CC are neither consistent With SQL execution: execution prefers relatively more compute nodes but CC prefers fewer nodes With data storage: data storage nodes have substantial storage capacities but limited computing resources Yet, most existing cloud-native databases simply couple CC either with the execution layer or the storage layer. ...

July 11, 2025 · Last updated on August 1, 2025 · 5 min · KKKZOZ