私の観点からは、データベースは常にボトルネックです。CPUパワーを必要な値にスケーリングできるため。クラスタリングまたはレプリケーションを使用しても、db リソースは制限されます。ここで間違っているかもしれませんが、これらはクラウド ソフトウェアに関するこれまでの私の経験です。
だから私は、リレーションをデータベースから切り離すことで、データベースのリソースを節約できると思いませんか?
たとえば、users テーブルと user_friends テーブルがあるとします。user_friends の外部キーは、users テーブルの主キーです。したがって、users テーブルに ON DELETE のような関係がある場合 -> DELETE FROM user_friends... データベースは魔法のように一貫性を保ち、必要なすべてのクエリを実行します。私のソフトウェアが DELETE FROM users WHERE user_id... と DELETE FROM user_friends WHERE friend_id... の 2 つの単純なクエリを実行する場合、より高速ではありませんか?
もちろん、ダウンフォールは矛盾する可能性がありますが、これはDBの負荷をまったく軽減しませんか?