Cuando se trata de elegir entre Cloud SQL y Cloud Spanner, es vital conocer sus diferencias y cuál se adapta mejor a sus necesidades. Una aplicación con usuarios en todo el mundo, como YouTube o Spotify, requiere bajas latencias para una respuesta rápida.
Cloud SQL es efectivo si los usuarios están en una sola región o si pequeñas demoras no son críticas. Es una opción más económica y sencilla para necesidades locales.
Cloud Spanner es para cuando se requiere consistencia global con usuarios en múltiples regiones. Ofrece escalabilidad global, es más costoso, pero proporciona servicio rápido y confiable a nivel mundial.
Ambas son bases de datos SQL, pero su uso depende de la escala y ubicación geográfica de tus usuarios.
¿Qué es Cloud Spanner y cuáles son sus características principales?
Cloud Spanner es una base de datos SQL gestionada a nivel global, ideal para empresas que requieren alta disponibilidad y baja latencia.
Características de Cloud Spanner
Escalabilidad Horizontal: Puedes escalar fácilmente sin preocuparte por la infraestructura física subyacente.
Disponibilidad de cinco nueves: Esto significa un 99.999% de disponibilidad, minimizando tiempos de inactividad.
Fragmentación Automática: La base de datos se adapta automáticamente al volumen de datos y solicitudes, optimizando el servicio.
Creación de una instancia en Cloud Spanner
Para empezar, debes crear una instancia en la consola de Google Cloud Platform:
Ir al menú de bases de datos y seleccionar Spanner.
Crear una nueva instancia, asignarle un nombre y elegir la configuración de región (Regional o Multirregión).
Crear una base de datos dentro de la instancia.
¿Cómo administrar bases de datos en Cloud Spanner?
Crear una tabla y esquemas
Dentro de una base de datos en Cloud Spanner, puedes crear tablas y definir esquemas:
UPDATE Singers
SET BornDate ='1961-04-01'WHERE SingerId =3;
Borrar un registro:
DELETEFROM Singers WHERE SingerId =2;
Leer datos de la base de datos
Consultar los datos es simple. Puedes hacer un SELECT para revisar el contenido de tus tablas:
SELECT*FROM Singers;
Consejos prácticos para usar Cloud Spanner
Empieza creando scripts para gestionar grandes volúmenes de datos.
Utiliza la fragmentación automática para minimizar preocupaciones sobre el escalado.
Asegúrate de que los identificadores únicos, como SingerId, mantengan la integridad referencial.
A medida que adquieras experiencia, serás más eficiente administrando grandes bases de datos y te sentirás seguro manejando esta potente herramienta de Google Cloud. ¡Adelante, sigue explorando!
gcloud spanner databasesexecute-sql example-db-db \
--instance=example-db \--sql='SELECT * FROM Singers'
¡Wow, qué buen aporte! ¡Muchas gracias,Tan! Seguramente será de mucha ayuda para otros estudiantes. 💪🏻
La rompes!!! GRACIASSSS
No te preocupes si no te acuerdas qué es una base de datos administrado, yo te lo recuerdo porque para eso estamos
Una base de datos administrado, significa que no tenemos que administrar nada, ni preocuparnos de nada por la instalación, configuración, por el tuning, crecimiento de base de datos porque lo hace la plataforma Google Cloud.
Clase 7, minuto 3:58
Google Cloud Platform
Ir a Spanner
Aceptamos
Create Instance (Creamos una instancia de Spanner)
Indicamos un nombre (example-db)
En configuración ponemos (Regional, us-central1)
Aceptamos capacidad de inicio (por defecto)
Dentro de la instancia que creamos de Spanner, creamos nuestras bases de datos:
Create Database
example-db-db ( en este caso pone dos veces db para distinguir de la instancia de Spanner)
NO CREA UN SCHEMA, ESTO LO DEFINIMOS DESPUES_
Create
Una vez dentro de la base ( te deja ahí luego de hacer el paso anterior)
Submit (corre la sentencia SQL para crear la tabla)
Automáticamente al terminar vemos la tabla y podemos acceder a ella.
Ahora cargamos datos:
vamos a Data
Insert
Automáticamente nos da un script, lo que haremos es editarlo.
Se editan los que están dentro de <FIrstName> = Nombre, eliminar los <>
Luego de terminar, hacemos click en RUN y por consola nos dice que inserto un registro.
En una aplicación grande usamos un script como el de arriba a la N, es decir con la cantidad de datos que quisiéramos.
Para editar, seleccionamos el registro y luego click en EDIT
El proceso que se ejecutara es update sobre la tabla Singer, y por consola tendremos el resultado.
Para visualizar:
Vamos a Query y escribimos.
SELECT*FROMSingers
Seleccionamos TODO lo que tenga la tabla Singers
Luego RUN y en la pestaña RESULTS nos muestra el resultado de la ejecución del query.
Genial, gran aporte Francisco :D
Infografía de Cloud Spanner
la base de datos relacional que escala horizontalmente
Que aplicativo utilizas para realizar esas infografías Daniel?
Google Cloud Platform
Base de datos de nivel empresarial, distribuido fuertemente consistente y de forma global, estructura relacional a escala horizontal no relacional.
Cloud Spanner Características Clave.
-Base de datos relacional diseñada para cualquier escala
-Disponibilidad cinco 9 (99,999%)
-Fragmentación automática.
¿A qué se refiere con Fragmentación automática?
Que cuando hay muchas peticiones a la base de datos distribuye dicha carga a manera de evitar que se caiga el sistema.
¿para que sirven los nodos en este contexto ?
Qué ironía que el vídeo no me cargue ni en velocidad normal y tenga que ir parándolo...
Spanner es un servicio de base de datos relacional altamente escalable y globalmente distribuido proporcionado por Google Cloud Platform (GCP). Está diseñado para ofrecer una combinación única de escalabilidad horizontal, consistencia transaccional y latencia baja, lo que lo hace ideal para aplicaciones críticas que requieren alta disponibilidad y rendimiento a nivel mundial.
CREATETABLEproductos( id INT64NOTNULL, nombre STRING(MAX), precio FLOAT64, categoria STRING(MAX))PRIMARYKEY(id);INSERTINTOproductos(id, nombre, precio, categoria)VALUES(1,'Producto A',100.50,'Electrónicos'),(2,'Producto B',75.20,'Ropa'),(3,'Producto C',150.75,'Hogar');
Si se usa cloud SQL los costos estan implicitos en el pago de google storage que se indicaron en las primeras clases?
todo este tipo de servicios en google cloud para practicarlos durante el curso son gratuitos?
Holiii 👋🏻
Si no te has registrado en Google Cloud al hacerlo tienes un periodo de prueba gratis que te da el tiempo suficiente para terminar las prácticas si le dedicas todos los días tiempo a los cursos. 🤓
tengo una base de datos en PostgreSQL construida con sequelize (javascript). pero no se como alojar esto en cloud sql. no encuentro informacion especifica de como configurar variables de entorno. para aclopar al frontend.
Alguien que me pueda guiar?
Y si voy a importar una base de datos como se haría ? Y para importar la base si esta en excel o cvs ?
Con cloud SQL tenemos parámetros de conexión para poder conectar nuestras aplicaciones o nuestros IDE.
¿Con cloud Spanner tenemos las mismas capacidades? Podemos establecer una conexión desde nuestra app, como que fuera una base de datos normal? o cuál es la forma de hacerlo, que driver se debe utilizar?
Los "nodes" en el contexto de bases de datos, especialmente al referirnos a sistemas distribuidos y como Cloud Spanner, son instancias de computación que pueden almacenar y procesar datos. Cada node maneja una parte de la base de datos y permite la escalabilidad horizontal, lo que significa que puedes agregar más nodes para manejar mayores volúmenes de datos y más solicitudes sin afectar el rendimiento. Esta arquitectura es clave para mantener la baja latencia y la consistencia a nivel global en aplicaciones que requieren alta disponibilidad.
1) Instancias
1.1 ) Bases de datos
1.1.1) Tablas relacionales
Cloud Spanner para una necesidad de SQL global
Casos de uso
Aplicaciones globales y distribuidas: Cloud Spanner es ideal para aplicaciones que necesitan operar a escala global y deben proporcionar una experiencia de usuario consistente y de alta disponibilidad en todo el mundo. Esto incluye aplicaciones web, aplicaciones móviles y servicios en la nube que atienden a audiencias internacionales.
Aplicaciones críticas de tiempo real: Cloud Spanner es adecuado para aplicaciones que requieren datos en tiempo real con baja latencia y alta disponibilidad. Esto incluye sistemas de comercio electrónico, juegos en línea y aplicaciones de IoT que necesitan procesar eventos en tiempo real.
Bases de datos relacionales globales: Si tienes una base de datos relacional existente que necesita escalarse globalmente, Cloud Spanner puede ser una solución. Permite migrar bases de datos relacionales a un entorno global sin perder las ventajas de las transacciones ACID.
Análisis de datos en tiempo real: Cloud Spanner se puede utilizar para aplicaciones de análisis que requieren acceso en tiempo real a datos en constante cambio. Esto es útil en casos como la detección de fraudes, la personalización en tiempo real y el seguimiento en tiempo real de datos de usuario.
Aplicaciones financieras y comerciales: Cloud Spanner es una opción adecuada para aplicaciones que gestionan datos financieros y comerciales críticos, ya que garantiza la integridad y la coherencia de los datos en todo momento.
Sistemas de gestión de inventario y logística: Empresas que operan a nivel global y requieren sistemas de gestión de inventario y logística pueden beneficiarse de la capacidad de Cloud Spanner para ofrecer datos precisos y en tiempo real en ubicaciones de todo el mundo.
Sistemas de CRM y ERP: Cloud Spanner es adecuado para sistemas de gestión de relaciones con el cliente (CRM) y planificación de recursos empresariales (ERP) que necesitan acceso a datos en tiempo real y desean mantener la consistencia en una escala global.
Sistemas de seguimiento y registro de registros: Para aplicaciones que requieren un registro completo y seguro de todas las operaciones, como registros de auditoría, Cloud Spanner garantiza la consistencia y la durabilidad de los registros.
Aplicaciones que requieren alta disponibilidad: Cloud Spanner ofrece alta disponibilidad y resiliencia automática. Esto lo hace adecuado para aplicaciones críticas en las que la disponibilidad constante es esencial.
Proyectos de migración de bases de datos: Cloud Spanner también se utiliza en proyectos de migración de bases de datos relacionales heredadas a entornos más modernos y escalables, manteniendo las propiedades ACID de los datos.
No se menciona en el curso pero Cloud SQL tiene limitaciones de capacidad de cómputo, que son hasta 96 núcleos 64TB Y 624GB de RAM. Por lo que aparte del escalamiento global las capacidades de Cloud Spanner superan ampliamente las de su hermana al poder almacenar más información y hacer muchas más transacciones por segundo