Skip to content

マルチテナントを実現するミドルウェア

Rubyにはapartmentというgemがある。ただしこれは規模が大きくなると扱いが困難になる。

PostgreSQLの拡張でpg_shardがあって、今はCitusと名前を変えて存続している。これならapartmentより賢くマルチテナントしてくれるが、マネージドサービスで対応しているところがCitus Cloudだけ(?)に限定されてしまう。個人的には、Citus Cloudに依存するのは長期的に不安が残るなと思うけれど、SmartHRはapartmentを使い続けるわけにもいかなかったのだろうから仕方ないか。

PostgreSQL 9.5以降ならRow Level Securityが利用できる。