Manuel Durán
me siento como en dora la exploradora, a veces, respondiendole a una pantalla...
Osvaldo Garcia
Es una alegoría excelente!
Esteban Josué Alvarado Vargas
toda la razón! 😂 😂 😂
¿Cómo migrar datos a Firestore?
Firestore es una herramienta poderosa y flexible para almacenar datos. Migrar datos relacionales a Firestore puede parecer un desafío, pero siguiendo algunas pautas esenciales, puedes garantizar una transición fluida y eficiente. Aquí te explicamos cómo convertir los datos de PlatziBlog a esta plataforma.
¿Cómo estructurar tus datos en Firestore?
Cuando estamos trasladando datos a Firestore, debemos decidir cómo vamos a estructurar estos datos. Firestore utiliza una jerarquía basada en:
Estas entidades necesitan ser planificadas de manera que se adapten a nuestro modelo de datos original pero también a nuestras necesidades de consulta.
¿Usuario como colección principal o subcolección?
Una de las primeras decisiones a tomar es cómo organizaremos nuestros usuarios. Firestore nos permite dos enfoques válidos:
¿Cómo organizar los posts y categorías?
Los posts, al igual que los usuarios, se pueden estructurar de diferentes maneras:
Ambas opciones son válidas y dependerán de cómo planeas consultar estos datos y de la estructura de tu aplicación.
¿Dónde guardar los comentarios y etiquetas?
Los comentarios suelen estar claramente vinculados a un post. Por esta razón, es recomendable almacenarlos directamente como subcolecciones dentro de cada documento de post.
En cuanto a las etiquetas, puedes optar por:
Consejos para replantear la estructura de datos
Cuando trabajas con Firestore, es crucial pensar no solo en la estructura de datos, sino también en cómo estos datos se presentan y se utilizan en el frontend.
Este enfoque te ayudará a estructurar tus datos de una manera que maximice la eficiencia y el rendimiento.
Con estas recomendaciones, estarás listo para migrar tus datos de una base relacional a Firestore de manera efectiva y eficiente. ¡No te detengas y sigue aprendiendo y experimentando! La flexibilidad de Firestore te permitirá encontrar la estructura que mejor se adapte a tus necesidades específicas.
Manuel Durán
me siento como en dora la exploradora, a veces, respondiendole a una pantalla...
Osvaldo Garcia
Es una alegoría excelente!
Esteban Josué Alvarado Vargas
toda la razón! 😂 😂 😂
Paul Cortes
Notas Las bases de datos no relacionales, no están optimizadas para hacer "queries", sino mantener el estado de la aplicación por ende si se desean luego hacer reportes en la aplicación de diferentes datos, no es recomendable usar BD NoSQL
Jose Alejandro Rivillas
@paulker no todas las bases de datos no relaciones no están optimizadas para hacer "queries", hay algunas que sí, como "Big Query", sino que las basadas por documento, se enfocan más en mantener los datos vivos (Son muy rapidas, activas) , entonces para estas si aplica eso. Y recuerda que las NoRDB no son un conjunto unico como generalmente las RDB. Las No Relational Data Bases son de diferente tipo.
Saludos! :)
Daniel Andrés Giraldo Benites
me parece que haces mas referencia a las basadas en documentos, porque recuerda que las Optimizadas para búsqueda, su ventaja radica en que se pueden hacer queries y búsquedas complejas de manera sencilla. Ejemplos: BigQuery, Elasticsearch.
Jordan Sobrino Santos
Firestore, es una base de datos basada en documentos, pensada en lo siguiente:
Podemos hacer consultas sencillas en base a las top level collecttion. Ahora si queremos hacer consultas mas complejas podríamos usar big query, que es un data wharehouse.
jose carlos gonzalez
¿Cuando dicen mantener el estado de la aplicación, a que se refieren como si fuera redux o algo asi?
Jordan Sobrino Santos
No, simplemente se refiere a mantener operativo el estado de tu aplicación, es decir, tenga una optima fluidez y no genere sobrecarga de datos.
Alex Cuenca M
En teoría con una noSQL puedes modelar la BD segun que consultas planeas hacer(y que el guardado de los datos sean variables)
Juan R. Vergara M.
👍
David Soto Ayala
Según lo comentado en esta clase, considero que tener una base de datos SQL es una mejor solución y me baso en lo siguiente:
Tener una base de datos normalizada, es tener una solución mas general y preparada para el crecimiento de una aplicación. Por ejemplo en la app de blogs aunque para los requisitos actuales de la aplicacion este mejor tener a usuarios como una subcoleccion de posts, a futuro esto no va a ser necesariamente cierto, y sera un dolor de cabeza realizar ese cambio pues implicaria realizar migraciones de datos.
Por lo general si una aplicación crece en algún punto va a necesitar reportes, lo cual conlleva a consultas complejas para las cuales esta mejor preparada una base de datos SQL.
Juan Diego Silva Garcia
Yo lo vería como un Depende del tipo del tipo de aplicación, si eres lo sufuciente ordenado para y manejar un schema para tu DB NO relacional, no tendrías problemas para hacer queries complejas. La otra ventaja es que cuando con una BD No relacional puedes escalar tu modelo Horizontalmente lo cuál es una gran ventaja a diferencia de los modelos relacionales que solo te permitiran escalar verticalmente si tu aplicación crece.
Xavier Sebastian Vaca Ordoñez
Si puedes hacer algo increible con SQL hazlo. Las bases de datos NOSQL significan "Not Only SQ" aun pueden estructurar tu base de datos como si fuera SQL en MongoDB. estas bases de datos estan pensadas para que puedas experimentar y corregir fallos mas facilmente
Silvana Rolón
Hermes A. J. Cabrera F.
Vine por esto! Gracias Silvana
Juan Camilo Briceño
buen resumen
Adolfo Pérez Rivera
Hola, sáquenme de una duda. ¿Por que el prof en ocasiones le dice "Firestore" a "Firebase"? ¿Son la misma cosa?
Joaquin Chartier
Firestore es un producto de Firebase. Firebase es un servicio de Google que tiene muchos productos: Notificaciones, Almacenamiento, Analytics, y en este caso estamos usando Bases de datos.
Adolfo Pérez Rivera
Ohh, ok. Gracias por la aclaración
Josue Noha Valdivia
Notas:
Rosa Martha Núñez Arroyo
Es la primera vez que trabajo de manera tan flexible con BD, después de tantos años acostumbrando trabajar con normalización, esto me resulta totalmente nuevo y es como dejar a las palomas salir de su jaula jajaja
Seba Cardoso
Yo todavía me sigo preguntando si manejar un dato tipo JSON en postgresql con el mismo motor o usar FireStore para almacenar esos documentos.
Manuel Alejandro Aguilar Téllez Girón
Un poco tarde, pero yo opino que uses FireStore porque al parecer puedes hacer cosas muy potentes con este tipo de documentos.
Alejandro González Reyes
Te la manejo muy simple. Firestore es una base de datos en tiempo real vs Postgres, que si bien puedes almacenar la info en un determinado momento, tu aplicación seguirpa mostrando la info anterior hasta que no se refresque de manera manual.
Juan Pedraza
Lo importante como dice Israel, al final tanto las sql como las nosql sirven para lo mismo, almacenar datos, pero cada una maneja un estilo y una característica particular, ya depende del proyecto y del desarrollador decidir la que mejor se adapte al mismo. Mi proyecto me comió la cabeza buscando las entidades y las relaciones, con firebase la cosa cambia y al final noto mejores resultados usando la nosql. Como todo en esta vida, para gustos, colores
Boris Vargas Paucara
La ventaja de las No SQL es que son rápidas.
Omar Villada
Primera vez que veo el tema. Me parece muy interesante y el profesor es muy bueno. Supongo que este tipo de bases de datos se usa para el desarrollo de aplicaciones Android.
Juan Manuel Cortes
Me parece que hay 2 quotes memorables de esta clase:
Ambos tipos de bases (SQL y NoSQL) cumplen el mismo objetivo, guardar datos.
Las bases de datos relacionales están pensadas en hacer queries, mientras que las noSQL están pensadas en mantener el estado de tu app.
Jose Antonio Rojas Ollarves
Como aplicar top level collection y sub collection: En las bases de datos NoSQL depende mucho pensar en como se van a consultar los datos es decir si necesitamos realmente crear un documento de tipo top level collection o si lo podemos colocar como sub collection que es decir que viva dentro de un documento. pero el requisito general que se requiere al crear cualquier tipo de bases de datos es ver todo el lineamiento en una sola vista.
Francisco Javier Suarez Verdugo
Excelente clase instructor Israel, así qué debemos pensar muy bien como se estarán usando cada una de las entidades dentro de una aplicación para poder decidir si son colecciones o subcolecciones, como destaco con la entidad de usuarios puede estar como subcolección pero como se va usar en otros lugares fuera del posts por ejemplo al iniciar sesión, opino que es mejor dejarla como una colección.
Francisco Javier Tulcán Rodríguez
¿La flexibilidad es buena pero hasta que punto sirve?
Fredy Alexander Tello Rodriguez
pues ahi yainfluye la funcionalidad que vayas a tener, tu piensas que es lo que vas a consultar con mayor prioridad y cual con menos para definir el orden de prioridad en las colecciones
Francisco Javier Tulcán Rodríguez
Muchas gracias por el aporte, ¡compañero!
Tony Alexander Tafur Bustamante
a que se refiere cuando dice que firebase esta mas pensado para mantener el estado de tu aplicación.
Luis Lira
Se refiere que es para guardar más la información sencilla como configuraciones, preferencias de usuario y cosas de ese estilo. No tanto para guardar información muy robusta como todo el historial de producto que ha vendido una compañía y cosas de este estilo.
Alexander Velasco
Luis lo ha dicho muy bien pero me gustaria matizar, cuando desarrollas una aplicacion, esta aplicacion genera datos como puede ser la actividad de un usario o los datos de este usuario. Lo que te permite firbase es que toda esa infromacion, que ha generado la aplicacion, se guarde en tu base de datos. Existe una serie de cursos en Platzi, que te ayudan a profundizar en esta base de datos.
Espero que mi opnion te haya ayudado. Saludos!!!
Luis Jeanpier Monserrate
Me llama mucho la atención este tópico de las NOSQL BDs , Siguiente curso: MongoDB
Daniel Andrés Giraldo Benites
te sugeriría terminar primero con el curso de SQL y mySQL y posteriormente pasar a los cursos de BD no relaciónales. No es 100% necesario pero desarrollarás tu lógica para estructurar mejor