La sicurezza di un db dipende da quanto tempo si impiega a decifrarne i dati contenuti dopo che è stato"rubato", che poi è il caso peggiore..
Ovviamente il db è solo l'ultima cosa da mettere in sicurezza in un sito/webapp. Prima ci sono tante altre come xss, csrf, SQL injection, ecc..
Per il consumo di risorse si può fare l'esempio di bcrypt e il suo round:
Con un round di 12 si possono ricavare (molto approssimativamente dato che dipende dall'hardware) circa 2-3 hash/sec.
Ciò impatta sia sui tempi di inserimento di una nuova password sul db (ad esempio quando registri un nuovo utente), che sulla comparazione (ad esempio quando fai il login o si fa bruteforce). Quindi bisogna trovare un compromesso tra usabilità (login) e sicurezza (bruteforce).
In generale comunque non tutti i dati vanno hashati/criptati sia perché non sono poi così sensibili, sia perché poi il software sarebbe inutilizzabile (se metti un round di 30 su bcrypt ci vuole approssimativamente una giornata per calcolare l'hash...).
Bisogna poi considerare la nuova normativa gpdr, che però non ho ancora letto/approfondito.
Inviato dal mio Moto G (5) Plus utilizzando Tapatalk