Está en la página 1de 5

15.Las opciones de la base de datos de Google Cloud, explicadas.

Elegir la base de datos adecuada para su aplicación no es fácil. La elección depende en gran medida de su caso de uso (procesamiento
transaccional, procesamiento analítico, base de datos en memoria, etc.), pero también depende de otros factores. Esta publicación
cubre las diferentes opciones de bases de datos disponibles en Google Cloud en bases de datos relacionales (SQL) y no relacionales
(NoSQL) y explica qué casos de uso son los más adecuados para cada opción de base de datos.
Bases de datos relacionales
En las bases de datos relacionales, la información se almacena en tablas, filas y columnas, lo que normalmente funciona mejor para
datos estructurados. Como resultado, se utilizan para aplicaciones en las que la estructura de los datos no cambia con frecuencia. SQL
(lenguaje de consulta estructurado) se utiliza al interactuar con la mayoría de las bases de datos relacionales. Ofrecen el modo de
consistencia ACID para los datos, lo que significa:

Atómico : todas las operaciones en una transacción se realizan correctamente o la operación se revierte.
Consistente : al finalizar una transacción, la base de datos es estructuralmente sólida.
Aislado : Las transacciones no compiten entre sí. La base de datos modera el acceso contencioso a los datos para que las
transacciones parezcan ejecutarse secuencialmente.
Duradero : Los resultados de aplicar una transacción son permanentes, incluso en presencia de fallas.
Debido a estas propiedades, las bases de datos relacionales se utilizan en aplicaciones que requieren alta precisión y para consultas
transaccionales, como transacciones financieras y minoristas. Por ejemplo: en la banca, cuando un cliente realiza una solicitud de
transferencia de fondos, desea asegurarse de que la transacción sea posible y que realmente se realice con el saldo de cuenta más
actualizado; en este caso, es probable que un error o una solicitud de reenvío estén bien.

Hay tres opciones de bases de datos relacionales en Google Cloud: Cloud SQL, Cloud Spanner y Bare Metal Solution.

Cloud SQ L : proporciona bases de datos MySQL, PostgreSQL y SQL Server administradas en Google Cloud. Reduce los costos de
mantenimiento y automatiza el aprovisionamiento de la base de datos, la administración de la capacidad de almacenamiento, las copias
de seguridad y la alta disponibilidad lista para usar y la recuperación ante desastres/conmutación por error. Por estas razones, es mejor
para marcos web de uso general, CRM, ERP, SaaS y aplicaciones de comercio electrónico.
AlloyDB : es un servicio de base de datos compatible con PostgreSQL completamente administrado para sus cargas de trabajo de base
de datos empresariales más exigentes. Combina lo mejor de Google con uno de los motores de base de datos de código abierto más
populares, PostgreSQL, para un rendimiento, escala y disponibilidad superiores. AlloyDB es 4 veces más rápido que PostgreSQL
estándar para cargas de trabajo transaccionales y hasta 100 veces más rápido para consultas analíticas. Simplifica la gestión de bases
de datos con sistemas de piloto automático habilitados para aprendizaje automático. AlloyDB ofrece precios transparentes y predecibles,
sin licencias costosas ni cargos de E/S opacos.
Cloud Spanner : Cloud Spanner es una base de datos de nivel empresarial, distribuida globalmente y muy consistente que ofrece hasta
un 99,999 % de disponibilidad, creada específicamente para combinar los beneficios de la estructura de la base de datos relacional con
la escala horizontal no relacional. Es una base de datos única que combina transacciones ACID, consultas SQL y estructura relacional
con la escalabilidad que normalmente asocia con bases de datos no relacionales o NoSQL. Como resultado, Spanner se utiliza mejor
para aplicaciones como juegos, soluciones de pago, libros contables financieros globales, banca minorista y gestión de inventario que
requieren la capacidad de escalar sin límites con una gran consistencia y alta disponibilidad.
Solución completa : proporciona hardware para ejecutar cargas de trabajo especializadas con baja latencia en Google Cloud. Esto es
especialmente útil si hay una base de datos de Oracle que desea levantar y cambiar a Google Cloud. Esto permite el retiro de los
centros de datos y allana el camino para modernizar las aplicaciones heredadas.
Bases de datos no relacionales
Las bases de datos no relacionales (o bases de datos NoSQL) almacenan datos complejos y no estructurados en un formato no tabular,
como documentos. Las bases de datos no relacionales se utilizan a menudo cuando es necesario organizar grandes cantidades de
datos complejos y diversos, o cuando la estructura de los datos evoluciona regularmente para cumplir con los nuevos requisitos
comerciales. A diferencia de las bases de datos relacionales, funcionan más rápido porque una consulta no tiene que acceder a varias
tablas para dar una respuesta, lo que las hace ideales para almacenar datos que pueden cambiar con frecuencia o para aplicaciones
que manejan muchos tipos de datos diferentes. Por ejemplo, una tienda de ropa puede tener una base de datos en la que las camisas
tienen su propio documento que contiene toda su información, incluido el tamaño, la marca y el color, con espacio para agregar más
parámetros más adelante, como el tamaño de la manga, el cuello, etc.

Cualidades que hacen que las bases de datos NoSQL sean rápidas:

