Giter VIP home page Giter VIP logo

postgresinternals's Introduction

PostgreSQL 内部机制剖析

本文档适用于PostgreSQL数据库管理人员和系统开发人员。

🐘 本文翻译自 Hironobu SUZUKI 的经典系列文章 The Internals of PostgreSQL

介绍

本文档着笔于PostgreSQL内部机制剖析,面向数据库管理员和系统开发人员。

PostgreSQL是一个开源的多用途的关系数据库系统,在世界范围内得到了广泛使用。这是一个集成多个子系统的庞大系统,每个子系统都具有特定的复杂功能并相互协作。对内部机制的理解,对于使用PostgreSQL进行管理和集成是至关重要的,但是它的庞大和复杂性却会阻碍理解过程。本文档的主要目的是:解释每个子系统的工作机制,并提供PostgreSQL的整体概况。

本文档基于我在2012年用日语撰写的那本书(ISBN-13:978-4774153926)的第二部分,该书由七个部分组成,涵盖版本11及其更早的版本。

本文档的中文版本已于2019年5月出版。

内容

  1. 数据库集群、数据库和表 Database Cluster, Databases and Tables
  2. 进程和内存架构 Process and Memory Architecture
  3. 20%查询处理 Query Processing
  4. 外部数据封装器和并行查询 Foreign Data Wrappers (FDW) and Parallel Query
  5. 0%并发控制 Concurrency Control
  6. 0%VACUUM处理 VACUUM Processing
  7. 0%仅堆元组和仅索引扫描 Heap Only Tuple (HOT) and Index-Only Scans
  8. 缓冲区管理器 Buffer Manager
  9. 30%预写式日志 Write Ahead Logging (WAL)
  10. 基础备份和时间点恢复 Base Backup and Point-In-Time Recovery (PITR)
  11. 流复制 Streaming Replication

导览图

变更历史

自2018年6月3日以来的变更历史记录如下:

日期 描述
2019-03-27 Added "Indexes Internals" in Section 1.4.2 and Section 3.2.2.3.
2018-12-15 Fixed Section 3.3.2.1. Based on the cheapest access path obtained here, a query tree a plan tree is generated.
2018-10-10 Improved Section 8.1.2.
2018-10-01 Fixed Section 3.3.2.2. (3) Create a path, estimate the cost of the sequential scan and add the path to the indexlist pathlist of the RelOptInfo.
2018-08-24 Added Section 4.1.
2018-08-13 Changed in Section 9.7.
2018-08-13 Added "How to Maintain AUTOVACUUM" in Section 6.5.
2018-08-03 Added "Why the checkpointer was separated from the background writer?" in Section 8.6.
2018-06-03 Updated for Version 11. Updated Section 6.1.1. Added "WAL segment file size" in Section 9.2. Added "Removal of prior checkpoint in PostgreSQL 11" in Section 9.7.2. Updated Section 9.9.2. Updated Section 10.1.1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.