Postgres+Citus
データ格納を
分散ノード
で行い、
マルチテナント
でありがちな
パフォーマンス問題
を解決
ノード追加が容易でスケーラビリティがある
キー(tenant_id等)が同じデータを同じノードに納するため、テナント単位での集計が高速
Citusだけで
データ混濁
を避けられるわけではない
shimizukawa.icon
RLS
の併用で解決すると思う(推奨される方法かは分からない
2021/04/24
時点)
citus の docker イメージ
https://docs.citusdata.com/en/v10.0/installation/single_node_docker.html
Azure Database for PostgreSQL - Hyperscale (Citus)
が提供されている
2019年1月29日: マイクロソフト、PostgreSQL用の分散DBエンジンをオープンソースで開発するCitus Dataを買収。Azure上のPostgreSQLサービスを強化
django-multitenant
(Citus製)はデータ混濁を防いでくれる仕組みを提供する
django-multitenant + Postgres+Citus によってスケールラブルなマルチテナント環境を安全に提供できる
参考スライド
つらくないマルチテナンシーを求めて: 全て見せます! SmartHR データベース移行プロジェクトの裏側 / builderscon 2018