Servicios de almacenamiento en Google Cloud
¿Qué aprenderás en este curso?
Cloud Storage y almacenamiento en la nube
¿Dónde podemos usar Cloud Storage?
Cloud Storage en acción
Clases de almacenamiento de Cloud Storage
Clases de almacenamiento en acción
Google Cloud Bigtable
Google Cloud Bigtable en acción
Cloud SQL
Cloud Spanner
Firestore
Firestore en acción
Comparación entre servicios
Comparativa de las opciones de almacenamiento
Conclusiones
Proyecto: Clon de Google Photos (Parte 1 de 4)
Conoce tu proyecto
Creación del almacenamiento
Aportes 12
Preguntas 3
Google Cloud Bigtable
Cloud Bigtable es el servicio de base de datos de Big Data NoSQL de Google, completamente administrado a escala de patabytes para casos de uso en los que el acceso de datos aleatorios de baja latencia, la escalabilidad y la confiabilidad son fundamentales
CaracterÃsticas
¿Cómo interactuamos con Cloud Big Table?
BigTable, MapReduce, BigQuery son de los proyectos más importantes para en el surgimiento del procesamiento distribuido. sus paper dieron origen a tecnologÃas como Hadoop, Spark, Hbase, Cassandra. les dejo una buena infografia
https://cloud.google.com/blog/topics/developers-practitioners/how-big-cloud-bigtable
Cloud Bigtable es ideal para almacenar grandes cantidades de datos con una latencia muy baja. Admite alta capacidad de procesamiento en lectura y escritura por lo que es una opción ideal para aplicaciones operacionales y analÃticas incluyendo IoT (Internet de las Cosas) y análisis de usuarios o de datos financieros. Se ofrece con la misma API de código abierto que HBase que es la base de datos nativa del proyecto Apache Hadoop.
Cuando Utilizar SQL: Cuando ya sabes la cantidad de usuarios que vas a tener y no vas a tener un crecimiento acelerado, tienes previsto el crecimiento.
Cuando Utilizar NoSQL: Cuando la base da datos es muchÃsima, los picos son muy altos y el crecimiento muy acelerado.
Cloud Bigtable es un servicio de base da datos NoSQL que avanza a Petabytes si es necesario 😲
SQL y NoSQL son dos tipos de bases de datos que tienen diferentes enfoques para almacenar y acceder a los datos.
SQL, o Structured Query Language, es un lenguaje de consulta estándar para bases de datos relacionales. Las bases de datos relacionales almacenan datos en tablas, que están compuestas por filas y columnas. Cada fila representa una entidad, como un cliente o un producto, y cada columna representa un atributo de esa entidad, como el nombre o el precio.
NoSQL, o No-Relational Database, es un término general para las bases de datos que no siguen el modelo relacional. Las bases de datos NoSQL se utilizan para almacenar datos de diferentes tipos y estructuras, como datos estructurados, semiestructurados y no estructurados.
Las principales diferencias entre SQL y NoSQL son las siguientes:
Modelo de datos: Las bases de datos SQL utilizan un modelo de datos relacional, mientras que las bases de datos NoSQL utilizan diferentes modelos de datos, como documentos, clave-valor, gráficos o columnas anchas.
Lenguaje de consulta: Las bases de datos SQL utilizan el lenguaje SQL para consultar los datos, mientras que las bases de datos NoSQL utilizan diferentes lenguajes de consulta.
Desempeño: Las bases de datos NoSQL suelen ofrecer un mejor rendimiento para consultas de datos no relacionales, mientras que las bases de datos SQL suelen ofrecer un mejor rendimiento para consultas de datos relacionales.
Flexibilidad: Las bases de datos NoSQL son más flexibles que las bases de datos SQL, ya que no requieren que los datos se estructuren de una manera especÃfica.
Escalabilidad: Las bases de datos NoSQL suelen ser más escalables que las bases de datos SQL, ya que se pueden distribuir en múltiples servidores.
¿Cuándo usar SQL?
Las bases de datos SQL son una buena opción para aplicaciones que requieren un alto rendimiento para consultas de datos relacionales. Las bases de datos SQL también son una buena opción para aplicaciones que requieren una integridad referencial estricta.
¿Cuándo usar NoSQL?
Las bases de datos NoSQL son una buena opción para aplicaciones que requieren flexibilidad, escalabilidad o almacenamiento de datos no relacionales. Las bases de datos NoSQL también son una buena opción para aplicaciones que requieren un alto rendimiento para consultas de datos no relacionales.
Aquà hay algunos ejemplos de cómo se utilizan SQL y NoSQL:
SQL se utiliza a menudo para aplicaciones de gestión de clientes, como sistemas de ventas y CRM.
NoSQL se utiliza a menudo para aplicaciones de big data, como análisis de datos y procesamiento de transacciones en lÃnea (OLTP).
SQL se utiliza a menudo para aplicaciones web, como sitios de comercio electrónico y blogs.
NoSQL se utiliza a menudo para aplicaciones móviles, como aplicaciones de redes sociales y juegos.
En última instancia, la mejor manera de decidir si usar SQL o NoSQL es evaluar las necesidades especÃficas de su aplicación.
Bigtable es una base de datos NoSQL distribuida y de alto rendimiento desarrollada por Google. Se utiliza para almacenar y gestionar grandes cantidades de datos, siendo especialmente adecuada para aplicaciones que requieren una escalabilidad masiva y un alto rendimiento, como aplicaciones web a gran escala y análisis de datos en tiempo real.
Para seguir investigando sobre integraciones con Bigtable que menciona en el video…
Ambos estilos de almacenamiento nos definen a la información y dependiendo de su sujeto (PostgreSQL, MongoDB, ElasticSearch, etc.), nos permitirán crear servicios / soluciones / productos bajo ciertos contextos.
.
El uso de SQL, mediante una base de datos relacional, se sugiere cuando la información será almacenada en registros o categorizadas.
.
Por su parte, el uso de NoSQL, mediante una base de datos documental por ejemplo, sugiere cuando la información será concentrada en volúmenes e interesa su incremento en estructura más que en registros.
.
Por último, cada base de datos abstrae un concepto y engine diferente permitiendo generar alta viabilidad de nuestra información y su costo será evaluado mediante la capacidad, transacción de lectura / escritura y de su latencia.
.
La latencia es un término de red para describir el tiempo total que tarda un paquete de datos, es decir, latencia = retraso.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?