Postgres+Citus
データ格納を分散ノードで行い、マルチテナントでありがちなパフォーマンス問題を解決
ノード追加が容易でスケーラビリティがある
キー(tenant_id等)が同じデータを同じノードに納するため、テナント単位での集計が高速
Citusだけでデータ混濁を避けられるわけではない
shimizukawa.iconRLSの併用で解決すると思う(推奨される方法かは分からない 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