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.
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.
- Perspectivas legales y éticas sobre la IA generativa
- Más que solo reptiles Explorando el conjunto de herramientas de las iguanas para la explicabilidad de IA más allá de los modelos de caja negra
- ¿Qué significa ‘Basura entra, basura sale’ al resolver problemas reales de negocios?
¿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!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- El papel de la IA generativa en las cadenas de suministro
- El Enigma para ChatGPT PUMA es un Enfoque de IA que Propone una Forma Rápida y Segura para la Inferencia de LLM
- Cómo aprobar el examen del Certificado Profesional de Científico de Datos
- Meta revela nueva herramienta de codificación Code Llama
- Decodificando emociones Revelando sentimientos y estados mentales con EmoTX, un novedoso marco de inteligencia artificial impulsado por Transformer
- Deprecación de la autenticación de Git utilizando contraseña
- Comenzando con la IA