DHHが考えるRailsのバリデーション設計

に公開2
OSIRO テックブログ

Discussion

北市真北市真

PostgreSQLとかMySQLみたいにネットワーク越しにアクセスする場合は、レイテンシーと、あとバリデーションのコンピューティングリソースをどのコンピューターで持つかというのも問題になりそうですね。なるべくDBでの計算を減らして、横にスケールするアプリケーションでやった方が全体のスループットが増える、とかあるかも知れません。
(RailsのバリデーションでもDBにアクセスが発生したりすると思いますが、傾向として)
SQLite推進、という流れからは気にしないでいいことなんだと思いますが、現実問題としてそういうDBは使われているので。

と言いつつ、そんなに大きなアプリケーションを扱ったこと無いのでエアプですが・・・

webuilder240webuilder240

なるべくDBでの計算を減らして、横にスケールするアプリケーションでやった方が全体のスループットが増える、とかあるかも知れません。

そうですね。おっしゃるとおりだと思います。ここからは憶測の域を出ませんが、MySQLであろうがSQliteであろうが、DHHにとってはレイテンシーやバリデーションのコンピューティングリソースについては取るに足らないということなのだと思いますし、サービスの性質によっても大きく異なりそうですね。攻撃はWAFで防げばよいのではということもありますし。

なので、私も自信を持ってDB制約やCHECK制約があればいけるっしょって言えないというのが実情かなと。そういった部分も含めて、個人・チームで自信を持って答えを出せる人だけが、RailsのバリデーションをSkipしてもいいというのが私の結論ですねー