¿Cuáles son las ventajas de usar una base de datos en una aplicación web en lugar de un diccionario de Python?

Las aplicaciones pueden cerrarse por una variedad de razones, que es una de las razones por las que tendemos a escribir cosas importantes en bases de datos persistentes, como mysql o sqlite.

Por ejemplo, supongamos que tiene una nueva versión de su aplicación web que desea expulsar (lo que significa que debe reiniciar la aplicación), todo lo que esté en un diccionario dejará de existir cuando la aplicación desaparezca porque los diccionarios son parte de la ejecución aplicación, mientras que los datos en una base de datos sobrevivirán al reinicio de la aplicación porque es externa a la aplicación.

Hay muchas otras razones para usar una base de datos, como la funcionalidad de consulta adicional. También es más fácil compartir datos cuando sus datos están en una base de datos en diferentes aplicaciones. Hay formas sin usar una base de datos en las que puede obtener una funcionalidad de consulta adicional o compartir datos entre aplicaciones, pero la base de datos tiende a ser la forma más fácil de hacerlo.

Aquí hay una guía muy básica: si se supone que los datos deben sobrevivir por más de 5 minutos, probablemente debería almacenarlos en una base de datos. Por ejemplo, un objeto de datos que define a un usuario debe sobrevivir durante mucho tiempo, por lo que debe colocarlos en una base de datos. Por otro lado, algunos datos son temporales y no necesitan almacenarse en una base de datos. Por ejemplo, un diccionario pasado como parámetro a una función solo necesita sobrevivir hasta que la función se complete con los datos, por lo que sería muy ineficiente colocar eso en una base de datos.