
Database Guru
Ruohang Feng @Vonng / Pigsty
News, reports, surveys and best practices from the database industry — cutting through the marketing.

Redis Going Non-Open-Source is a Disgrace to "Open-Source" and Public Cloud
Redis "going non-open source" is not a disgrace to Redis, but a disgrace to "open source/OSI" and even more so to public cloud. What truly matters has always been software freedom, while open source …

MySQL's ACID is a real mess
MySQL's transaction ACID has flaws and doesn't match documentation promises. This may lead to serious correctness issues - use with caution.

Database in K8S: Pros & Cons
Whether databases should be housed in Kubernetes/Docker remains highly controversial. It has fundamental drawbacks with stateful services.

Are Specialized Vector Databases Dead?
Vector storage and retrieval is a real need, but specialized vector databases are already dead. Small needs are solved by OpenAI directly, standard needs are captured by existing mature databases with …

Are Databases Really Being Strangled?
Many "domestic databases" are just shoddy, inferior products that can't be helped. Xinchuang domestic OS/databases are essentially IT pre-made meals in schools. Users hold their noses while migrating, …

Which EL-Series OS Distribution Is Best?
RHEL-series OS distribution compatibility level: RHEL = Rocky ≈ Anolis > Alma > Oracle >> Euler. Recommend using RockyLinux 8.8, or Anolis 8.8 for domestic requirements.

What Kind of Self-Reliance Do Infra Software Need?
When we talk about self-reliance and control, what are we really talking about? Operational self-reliance vs. R&D self-reliance - what nations/users truly need is the former, not flashy …

Back to Basics: Tech Reflection Chronicles
The cost-cutting imperative has triggered a reevaluation of all technologies, including databases. This series critiques hot DB technologies and poses fundamental questions about their trade-offs: Are …

Database Demand Hierarchy Pyramid
Similar to Maslow's hierarchy of needs, user demands for databases also have a progressive hierarchy: physiological needs, safety needs, belonging needs, esteem needs, cognitive needs, aesthetic …

NewSQL: Distributive Nonsens
As hardware technology advances, the capacity and performance of standalone databases have reached unprecedented heights. which makes distributed (TP) databases appear utterly powerless, much like the …

Is running postgres in docker a good idea?
Thou shalt not run a prod database inside a container

Understanding Time - Leap Years, Leap Seconds, Time and Time Zones
A proper understanding of time is very helpful for correctly handling time-related issues in work and life. For example, time representation and processing in computers, as well as time handling in …

Understanding Character Encoding Principles
Without understanding the basic principles of character encoding, even simple string operations like comparison, sorting, and random access can easily lead you into pitfalls. This article attempts to …

Concurrency Anomalies Explained
Concurrent programs are hard to write correctly and even harder to write well. Many programmers simply throw these problems at the database... But even the most sophisticated databases won't help if …

Blockchain and Distributed Databases
The technical essence, functionality, and evolution of blockchain is distributed databases. Specifically, it's a Byzantine Fault Tolerant (resistant to malicious node attacks) distributed (leaderless …

Consistency: An Overloaded Term
The term "consistency" is heavily overloaded, representing different concepts in different contexts. For example, the C in ACID and the C in CAP actually refer to different concepts.

Why Study Database Principles
Those who only know how to code are just programmers; learn databases well, and you can at least make a living; but for excellent engineers, merely using databases is far from enough.
Redis Going Non-Open-Source is a Disgrace to "Open-Source" and Public Cloud

Recently, Redis changed its license, causing controversy: starting from version 7.4, it uses RSALv2 and SSPLv1, no longer meeting OSI’s definition of “open source software.” But don’t get it wrong: Redis “going non-open source” is not a disgrace to …
Recently, Redis changed its license, causing controversy: starting from version 7.4, it uses RSALv2 and SSPLv1, no longer meeting OSI’s definition of “open source software.” But don’t get it wrong: Redis “going non-open source” is not a disgrace to …
MySQL's ACID is a real mess

MySQL was once the world’s most popular open-source relational database. However, popularity doesn’t mean advanced, and popular things can have big problems. JEPSEN’s evaluation of MySQL’s isolation levels pierced through this veneer — in …
MySQL was once the world’s most popular open-source relational database. However, popularity doesn’t mean advanced, and popular things can have big problems. JEPSEN’s evaluation of MySQL’s isolation levels pierced through this veneer — in …
Database in K8S: Pros & Cons

Medium |Wechat Whether databases should be housed in Kubernetes/Docker remains highly controversial. While Kubernetes (k8s) excels in managing stateless applications, it has fundamental drawbacks with stateful services, especially databases like …
Medium |Wechat Whether databases should be housed in Kubernetes/Docker remains highly controversial. While Kubernetes (k8s) excels in managing stateless applications, it has fundamental drawbacks with stateful services, especially databases like …
Are Specialized Vector Databases Dead?

Vector storage and retrieval is a real need, but specialized vector databases are already dead. The ecological niche left for specialized vector databases might support one company’s survival, but trying to build an industry around AI stories is …
Vector storage and retrieval is a real need, but specialized vector databases are already dead. The ecological niche left for specialized vector databases might support one company’s survival, but trying to build an industry around AI stories is …
Are Databases Really Being Strangled?

