Optimiza el costo: Bases de datos y analíticas inteligentes

Last reviewed 2023-06-26 UTC

En este documento del framework de arquitectura de Google Cloud, se proporcionan recomendaciones para ayudarte a optimizar el costo de las bases de datos y las cargas de trabajo de analíticas en Google Cloud.

La guía de esta sección está dirigida a arquitectos, desarrolladores y administradores responsables de aprovisionar y administrar las cargas de trabajo de analíticas y bases de datos en la nube.

En esta sección, se incluyen recomendaciones de optimización de costos para los siguientes productos:

Cloud SQL

Cloud SQL es un servicio de base de datos relacional completamente administrado para MySQL, PostgreSQL y SQL Server.

Supervisa el uso

Revisa las métricas en el panel de supervisión y valida que la implementación cumpla con los requisitos de la carga de trabajo.

Optimizar los recursos

Las siguientes son recomendaciones para ayudarte a optimizar tus recursos de Cloud SQL:

  • Diseña una estrategia de alta disponibilidad y recuperación ante desastres que se alinee con tu objetivo de tiempo de recuperación (RTO) y el objetivo de punto de recuperación (RPO). Según tu carga de trabajo, recomendamos lo siguiente:
  • Aprovisionar la base de datos con la capacidad de almacenamiento mínima requerida.
  • Para escalar la capacidad de almacenamiento de forma automática a medida que los datos crecen, habilita la función de aumento de almacenamiento automático.
  • Elige un tipo de almacenamiento, unidades de estado sólido (SSD) o unidades de disco duro (HDD), que sea adecuado para tu caso de uso. El almacenamiento SSD es la elección más eficiente y rentable para la mayoría de los casos de uso. El almacenamiento HDD puede ser adecuado para conjuntos de datos grandes (más de 10 TB) que no sean sensibles a la latencia o a los que se accede con poca frecuencia.

Optimiza las tarifas

Considera adquirir descuentos por compromiso de uso para cargas de trabajo con necesidades de recursos predecibles. Puedes ahorrar el 25% de los precios según demanda con un compromiso de 1 año y el 52% con un compromiso de 3 años.

Spanner

Spanner es una base de datos nativa de la nube, de escalamiento ilimitado y de coherencia sólida que ofrece una disponibilidad de hasta un 99.999%.

Supervisa el uso

Las siguientes son recomendaciones para ayudarte a hacer un seguimiento del uso de tus recursos de Spanner:

  • Supervisa tu implementación y configura el recuento de nodos en función de las recomendaciones de CPU.
  • Configura alertas en tus implementaciones para optimizar los recursos de almacenamiento. A fin de determinar la configuración adecuada, consulta los límites por nodo recomendados.

Optimizar los recursos

Las siguientes son recomendaciones para ayudarte a optimizar tus recursos de Spanner:

  • Ejecuta cargas de trabajo más pequeñas en Spanner a un costo mucho menor mediante el aprovisionamiento de recursos con unidades de procesamiento (PU) en comparación con los nodos; un nodo de Spanner equivale a 1,000 PU.
  • Mejora el rendimiento de la ejecución de consultas mediante el optimizador de consultas.
  • Crea instrucciones de SQL mediante prácticas recomendadas para crear planes de ejecución eficientes.
  • Administra el uso y el rendimiento de las implementaciones de Spanner con la herramienta escalador automático. La herramienta supervisa instancias, agrega o quita nodos de forma automática y te ayuda a garantizar que las instancias permanezcan dentro de los límites de CPU y almacenamiento recomendados.
  • Protege contra escrituras o eliminaciones accidentales mediante la recuperación de un momento determinado (PITR). Las bases de datos con períodos de retención de versiones más largos (en especial, las que reemplazan los datos con frecuencia) usan más recursos del sistema y necesitan más nodos.
  • Revisa tu estrategia de copia de seguridad y elige entre las siguientes opciones:
    • copia de seguridad y restauración
    • Importar y exportar

Optimiza las tarifas

Cuando decidas la ubicación de tus nodos de Spanner, ten en cuenta las diferencias de costos entre las regiones de Google Cloud. Por ejemplo, un nodo que se implementa en la región us-central1 cuesta mucho menos por hora que un nodo en la región southamerica-east1.

Bigtable

Bigtable es un almacenamiento NoSQL nativo de la nube y de columnas anchas para cargas de trabajo a gran escala y de baja latencia.

Supervisa el uso

Las siguientes son recomendaciones para ayudarte a hacer un seguimiento del uso de tus recursos de Bigtable:

  • Analiza las métricas de uso para identificar oportunidades de optimización de los recursos.
  • Identifica hotspots y teclas de acceso rápido en tu clúster de Bigtable con la herramienta de diagnóstico Key Visualizer.

Optimizar los recursos

