数据库系统与概念
ClickHouse 是俄罗斯 Yandex 于2016年开源的列式分析数据库,专为 OLAP 海量数据实时查询设计。以惊人的查询速度著称,在数十亿行数据上的聚合查询往往能在秒内返回,被大量互联网公司用于埋点分析、实时报表和用户行为分析。
数据库数据库连接池是在应用层维护一组预建立数据库连接的缓存机制,避免每次请求都重新建立 TCP 连接和数据库握手的巨大开销。连接池的配置直接影响数据库性能和稳定性,是后端服务与数据库之间的关键中间层。
数据库数据库范式(Normal Form)是关系数据库设计的规范化准则,通过消除数据冗余和更新异常来保证数据逻辑一致性。从第一范式(1NF)到第五范式(5NF),层层递进,实践中通常以第三范式(3NF)或 BCNF 为设计目标。
Redis 提供两种持久化机制:RDB(Redis Database Backup,快照)和 AOF(Append Only File,追加日志),两者各有侧重,生产环境通常同时开启以兼顾恢复速度和数据完整性。
数据库时序数据库(TSDB)专门优化存储和查询按时间戳组织的数据,如服务器监控指标、IoT 传感器读数、金融交易记录等。相比通用数据库,时序数据库在时间范围查询、降采样聚合、数据自动过期等操作上有数量级的性能优势。
数据库数据库锁是并发控制的基础机制,通过限制多个事务对同一数据的同时访问来保证一致性,主要分为共享锁与排他锁,粒度从表级到行级甚至间隙级各有权衡。
数据库B+ 树是 B 树的变体,是数据库索引和文件系统中最广泛使用的数据结构。所有数据存储在叶节点,叶节点通过链表相连,内部节点只存键值用于导航,兼顾了点查和范围查询的高效性。
数据库Memcached 是一款高性能的分布式内存缓存系统,由 Brad Fitzpatrick 于2003年为 LiveJournal 开发。架构极度简单:纯键值存储,不持久化,不支持复杂数据结构,但正因如此,它的吞吐量和延迟表现在同类产品中至今仍有竞争力,是大型网站减轻数据库压力的经典工具。
数据库慢查询优化是数据库性能调优中最直接见效的工作,通过识别执行时间超过阈值的 SQL 语句,分析其执行计划,并通过加索引、改写 SQL、调整配置等手段缩短执行时间,是后端工程师的必备技能。
数据库ACID 是数据库事务正确执行所必须满足的四个属性的首字母缩写:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。由 Jim Gray 和 Andreas Reuter 于1983年正式定义,是衡量关系型数据库可靠性的核心标准。
数据库Cassandra 是 Apache 基金会旗下的分布式 NoSQL 数据库,起源于 Facebook 的收件箱搜索项目,2008年开源。采用去中心化的环形架构,无单点故障,以线性水平扩展和跨数据中心复制能力见长,适合超大规模写入密集型场景。
数据库物化视图是将查询结果预先计算并持久化存储的数据库对象,用空间换时间,适合复杂聚合查询频繁被访问但底层数据更新不那么频繁的场景,是数据仓库的常用技术。
数据库EXPLAIN 是 SQL 数据库提供的查询分析命令,展示优化器选择的执行路径、索引使用情况和预估代价,是 SQL 调优最核心的诊断工具,几乎所有主流数据库都支持。
数据库B+ 树是关系型数据库中最主流的索引数据结构,所有数据存储在叶节点且叶节点组成有序链表,既支持高效的等值查找也支持范围查询,是 InnoDB、PostgreSQL 等几乎所有 RDBMS 默认索引结构的选择。
数据库覆盖索引指查询所需的所有列都包含在某个索引中,数据库引擎无需回表读取原始行数据即可返回结果,是减少随机 I/O、大幅提升读性能的关键技巧。
数据库谷歌 2006 年论文公开的分布式宽列存储系统,NoSQL 运动的思想源头之一,HBase 即其开源实现。
数据库TPC 组织制定的决策支持(OLAP)基准测试,以 22 条复杂查询衡量分析型数据库性能。
数据库DynamoDB 是 Amazon Web Services 提供的全托管 NoSQL 键值与文档数据库,2012年发布。无需管理服务器,按读写容量单位计费,能自动扩展至任意规模,以稳定的个位数毫秒延迟和99.999%的可用性 SLA 著称,是 AWS 生态中最核心的数据存储服务之一。
数据库经典的查询执行模型,每个算子实现 next() 接口逐行拉取数据,结构优雅但函数调用开销大。
数据库基本可用、软状态、最终一致——与 ACID 相对的大规模分布式系统设计哲学。