WeChat | Zhihu If “cloud databases” can be considered passable products with slightly underwhelming cost ROI, then many “domestic databases” are simply shoddy, inferior products that can’t be helped. Xinchuang OS/databases are essentially IT …
WeChat | Zhihu If “cloud databases” can be considered passable products with slightly underwhelming cost ROI, then many “domestic databases” are simply shoddy, inferior products that can’t be helped. Xinchuang OS/databases are essentially IT …
Which EL-Series OS Distribution Is Best?

Many users have asked me what operating system is best for running databases. Especially considering that CentOS 7.9 will reach EOL next year, many users should need to upgrade their OS, so today I’m sharing some experience. TL;DR In short, if you’re …
Many users have asked me what operating system is best for running databases. Especially considering that CentOS 7.9 will reach EOL next year, many users should need to upgrade their OS, so today I’m sharing some experience. TL;DR In short, if you’re …
What Kind of Self-Reliance Do Infra Software Need?

WeChat | Zhihu Original When we talk about self-reliance and control, what are we really talking about? For infrastructure software (operating systems/databases), does self-reliance and control mean: developed, distributed, and controlled by Chinese …
WeChat | Zhihu Original When we talk about self-reliance and control, what are we really talking about? For infrastructure software (operating systems/databases), does self-reliance and control mean: developed, distributed, and controlled by Chinese …
Back to Basics: Tech Reflection Chronicles

Recently, there have been some hotly debated topics in the tech community: Are cloud databases an IQ tax? Is public cloud a pig-killing scam? Are distributed databases a false need? Are microservices a stupid idea? Do you still need ops and DBAs? Is …
Recently, there have been some hotly debated topics in the tech community: Are cloud databases an IQ tax? Is public cloud a pig-killing scam? Are distributed databases a false need? Are microservices a stupid idea? Do you still need ops and DBAs? Is …
Database Demand Hierarchy Pyramid

Similar to Maslow’s hierarchy of needs, user demands for databases also have a progressive hierarchy. User demands for databases can be divided into eight levels from bottom to top, corresponding to human needs: Physiological Needs: Functionality - …
Similar to Maslow’s hierarchy of needs, user demands for databases also have a progressive hierarchy. User demands for databases can be divided into eight levels from bottom to top, corresponding to human needs: Physiological Needs: Functionality - …
NewSQL: Distributive Nonsens

WeChat Column As hardware technology advances, the capacity and performance of standalone databases have reached unprecedented heights. In this transformative era, distributed (TP) databases appear utterly powerless, much like the “data middle …
WeChat Column As hardware technology advances, the capacity and performance of standalone databases have reached unprecedented heights. In this transformative era, distributed (TP) databases appear utterly powerless, much like the “data middle …
Is running postgres in docker a good idea?

For stateless app services, containers are an almost perfect devops solution. However, for stateful services like databases, it’s not so straightforward. Whether production databases should be containerized remains controversial. From a developer’s …
For stateless app services, containers are an almost perfect devops solution. However, for stateful services like databases, it’s not so straightforward. Whether production databases should be containerized remains controversial. From a developer’s …
Understanding Time - Leap Years, Leap Seconds, Time and Time Zones

A few days ago, we encountered the quadrennial leap year February 29th. Every time this day comes around, some poorly written software experiences major failures. If you’re unlucky, this type of problem might take four years to surface. For example, …
A few days ago, we encountered the quadrennial leap year February 29th. Every time this day comes around, some poorly written software experiences major failures. If you’re unlucky, this type of problem might take four years to surface. For example, …
Understanding Character Encoding Principles

Programmers deal with Code (both programming code and encoding), and character encoding is the most fundamental type of encoding. The problem of how to represent characters using binary numbers - this character encoding problem is not as simple as it …
Programmers deal with Code (both programming code and encoding), and character encoding is the most fundamental type of encoding. The problem of how to represent characters using binary numbers - this character encoding problem is not as simple as it …
Concurrency Anomalies Explained

Concurrent programs are hard to write correctly and even harder to write well. Many programmers haven’t truly figured out these problems - they just dump them all on the database. Concurrency anomalies aren’t just theoretical problems: these …
Concurrent programs are hard to write correctly and even harder to write well. Many programmers haven’t truly figured out these problems - they just dump them all on the database. Concurrency anomalies aren’t just theoretical problems: these …
Blockchain and Distributed Databases

The essence, intended functionality, and evolutionary direction of blockchain is distributed databases. To be precise, it’s a Byzantine Fault Tolerant (resistant to malicious node attacks) distributed (leaderless replication) database. If this …
The essence, intended functionality, and evolutionary direction of blockchain is distributed databases. To be precise, it’s a Byzantine Fault Tolerant (resistant to malicious node attacks) distributed (leaderless replication) database. If this …
Consistency: An Overloaded Term

The term consistency is heavily overloaded, representing different things in different contexts and situations: In the context of transactions, such as the C in ACID, it refers to the usual Consistency In the context of distributed systems, such as …
The term consistency is heavily overloaded, representing different things in different contexts and situations: In the context of transactions, such as the C in ACID, it refers to the usual Consistency In the context of distributed systems, such as …
Why Study Database Principles

Our school offers a database systems principles course. But I’m still confused. From the first few classes, the teacher started with a bunch of mind-numbing terms and concepts. I thought knowing “how to design and build tables” and “how to perform …
Our school offers a database systems principles course. But I’m still confused. From the first few classes, the teacher started with a bunch of mind-numbing terms and concepts. I thought knowing “how to design and build tables” and “how to perform …
