MySQL vs PostgreSQL Performance: throughput & latency, reads & writes
2026-01-05
MySQL, the Dolphin, and Postgres, the Elephant, are one of the best and most widely used open-source databases. They are often compared across multiple angles: supported features, SQL dialect differences, architecture & internals, resource utilization and - performance. Today, we will jump into performance as deeply and broadly as possible - running many (17) test cases with all kinds of queries and workloads.
Authentication: who are you? Proofs are passwords, codes and keys
2025-12-14
In many systems, various actions can only be performed as some kind of Identity. We must authenticate ourselves by proving who we are. Authentication fundamentally is just an answer to this question: who are you and can you prove it is true?
Modular Monolith and Microservices: parallel work, independent deployments and organization scalability
2025-11-28
One of the most useful traits of Modularity done properly is Autonomy: modules - folders or versioned packages in a modular monolith, separately deployed microservices - are as independent from and as unaware of each other as possible. It has at least three important implications.
Modular Monolith and Microservices: Data ownership, boundaries, consistency and synchronization
2025-11-14
Virtually every module - folder or versioned package in a modular monolith, separately deployed microservice - must own or at least read some data to provide its functionality. As we shall see, the degree to which module A needs data from module B is often the degree to which it depends on this module; functionality being another important dimension of dependence. This leads us to the following principles...
Optimistic vs Pessimistic Locking: concurrency control, conflicts, lost updates, retries and blocking
2025-11-04
In many applications and systems, we must deal with concurrent, often conflicting and possibly lost, updates. This is exactly what the Concurrency Control problem is all about.