SuperAPI AI 工具集

stonebraker-database-architecture

数据与分析

查看项目

更新于 10-15 20:28

技能介绍

用途:这是一份数据库架构设计风格指南,提炼 Michael Stonebraker(Ingres、Postgres、VoltDB、Vertica 等系统的创造者)的设计思想,用于指导数据库与存储引擎的架构决策。

主要能力与原则:主张“一种架构通吃所有负载的时代已过去”,不同工作负载需要不同架构。核心原则包括:按工作负载定制设计(OLTP、OLAP、流式、科学数据各不相同);主内存是新磁盘,磁盘用于持久性而非性能;无共享(shared-nothing)水平分区优于共享磁盘;日志即数据库,预写日志(WAL)是持久性基础;干净的抽象与可扩展点让系统长寿(如 Postgres 的 30 多年)。

设计要点:先为特定工作负载设计,之后再泛化;存储引擎与查询处理分离;让常见路径快,即使牺牲边缘情况;提供类型、操作符、索引、语言等扩展点;根据访问模式选择列存或行存。OLTP 倾向行存、点查询、高并发、内存驻留、单线程分区(免锁)、存储过程与确定性执行;OLAP 倾向列存、全扫描、压缩(RLE、字典、增量)、投影存储与读写分离。并发上,单分区事务走无协调快路径,跨分区事务用两阶段提交。

使用方式:资料未提供具体安装命令或调用方式,仅给出架构模式与代码示例(如 WAL 追加与恢复、分区路由、可扩展类型定义)。

适用场景:数据库内核、存储引擎、分布式事务系统的架构设计与评审。

限制:资料为设计理念与示例,未提供可直接运行的完整实现、性能数据或平台支持信息。