<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Databases on Chen Kai Blog</title><link>https://www.chenk.top/zh/series/databases/</link><description>Recent content in Databases on Chen Kai Blog</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Tue, 30 Apr 2024 09:00:00 +0000</lastBuildDate><atom:link href="https://www.chenk.top/zh/series/databases/index.xml" rel="self" type="application/rss+xml"/><item><title>数据库（八）：实战中的数据库——迁移、监控与故障案例</title><link>https://www.chenk.top/zh/databases/08-database-in-practice/</link><pubDate>Tue, 30 Apr 2024 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/databases/08-database-in-practice/</guid><description>&lt;p>理解数据库内部原理只是成功的一半；另一半是在生产环境中持续稳定运行它——不丢数据、不掉可用性，更别在凌晨三点被警报叫醒。本文聚焦于那些只能靠实战积累的运维知识：没人会在出事前告诉你，但一旦出事，你立刻就需要它们。&lt;/p></description></item><item><title>数据库（七）：分布式事务——两阶段提交、Saga 模式，以及为何共识如此困难</title><link>https://www.chenk.top/zh/databases/07-distributed-transactions/</link><pubDate>Sun, 28 Apr 2024 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/databases/07-distributed-transactions/</guid><description>&lt;p>第 3 篇文章中关于事务的所有内容，均基于单数据库服务器假设——一台机器、一份事务日志、一个锁管理器。一旦数据分布到多台机器上——例如实施分片（sharding）、采用微服务架构（各服务独享数据库）或启用强一致性复制——便直面分布式系统最棘手的问题：&lt;strong>多台机器如何就某个值达成一致？&lt;/strong>&lt;/p></description></item><item><title>数据库（六）：复制与分片——突破单机限制的扩展之道</title><link>https://www.chenk.top/zh/databases/06-replication-and-partitioning/</link><pubDate>Fri, 26 Apr 2024 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/databases/06-replication-and-partitioning/</guid><description>&lt;p>一台数据库服务器能承载惊人的负载——一个调优良好的 PostgreSQL 实例每秒可处理数万次查询。但终究会遇到瓶颈：可能是读吞吐量超出了单颗 CPU 的能力，需要数据在数据中心火灾中幸存，又或者数据集已经超出单块磁盘的容量。此时，你就需要&lt;strong>复制（Replication）&lt;strong>与&lt;/strong>分片（Partitioning / Sharding）&lt;/strong>。&lt;/p></description></item><item><title>数据库（五）：NoSQL——文档型、键值型、列式与图数据库</title><link>https://www.chenk.top/zh/databases/05-nosql-landscape/</link><pubDate>Wed, 24 Apr 2024 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/databases/05-nosql-landscape/</guid><description>&lt;p>并非所有数据都能被整齐地塞进行与列中。社交网络中的好友关系图、属性千差万别的商品目录、实时排行榜，以及推荐引擎背后的关系网络——这些工作负载都会让关系型数据库显得力不从心。NoSQL 数据库之所以存在，正是因为不同的数据模型能更高效地解决不同类型的问题。关键在于，你要知道该选用哪一种。&lt;/p></description></item><item><title>数据库（四）：存储引擎——数据如何落盘</title><link>https://www.chenk.top/zh/databases/04-storage-engines/</link><pubDate>Mon, 22 Apr 2024 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/databases/04-storage-engines/</guid><description>&lt;p>你写的每一条 SQL 语句，最终都会变成写入磁盘的字节流。负责完成这一转换的组件——&lt;strong>存储引擎（Storage Engine）&lt;/strong>——对数据库性能的影响，几乎超过其他任何因素。两张结构完全相同、数据也完全一致的表，仅因底层存储引擎不同，性能表现可能天差地别。只有深入理解这一层，才能真正明白&lt;strong>数据库的行为为何如此&lt;/strong>。&lt;/p></description></item><item><title>数据库（三）：事务与并发控制——ACID、隔离级别与锁机制</title><link>https://www.chenk.top/zh/databases/03-transactions-and-concurrency/</link><pubDate>Sun, 21 Apr 2024 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/databases/03-transactions-and-concurrency/</guid><description>&lt;p>任何处理资金、库存或任何关键状态的应用，最终都会遭遇并发 Bug：两名用户同时抢购最后一件商品；一笔银行转账从一个账户扣款成功，却在向另一账户入账前崩溃；一份报表读取到半更新的数据，输出荒谬的统计结果。事务（Transaction）正是为防止此类故障而生——理解其工作原理，对构建生产级系统而言绝非可选项，而是必修课。&lt;/p></description></item><item><title>数据库（二）：索引与查询规划——数据库如何找到你的数据</title><link>https://www.chenk.top/zh/databases/02-indexing-and-query-planning/</link><pubDate>Fri, 19 Apr 2024 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/databases/02-indexing-and-query-planning/</guid><description>&lt;p>在笔记本上查 1,000 行只需 2 毫秒的查询，到了生产环境面对 5,000 万行数据时，可能暴涨到 45 秒——除非你建对了索引。索引是数据库工具箱里对性能影响最大的单项优化；吃透它，会彻底改变你设计 Schema 和写 SQL 的方式。&lt;/p></description></item><item><title>数据库（一）：数据模型与 SQL —— 为何关系型表结构至今仍占主导地位</title><link>https://www.chenk.top/zh/databases/01-data-models-and-sql/</link><pubDate>Wed, 17 Apr 2024 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/databases/01-data-models-and-sql/</guid><description>&lt;p>你用过的每一个应用程序，其底层都依赖某种数据模型。一旦选错，接下来三年你可能都在跟数据库搏斗，而不是专注交付新功能。&lt;/p>
&lt;p>过去四十年间，一种模型始终占据主导地位：&lt;strong>关系模型（Relational Model）&lt;/strong>——扁平的表结构、外键、SQL。它既不炫酷，也不时髦，但几乎每一家银行、航空公司、医院和电商平台仍在使用它，背后自有深刻原因。理解这一点，是真正掌握数据库的第一步。&lt;/p></description></item></channel></rss>