Cloud SQL

9/16
Recursos

Aportes 10

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Cloud SQL

Este es el servicio administrado de Bases de Datos Relacionales. Puede ser MySQL, PosgreSQL y SLQ Server.

En caso de necesitar mayor rendimiento se puede escalar de forma vertical (un máquina más potente).
Si se requiere más disponibilidad se puede optar por una arquitectura en dos zonas.

Características claves

  • Totalmente administrada
  • Una solución integrada: Se puede acceder a ellas desde cualquier lado.
  • Confiable: ES fácil configurar las replicas, copias de seguridad y activar el proceso de Failover (reemplazar una instancia cuando esta falla).
  • Migraciones sencillas a CloudSQL: Database Migration Service ayuda a migrar las DB on premise a la Nube facilmente.

En este tipo de Bases de datos realizamos transacciones y deben cumplir los principios ACID.

  • Atomicity: Asegura que todas las operaciones que una transaccion se realicen, y en caso contrario que sea posible regresar al estado anterior (rollback).

  • Consistency: Asegura que todas las transacciones se realicen con exito, los datos deben tener sentido.

  • Isolation: Dicta que las operaciones sean aisladas y transparentes, es decir, multiples operaciones ocurren de forma independiente y sin afectarse.

  • Durabilty: Nos asegura que el resultado de una operación permanezca incluso cuando hubo un error.

Cloud SQL y Cloud Spanner

Recuerda que BigTable es una base de datos NoSql o no relacionales.

Transacciones ACID
Las transacciones son operaciones que las bases de datos realizan y que siguen cuatros propiedades básicas.
¡SIEMPRE LAS DEBEN DE CUMPLIR!
Estas cuatro propiendas viven bajo el acrónimo ACID.
Atomicity - Atomicidad
Consistency - Consistencia
Isolation - Aislamiento
Durability - Durabilidad

Atomicidad
Te asegura una transacción que tiene varias operaciones, se complete satisfactoriamente. Si no es así, todas las operaciones que se alteraron por esa transacción, tienen que regresar al estado inicial.

Consistencia
La que nos va asegurar qie efectivamente todas las transacciones que se completaron, estén completadas de forma exitosa.

Aislamiento
Lo que permite que las operaciones sean aisladas y transparentes.

Durabilidad
Lo que nos asegura que el resultado de una operación permanezca a pesar de un resultado en el sistema.

¿Qué es Google Cloud SQL?
Un servicio de base de datos completamente administrada que facilita la configuración y administración de bases de datos MySQL, PostgreSQL y SQL Server en la nube.

Cloud SQL Características clave

  • Totalmente administrada.
  • Una solución integrada.
  • Confiable
  • Migraciones sencillas a Cloud SQL.

ACID
A => O se hace la toda la transacción o no se hace nada.

C => Bloque de usuario. Solo se permite la manipulación de los datos un usuario a la vez. No hay manejo en paralelo de los mismo datos.

I => NO interferencia, lo que dos usuario hacen en paralelo, no afecta entre si una transacción a otra.

D=> Los datos deben permanecer guardados a la ultima transacción finalizada con éxito.

  1. Atomicidad (Atomicity): Esta propiedad garantiza que una transacción se trata como una unidad atómica, lo que significa que se considera completa o no completa en su totalidad. Si una parte de una transacción falla, todas las operaciones de la transacción se deshacen (rollback), y si todas las partes de la transacción se completan con éxito, se confirma (commit) en su totalidad. Esto evita estados intermedios inconsistentes en la base de datos.

  2. Consistencia (Consistency): La propiedad de consistencia asegura que una transacción lleve la base de datos de un estado consistente a otro estado consistente. Esto significa que una transacción debe cumplir con todas las reglas de integridad y restricciones de la base de datos, y no debe dejar la base de datos en un estado inválido.

  3. Aislamiento (Isolation): El aislamiento se refiere a la capacidad de una transacción de operar independientemente de otras transacciones concurrentes. Esto asegura que los resultados de una transacción no sean visibles para otras transacciones hasta que se complete. Cada transacción debe ser “aislada” de las demás, lo que garantiza que las operaciones concurrentes no interfieran entre sí.

  4. Durabilidad (Durability): La durabilidad garantiza que una vez que una transacción se ha confirmado (commit), sus cambios permanecerán en la base de datos de manera permanente y no se perderán, incluso en caso de fallos del sistema, apagones, reinicios, etc. Esto se logra mediante la escritura de los cambios en un almacenamiento persistente y resistente, como un disco duro o una memoria no volátil.

En cuestión de escalabilidad existen dos tipos, hablando de una MV, por ejemplo:

Vertical: Crecer el hardware de uno de los nodos. Podría ser mas espacio de almacenamiento, más memoria, más procesador, etc.

Horizontal: Sería agregar más maquina virtuales que ayuden a balancear la carga. Si teníamos solo una MV, podríamos levantar una o dos más para equilibrar nuestra demanda.

<https://cloud.google.com/sql>
**Casos de uso de Cloud SQL:** * **Aplicaciones web:** Cloud SQL es perfecto para aplicaciones web que requieren una base de datos relacional para almacenar y administrar datos. * **Backends móviles:** almacene y administre datos para sus aplicaciones móviles de forma segura y escalable. * **Aplicaciones de comercio electrónico:** Cloud SQL puede manejar el gran volumen de transacciones y datos de clientes típicos de las plataformas de comercio electrónico. * **Análisis de datos:** utilice Cloud SQL como base para almacenar y analizar datos para aplicaciones de inteligencia empresarial. * **Aplicaciones nativas de la nube:** Cloud SQL se integra perfectamente con otros servicios de Google Cloud Platform para crear aplicaciones modernas en la nube.
Servicio de banca en línea

Administrado también significa que el proveedor se encarga de hacer el aprovisionamiento de los recursos de acuerdo a la demanda, el mantenimiento de las instancias de la base, aplicando actualizaciones y solucionando errores.
Con esto se le garantiza una estabilidad al usuario que puede variar de acuerdo al producto pero normalmente es mayor al 99%

Una vez hice una compra con una tarjeta de debito en vez de la de crédito, la plata salió pero nunca llegó y quedó en el limbo 😦