Streamlit y MongoDB Almacenando tus datos en la nube

Streamlit y MongoDB en la nube

Streamlit Cloud no tiene almacenamiento local, por lo que los datos creados se pierden cuando se termina la aplicación, a menos que uses un almacenamiento de terceros como MongoDB.

Una base de datos NoSQL vintage - Foto de Jan Antonin Kolar en Unsplash

Streamlit te permite desplegar tus aplicaciones públicas en su nube de forma gratuita, pero cualquier archivo o base de datos que crees localmente dejará de existir cuando la aplicación termine. Esto puede no ser el comportamiento que deseas, por lo que vamos a explorar una solución utilizando MongoDB.

Para muchas aplicaciones, perder estos datos no es un problema. Por ejemplo, si has diseñado un panel de control que lee datos de una fuente externa, cualquier dato que generes probablemente sea temporal y solo necesario mientras la aplicación esté en ejecución.

Pero, como mencioné al desarrollar mi aplicación para el artículo “Encuestas simples con Streamlit”, si la aplicación misma genera datos que necesitan ser almacenados, no es tan sencillo. En esa aplicación, almacené los datos en un archivo local, pero en un despliegue basado en la nube, dejarán de existir cuando la aplicación deje de ejecutarse; la solución adecuada es utilizar un almacenamiento de datos externo.

Vamos a ver cómo podemos lograr esto con MongoDB, pero también hay alternativas.

¿Cuáles son las opciones?

En la documentación de Streamlit, hay guías para conectarse a varias bases de datos y proveedores de almacenamiento en la nube. Básicamente se dividen en tres áreas: contenedores de datos como AWS S3 y Google Cloud Storage, donde puedes almacenar cualquier cosa; bases de datos SQL como Microsoft SQL Server, MySQL, PostgreSQL; y bases de datos NoSQL, de las cuales Firestore y MongoDB son ejemplos. Para cada tipo, obviamente necesitas acceso a un servidor que aloje esa base de datos en particular.

Siendo completamente honesto, no soy el mayor fan de SQL. Me parece que hay una desconexión entre el código SQL y Python que resulta incómoda. (Dicho esto, definitivamente aprecio el poder y la conveniencia de SQL y he escrito al respecto aquí, aquí y aquí).

Pero, las bases de datos NoSQL como MongoDB parecen encajar de manera más armoniosa en la forma de hacer las cosas en Python.

Estoy seguro de que hay todo tipo de argumentos sobre velocidad, eficiencia, facilidad de uso, seguridad y no sé qué más. Pero no voy a entrar en eso…

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

NVIDIA impulsa el entrenamiento para algunos de los modelos más grandes de la Fundación Amazon Titan.

Todo sobre los grandes modelos de lenguaje es grande: los modelos gigantes se entrenan en conjuntos de datos masivos ...

Inteligencia Artificial

¿Cómo sobrevivir en el mundo de la IA? ¿Está en riesgo tu trabajo?

¿Está en riesgo tu trabajo? Es una pregunta que atormenta a muchos trabajadores, y no estoy hablando en el contexto d...

Inteligencia Artificial

Revelando Redes de Flujo Bayesiano Una Nueva Frontera en la Modelización Generativa

La Modelización Generativa se encuentra dentro del aprendizaje automático no supervisado, donde el modelo aprende a d...