Por lo general, están optimizados para un patrón de carga de trabajo específico (es decir, clave-valor, gráfico, columna ancha)
Escalamiento horizontal, generalmente usando distribuciones de rango o hash
Coherencia eventual: muchas tiendas NoSQL suelen exhibir consistencia en algún momento posterior (p. ej., perezosamente en el
momento de la lectura). Sin embargo, Firestore ofrece de manera única una fuerte consistencia global.
Transacciones: la mayoría de las tiendas NoSQL no admiten transacciones de fragmentos cruzados ni modos de aislamiento flexibles.
Sin embargo, Firestore ofrece de manera única transacciones ACID en fragmentos con aislamiento serializable.
Debido a estas propiedades, las bases de datos no relacionales se utilizan en aplicaciones que requieren gran escala, confiabilidad,
disponibilidad y cambios frecuentes de datos. Pueden escalar horizontalmente fácilmente al agregar más servidores, a diferencia de
algunas bases de datos relacionales, que escalan verticalmente al aumentar el tamaño de la máquina. a medida que los datos crecen.
Sin embargo, algunas bases de datos relacionales, como Cloud Spanner, admiten el escalado horizontal y la consistencia estricta.

Las bases de datos no relacionales pueden almacenar una variedad de datos no estructurados, como documentos, clave-valor, gráficos,
columnas anchas y más. Estas son sus opciones de bases de datos no relacionales en Google Cloud:

Bases de datos de documentos: almacene información como documentos (en formatos como JSON y XML). Por ejemplo: Firestore
Almacenes de clave-valor: agrupe los datos asociados en colecciones con registros que se identifican con claves únicas para una fácil
recuperación. Los almacenes de clave-valor tienen la estructura suficiente para reflejar el valor de las bases de datos relacionales y al
mismo tiempo conservar los beneficios de NoSQL. Por ejemplo: Bigtable, Memorystore
Base de datos en memoria: base de datos especialmente diseñada que se basa principalmente en la memoria para el almacenamiento
de datos. Estos están diseñados para lograr un tiempo de respuesta mínimo al eliminar la necesidad de acceder a los discos. Son
ideales para aplicaciones que requieren tiempos de respuesta de microsegundos y pueden tener grandes picos de tráfico. Por ejemplo:
Almacén de memoria
Bases de datos de columnas anchas: use el formato tabular pero permita una amplia variación en la forma en que se nombran y
formatean los datos en cada fila, incluso en la misma tabla. Tienen una estructura básica y conservan mucha flexibilidad. Por ejemplo:
Mesa grande
Bases de datos de gráficos: use estructuras de gráficos para definir las relaciones entre los puntos de datos almacenados; útil para
identificar patrones en información no estructurada y semiestructurada. Por ejemplo: JanusGraph
Hay tres bases de datos no relacionales en Google Cloud:

Firestore : es una base de datos de documentos sin servidor que escala bajo demanda, es muy consistente, ofrece hasta un 99,999 %
de disponibilidad y actúa como un back-end como servicio. Es DBaaS que está optimizado para crear aplicaciones. Es perfecto para
todos los casos de uso general, como comercio electrónico, juegos, IoT y tableros en tiempo real. Con Firestore, los usuarios pueden
interactuar y colaborar con datos en vivo y fuera de línea, lo que lo hace ideal para aplicaciones móviles y aplicaciones en tiempo real.
Cloud Bigtable : Cloud Bigtable es una tabla escasamente poblada que puede escalar a miles de millones de filas y miles de columnas,
lo que le permite almacenar terabytes o incluso petabytes de datos. Es ideal para almacenar grandes cantidades de datos de una sola
clave con una latencia muy baja. Admite un alto rendimiento de lectura y escritura con una latencia de submilisegundos y es una fuente
de datos ideal para las operaciones de MapReduce. También es compatible con el estándar API HBase de código abierto para
integrarse fácilmente con el ecosistema Apache, incluidos HBase, Beam, Hadoop y Spark, junto con el ecosistema Google Cloud.

Memorystore : Memorystore es un servicio de almacenamiento de datos en memoria completamente administrado para Redis y
Memcached en Google Cloud. Es mejor para almacenes de datos transitorios y en memoria y automatiza las tareas complejas de
aprovisionamiento, replicación, conmutación por error y aplicación de parches para que pueda dedicar más tiempo a la codificación.
Debido a que ofrece una latencia extremadamente baja y un alto rendimiento, Memorystore es ideal para aplicaciones web y móviles,
juegos, tablas de clasificación, redes sociales, chat y noticias.

Conclusión
Elegir una base de datos relacional o no relacional depende en gran medida del caso de uso. En términos generales, si su estructura de
datos no va a cambiar mucho, seleccione una base de datos relacional. En Google Cloud, use Cloud SQL para cualquier base de datos
SQL de propósito general y Cloud Spanner para casos de uso altamente consistentes y escalables globalmente a gran escala. En
general, si su estructura de datos puede cambiar más tarde y si la escala y la disponibilidad son un requisito mayor, entonces una base
de datos no relacional es una opción preferible. Google Cloud ofrece Firestore, Memorystore y Cloud Bigtable para admitir una variedad
de casos de uso en todo el espectro de bases de datos de documentos, valores clave y columnas anchas. Para obtener más recursos
de comparación en cada base de datos, consulte la descripción general . Para obtener más experiencia práctica con Bigtable, consulte
nuestra capacitación a pedido aquíy obtenga información sobre cómo migrar bases de datos a servicios gestionados, consulte este
documento técnico.

También podría gustarte