Skip to content

PostgreSQL設計ガイドライン: マルチテナントの分離方式4パターンのうち、DB分離・スキーマ分離を選ぶ条件が記載されていない #359

Description

@ma91n

概要

documents/forDB/postgresql_guidelines.md の「マルチテナント」章で、テナント分離方式を4パターン提示し比較表まで用意しているが、本文の推奨では2パターンの選択条件しか示されていない。

該当箇所

提示している方式(表):

分類 No 方式
サイロモデル 1 テナントをインスタンスで分離
ブリッジモデル 2 テナントをDBで分離
3 テナントをスキーマで分離
プールモデル 4 テナントを単一テーブルで管理しRow Level Security(RLS)で分離

本文の推奨:

  • 費用の許容度が高く、ノイジーネイバーの問題をゼロにする強い制約があればインスタンス分離する
  • テナント数が多大であれば、スキーマ適用コストを抑えるためにRLSを採用する

論点

No.2(DB分離)と No.3(スキーマ分離)を選ぶ条件が本文にないため、読者は比較表を見た後で「ブリッジモデルはどういうときに選ぶのか」を判断できない。次のいずれかの対応が考えられる。

  • ブリッジモデル(DB分離・スキーマ分離)を選ぶ条件を推奨に追記する
  • ブリッジモデルを積極的には推奨しない方針であれば、その旨と理由を明記する

背景

テクニカルライティングレビュー(PR #357)の過程で発見。判断基準そのものの追加が必要で、文章表現の調整では解決しないため起票した。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions