タグ

ブックマーク / www.postgresqlinternals.org (4)

  • はじめに · PostgreSQL Internals

  • アーキテクチャ概要 - PostgreSQL Internals

    PostgreSQLの構成要素 PostgreSQLの構成要素としては、大きくプロセスとメモリとファイルがあります。上記の図のように複数のプロセスがさまざまなメモリの領域を使って、ファイルのデータにアクセスするという構造になっています。 プロセスには、クライアントからの接続を受け付けるリスナプロセス、SQLの処理を実際に行うバックグラウンドプロセス、それ以外にもバックグラウンドライタやログを出力するロガープロセス、あとWALライタなどのプロセスがあります。 メモリには、共有バッファやWALバッファなどを始めとした、さまざまなメモリの領域があります。 ファイルは、実際のユーザデータを保持しているテーブルファイルやインデックスファイルがあります。また、トランザクションログファイル、アーカイブログファイルなどもあります。 PostgreSQLの内部では、これらが関連して動作しています。 Post

    アーキテクチャ概要 - PostgreSQL Internals
  • エグゼキュータ - PostgreSQL Internals

    エグゼキュータの役割 テーブルスキャン インデックススキャン 結合 エグゼキュータは、SQLを実行する最後の段階で、実際にブロックアクセスなどによってデータを読み込んだり演算して返却したりする処理です。 エグゼキュータの中では、テーブルスキャン、インデックススキャン、結合というような処理が行われていますが、ここでは結合、JOINに絞って見ていきます。 結合処理 Nested Loop Join Merge Join Hash Join PostgreSQLでは、大きく分けて3つ結合処理、Nested Loop Join、Merge Join、Hash Joinが実装されています。 Nested Loop Join Nested Loop Join Outer tableを一行読んで、Inner table のカラムに該当する値を探す Outer tableが少ないのが望ましい Inner

    エグゼキュータ - PostgreSQL Internals
  • PostgreSQL Internals

    コンテンツは、2014年1月30~31日に筑波大学で開講された「情報システム特別講義D」における講義「Inside PostgreSQL Kernel」の内容を再構成、加筆・修正したものです。 はじめに コンテンツについて コンテンツへのフィードバックについて アーキテクチャ概要 PostgreSQLの構成要素 PostgreSQLの基的なアーキテクチャ SQL文の処理される流れ トランザクション管理 トランザクション処理におけるACID特性 各レコードの可視性の管理 Atomicity(原子性)の実装 Consistency(一貫性)の実装 Isolation(分離性)の実装 トランザクション分離レベルの定義 Durability(永続性)の実装 チェックポイント メタデータ管理 pg_controlファイル OID/XID/TID システムカタログ MVCCとストレージ構造 テ

  • 1