Las siguientes son recomendaciones para ayudarte a optimizar tus recursos de Bigtable:

  • Para ayudarte a garantizar el uso de CPU y del disco que proporciona un equilibrio entre la latencia y la capacidad de almacenamiento, evalúa y ajusta el recuento de nodos y el tamaño del clúster de Bigtable.
  • Mantén el rendimiento al menor costo posible mediante el escalamiento programático de tu clúster de Bigtable para ajustar el recuento de nodos de forma automática.
  • Evalúa el tipo de almacenamiento más rentable (HDD o SSD) para tu caso de uso, en función de las siguientes consideraciones:

    • El almacenamiento HDD cuesta menos que el SSD, pero tiene un rendimiento menor.
    • El almacenamiento SSD cuesta más que el HDD, pero proporciona un rendimiento más rápido y predecible.

    Los ahorros en los costos que proporciona HDD son mínimos, en relación con el costo de los nodos en el clúster de Bigtable, a menos que almacenes grandes cantidades de datos. El almacenamiento HDD a veces es adecuado para conjuntos de datos grandes (más de 10 TB) que no sean sensibles a la latencia o a los que se accede muy poco.

  • Quita los datos vencidos y obsoletos mediante la recolección de elementos no utilizados.

  • A fin de evitar los hotspots, aplica las prácticas recomendadas para el diseño de claves de filas.

  • Diseña un plan de copia de seguridad rentable que se alinee con tu RPO.

  • A fin de reducir el uso del clúster y disminuir el recuento de nodos, considera agregar una caché de capacidad para las consultas que pueden almacenarse en caché mediante Memorystore.

Lecturas adicionales

BigQuery

BigQuery es un almacén de datos de múltiples nubes sin servidores, rentable y altamente escalable, diseñado para lograr agilidad empresarial.

Supervisa el uso

Las siguientes son recomendaciones para ayudarte a hacer un seguimiento del uso de tus recursos de BigQuery:

  • Visualiza los costos de BigQuery segmentados por proyectos y usuarios. Identifica las consultas más costosas y optimízalas.
  • Analiza el uso de ranuras en proyectos, trabajos y reservas mediante las tablas de metadatos INFORMATION_SCHEMA.

Optimizar los recursos

Las siguientes son recomendaciones para ayudarte a optimizar tus recursos de BigQuery:

Optimiza las tarifas

Las siguientes son recomendaciones para ayudarte a reducir las tarifas de facturación de tus recursos de BigQuery:

  • Evalúa cómo editas los datos y aprovecha los precios de almacenamiento a largo plazo más bajos.
  • Revisa las diferencias entre los precios de tarifa plana y según demanda y elige una opción que se adapte a tus requisitos.
  • Evalúa si puedes usar la carga por lotes en lugar de inserciones de transmisión para tus flujos de trabajo de datos. Usa las inserciones de transmisión si los datos cargados en BigQuery se consumen de inmediato.
  • Para aumentar el rendimiento y reducir el costo de recuperación de datos, usa los resultados de consultas almacenados en caché.

Lecturas adicionales

Dataflow

Dataflow es un servicio sin servidores rápido y rentable para el procesamiento unificado de datos por lotes y de transmisión.

Supervisa el uso

Las siguientes son recomendaciones para ayudarte a hacer un seguimiento del uso de tus recursos de Dataflow:

Optimizar los recursos

Las siguientes son recomendaciones para ayudarte a optimizar tus recursos de Dataflow:

  • Considera usar Dataflow Prime para procesar macrodatos de manera eficiente.
  • Reduce los costos de procesamiento por lotes usando la programación flexible de recursos (FlexRS) para canalizaciones por lotes con ajuste de escala automático. FlexRS usa programación avanzada, Dataflow Shuffle y una combinación de VMs interrumpibles y normales para reducir el costo de las canalizaciones por lotes.
  • Mejora el rendimiento utilizando el servicio de Shuffle en la memoria, en lugar de Persistent Disk y nodos trabajadores.
  • Para obtener un ajuste de escala automático más responsivo y reducir el consumo de recursos, usa Streaming Engine, que quita la ejecución de la canalización de las VMs de trabajador y la traslada hacia el backend del servicio de Dataflow.
  • Si la canalización no necesita acceso desde y hacia Internet y otras redes de Google Cloud, inhabilita las direcciones IP públicas. Inhabilitar el acceso a Internet te ayuda a reducir los costos de red y a mejorar la seguridad de la canalización.
  • Sigue las prácticas recomendadas para la canalización eficiente con Dataflow.

Dataproc

Dataproc es un servicio administrado de Apache Spark y Apache Hadoop para el procesamiento por lotes, las consultas, la transmisión y el aprendizaje automático.

Las siguientes son recomendaciones para ayudarte a optimizar el costo de tus recursos de Dataproc:

¿Qué sigue?