Используйте комбинированный подход. Где удобнее 1 — тогда 1, где 2 — тогда 2 итп. Старайтесь делать в приоритете 2. Не занимайтесь параноей, и не старайтесь всё переложить на базу.
Логически правильнее второй подход. Но очень часто 1 подход на много более выгоден с точки зрения времени разработки или ресурсоёмкости.