跳过正文
数据库老司机

数据库老司机

MinIO已死,谁能接盘?

MinIO已死,谁能接盘?

·2257 字·5 分钟
MinIO进入维护模式,有什么替代品?Ceph、RustFS、SeaweedFS、Garage各有各的问题。老冯把这些方案都打好了包挨个试了一遍,总结一句话:没有完美替代。
MinIO已死

MinIO已死

·3488 字·7 分钟
MinIO官方宣布开源项目进入"维护模式",基本上宣告了MinIO作为一个开源项目的死亡。屠龙勇者成为新的恶龙——MinIO是如何从S3开源替代变成一家普通的商业软件公司的。
DDIA第二版中文翻译

DDIA第二版中文翻译

·1789 字·4 分钟
曾经的互联网名著DDIA——设计数据密集型应用第二版已经发布到第十章了。老冯用Claude Code翻译成中文,并用Hugo/Hextra重构成易读的网页版。第二版新增了向量数据库HNSW索引等内容,温故知新。
懂车帝暴打智驾,懂库帝在哪里

懂车帝暴打智驾,懂库帝在哪里

·992 字·2 分钟
懂车帝搞的智驾评测视频让一众国产自动驾驶现了原形,封闭高速真实测试结果全军覆没,只有特斯拉能打。什么时候国产数据库和云计算也能有个"封闭高速"给大家上来溜一溜,拆穿这股满嘴跑火车的行业歪风?
MySQL vs PostgreSQL @ 2025

MySQL vs PostgreSQL @ 2025

·10620 字·22 分钟
在2025年的当下,MySQL无论是在功能特性集、质量正确性、性能表现还是生态与社区上都被PostgreSQL拉开了差距,而且这个差距还在进一步扩大中。本文从功能、性能、质量、生态来全方位对比两者。
开源“暴君”Linus清洗整风

开源“暴君”Linus清洗整风

·1679 字·4 分钟
Linus踢出了几位俄罗斯籍开发者,引发开源世界一片哀嚎。但Linux是Linus的个人项目,三十年前是,现在也依然是。Linux社区本质是帝制的,而Linus本人就是最早且最成功的技术独裁者。
CVE-2024-6387 SSH漏洞修复

CVE-2024-6387 SSH漏洞修复

·343 字·1 分钟
CVE-2024-6387是一个严重的OpenSSH漏洞,影响EL9、Ubuntu 22.04、Debian 12等较新版本操作系统。老系统如CentOS 7.9、Ubuntu 20.04因OpenSSH版本老反而逃过一劫,请用户及时更新修复。
MySQL正确性竟如此垃圾?

MySQL正确性竟如此垃圾?

·6865 字·14 分钟
MySQL的事务ACID存在缺陷,且与文档承诺不符。JEPSEN测试揭示MySQL的可重复读隔离级别既不原子也不单调,连基本的单调原子视图都不满足。这可能导致严重的正确性问题,使用时请务必谨慎。
正本清源:技术反思录

正本清源:技术反思录

·1708 字·4 分钟
降本增效的主旋律触发了所有技术的价值重估,当然也包括数据库。本系列将评述数据库领域热点技术,并对其在当下的利弊权衡发出灵魂拷问:云数据库、分布式数据库、微服务、K8S容器化等技术,究竟是真需求还是伪需求?
数据库需求层次金字塔

数据库需求层次金字塔

·3701 字·8 分钟
与马斯洛需求金字塔类似,用户对数据库的需求也有递进的层次:功能正确性、安全备份、高可用监控、性能成本、可观测性、易用性控制、标准化产品化、最终达到超越与自我实现。
理解字符编码原理

理解字符编码原理

·10668 字·22 分钟
如果不了解字符编码的基本原理,即使只是简单常规的字符串比较、排序、随机访问操作,都可能会一不小心栽进大坑中。本文详细解析ASCII、Unicode、UTF-8等编码原理,希望能讲清楚这个问题。
并发异常那些事

并发异常那些事

·12009 字·24 分钟
并发程序很难写对,更难写好。很多程序员只是把问题丢给数据库,但即使最强大的ACID数据库也会使用弱隔离级别。本文阐述SQL92标准定义的隔离级别及其缺陷,以及现代模型中的隔离级别定义。
区块链与分布式数据库

区块链与分布式数据库

·1118 字·3 分钟
区块链的技术本质、提供的功能及演化方向就是分布式数据库。确切地讲,是拜占庭容错(抗恶意节点攻击)的分布式(无领导者复制)数据库。智能合约本质上就是这个分布式数据库上的存储过程。
一致性:过载的术语

一致性:过载的术语

·1565 字·4 分钟
一致性这个词重载得很厉害,在不同语境中代表着不同的东西。ACID里的C指事务一致性,CAP里的C指线性一致性,此外还有"一致性哈希"、“最终一致性"等不同涵义。本文梳理这些概念的区别。
为什么要学习数据库原理

为什么要学习数据库原理

·4240 字·9 分钟
只会写代码的是码农,学好数据库基本能混口饭吃。然而对优秀的工程师来说,只会用数据库是远远不够的。绝大多数应用都是数据密集型应用,数据库提供了对应用通用存储需求的高级抽象。