質問: 管理者と普通のユーザーに別の権限を与えるにあたって、 実現方法1: User データベースと Adminデータベースを作る 実現方法2: User モデルに、is_adminカラムを作り、adminの場合はtrue にする。 などがあると思いますが、 大規模アプリケーションにおける2のデメリットを伺いたく存じます。 自分はずっと、2のやり方はあまり好ましいものではないのだと思い込んで来ましたが、その具体的なデメリットが分からなくなって来ました。 たとえば、多くの人が使っているwordpressでは2の方法が取られていると思います。 実装的には2の方が簡単です。 どちらの方が広く使われている手法なのか?大規模アプリケーション(1万人以上が登録利用する想定)ではどうか?など伺いたく存じます。
回答: データベースにはテーブル単位・列単位で権限をかけられるので、管理者用アカウントを別テーブルにした場合、**データベースレベルで**ユーザーからは管理者テーブルを読み書き不可にしてしまうこともできます(もっとも、そこまで厳格に行うことは多くないでしょうが)。