Ciclo de vida de los datos

En este artículo, se describen los servicios de Google Cloud que puedes usar para administrar los datos durante todo su ciclo de vida, desde la adquisición inicial hasta la visualización final. Aprenderás sobre las características y funciones de cada servicio a fin de poder tomar una decisión fundamentada respecto de qué servicios son adecuados para tu carga de trabajo.

El ciclo de vida de los datos tiene cuatro pasos.

  • Transferencia: La primera etapa consiste en extraer los datos sin procesar, como datos de transmisión de los dispositivos, datos de lote locales, registros de aplicaciones o eventos y estadísticas de usuarios de la aplicación para dispositivos móviles.
  • Almacenamiento: Después de recuperar los datos, estos deben almacenarse en un formato que sea duradero y al cual sea fácil acceder.
  • Proceso y análisis: En esta etapa, los datos se transforman de datos sin procesar en información procesable.
  • Exploración y visualización: La etapa final consiste en convertir los resultados del análisis en un formato del cual sea fácil extraer estadísticas y que se pueda compartir con colegas y pares.

En cada etapa, Google Cloud proporciona varios servicios para administrar tus datos. Esto significa que puedes seleccionar un conjunto de servicios que se ajuste a tus datos y tu flujo de trabajo.

Transferencia

Se pueden tomar varios enfoques para recopilar datos sin procesar, sobre la base del tamaño, la fuente y la latencia de los datos.


  • Aplicación: Los datos de los eventos de aplicaciones, como archivos de registro o eventos del usuario, generalmente se recopilan con un modelo push, en el cual la aplicación llama a una API para enviar los datos al almacenamiento.
  • Transmisión: Los datos están conformados por una transmisión continua de pequeños mensajes asíncronos.
  • Lote: Se almacenan grandes cantidades de datos en un conjunto de archivos que se transfieren al almacenamiento en forma masiva.

En el siguiente gráfico, se muestra cómo se asignan los servicios de Google Cloud a las aplicaciones, transmisiones y cargas de trabajo por lotes.

El modelo de transferencia de datos que elijas depende de tu carga de trabajo, y cada modelo tiene diferentes requisitos de infraestructura.

Transferencia de datos de aplicaciones

Las aplicaciones y los servicios generan una cantidad significativa de datos. Esto incluye datos como registros de eventos de la aplicación, datos de flujo de clics, interacciones en redes sociales y transacciones de comercio electrónico. Recopilar y analizar estos datos basados en eventos puede revelar tendencias del usuario y proporcionar estadísticas empresariales valiosas.

Google Cloud ofrece una variedad de servicios que puedes usar para alojar aplicaciones, desde las máquinas virtuales de Compute Engine hasta la plataforma administrada de App Engine y la administración de contenedores de Google Kubernetes Engine (GKE).

Cuando alojas tus aplicaciones en Google Cloud, obtienes acceso a herramientas y procesos integrados para enviar tus datos al amplio ecosistema de servicios de administración de datos de Google Cloud.

  • Escribir datos en un archivo: Una aplicación envía archivos CSV por lotes al depósito de objetos de Cloud Storage. Desde allí, la función de importación de BigQuery, un almacén de datos de estadísticas, puede tomar los datos para análisis y búsquedas.
  • Escribir datos en una base de datos: Una aplicación escribe datos en una de las bases de datos que proporciona Google Cloud, como MySQL administrado de Cloud SQL o las bases de datos NoSQL que proporciona Datastore y Cloud Bigtable.
  • Transmitir datos como mensajes: una aplicación transmite datos a Pub/Sub, un servicio de mensajería en tiempo real. Una segunda aplicación, suscrita a los mensajes, puede transferir los datos a un almacenamiento o procesarlos inmediatamente en situaciones como detección de fraude.

Cloud Logging: Administración centralizada de registros

Cloud Logging es un servicio de administración de registros centralizado que recopila datos de registro de aplicaciones que se ejecutan en Google Cloud y otras plataformas de nube públicas y privadas. Exporta datos recopilados por Cloud Logging mediante el uso de herramientas integradas que envían los datos a Cloud Storage, Pub/Sub y BigQuery.


Muchos servicios de Google Cloud recopilan automáticamente los datos de registro en Cloud Logging. Por ejemplo, las aplicaciones que se ejecutan en App Engine registran automáticamente los detalles de cada solicitud y respuesta en Cloud Logging. También puedes escribir mensajes de registro personalizados en stdout y stderr, los cuales Cloud Logging recopila y muestra automáticamente en el visor de registros.


Cloud Logging proporciona un agente de Logging, basado en fluentd, que puedes ejecutar en instancias de máquina virtual (VM) alojadas en Compute Engine y en clústeres de contenedores que administra GKE. El agente transmite datos de registro de aplicaciones de terceros y software del sistema comunes a Cloud Logging.

Transfiere datos de transmisión

Los datos de transmisión se entregan de manera asíncrona, sin esperar una respuesta, y los mensajes individuales son pequeños. Comúnmente, los datos de transmisión se usan para telemetría; se recopilan datos de dispositivos diseminados en distintos puntos geográficos. Los datos de transmisión pueden usarse para accionar activadores de evento, realizar análisis complejos de sesión y como entrada en tareas de aprendizaje automático.


Aquí presentamos dos usos comunes de los datos de transmisión.

  • Datos de telemetría: Los dispositivos de Internet de las cosas (IoT) son dispositivos con conexión de red que reúnen datos del entorno que los rodea por medio de sensores. Si bien cada dispositivo podría enviar solo un dato por minuto, cuando se multiplican esos datos por una gran cantidad de dispositivos, enseguida es necesario aplicar estrategias y patrones de macrodatos.
  • Eventos de usuario y estadísticas: Una aplicación para dispositivos móviles podría registrar eventos cuando el usuario abre la aplicación y siempre que se produce un error o falla. La agregación de estos datos, en todos los dispositivos móviles donde está instalada la aplicación, puede proporcionar información valiosa sobre uso, métricas y calidad de código.

Pub/Sub: Mensajes en tiempo real

Pub/Sub es un servicio de mensajería en tiempo real que te permite enviar y recibir mensajes entre aplicaciones. Uno de los casos prácticos principales de los mensajes entre aplicaciones es la transferencia de datos de eventos de transmisión. Con los datos de transmisión, Pub/Sub administra automáticamente los detalles de fragmentación, replicación, balanceo de cargas y partición de las transmisiones de datos entrantes.

La mayoría de los datos de transmisión son generados por usuarios o sistemas distribuidos en todo el mundo. Pub/Sub tiene extremos en todo el mundo y aprovecha el balanceador de cargas de frontend global de Google para admitir la transferencia de datos en todas las regiones de Google Cloud, con una latencia mínima. Además, Pub/Sub escala con rapidez y de forma automática para satisfacer la demanda, sin necesidad de que el desarrollador aprovisione previamente los recursos del sistema. Para obtener más detalles sobre cómo escala Pub/Sub, consulta el caso de éxito de Spotify.

Los temas son la forma en que Pub/Sub organiza la transmisión de mensajes. Las aplicaciones que transmiten datos a Pub/Sub se orientan a un tema. Cuando recibe cada mensaje, Pub/Sub adjunta un identificador y una marca de tiempo únicos.

Después de que se transfieren los datos, una o más aplicaciones pueden recuperar los mensajes por medio de la suscripción a un tema. Esto puede hacerse mediante modelos de extracción o envío. En una suscripción de envío, el servidor Pub/Sub envía una solicitud a la aplicación del suscriptor en un extremo de URL configurado previamente. En el modelo de extracción, el suscriptor solicita mensajes del servidor y acusa recibo. Pub/Sub garantiza la entrega de mensajes al menos una vez por suscriptor.

Pub/Sub no proporciona garantías sobre el orden de entrega del mensaje. El orden estricto de los mensajes se puede lograr con el almacenamiento en búfer, que a menudo usa Dataflow.

Un uso común de Pub/Sub es mover datos de transmisión a Dataflow para el procesamiento en tiempo real, por tiempo de evento real. Cuando se procesan, puedes mover los datos a un servicio de almacenamiento continuo, como Datastore y BigQuery, que admiten consultas ordenadas por marcas de tiempo de la aplicación.

Transfiere datos masivos

Los datos masivos son conjuntos de datos de gran tamaño en los que la transferencia requiere un ancho de banda conjunto alto entre una cantidad pequeña de fuentes y el destino. Los datos pueden almacenarse en archivos, como archivos CSV, JSON, Avro o Parquet, o en una base de datos relacional o NoSQL. Los datos fuente pueden estar ubicados localmente o en otras plataformas en la nube.


Considera los siguientes casos prácticos de transferencia de datos masivos.

  • Cargas de trabajo científicas: los datos genéticos almacenados en archivos de texto en formato de llamada de variantes (VCF) se suben a Cloud Storage para luego importarlos a Genomics.
  • Migración a la nube: mueve los datos almacenados en una base de datos local de Oracle a una base de datos de Cloud SQL completamente administrada por medio de Informatica.
  • Creación de copias de seguridad de los datos: replica los datos almacenados en un depósito de AWS en Cloud Storage por medio del Servicio de transferencia de almacenamiento de Cloud.
  • Importación de datos heredados: copia diez años de datos de registro de un sitio web a BigQuery para realizar análisis de tendencias a largo plazo.

Google Cloud y las empresas asociadas proporcionan una variedad de herramientas que puedes usar para cargar grandes conjuntos de datos en Google Cloud.

Servicio de transferencia de almacenamiento: Transferencia de archivos administrados

El Servicio de transferencia de almacenamiento administra la transferencia de datos a un depósito de Cloud Storage. La fuente de datos puede ser un depósito de AWS S3, otro depósito de Cloud Storage o una URL accesible desde la Web. El Servicio de transferencia de almacenamiento está previsto para transferencias masivas y está optimizado para volúmenes de datos superiores a 1 TB.

Un uso común del Servicio de transferencia de almacenamiento es para crear copias de seguridad de los datos. Puedes crear una copia de seguridad de los datos a partir de otros proveedores de almacenamiento a un depósito de Cloud Storage. También puedes mover datos entre depósitos de Cloud Storage, como archivarlos desde un depósito de Standard Storage a uno de Archive Storage para reducir los costos de almacenamiento.

El Servicio de transferencia de almacenamiento permite hacer transferencias únicas o recurrentes. Proporciona filtros avanzados sobre la base de las fechas de creación de los archivos, filtros por nombre de archivo y el momento del día en que prefieres importar los datos. También permite la eliminación de los datos fuente después de copiarlos.

Servicio de transferencia de datos de BigQuery: Transferencia de datos de aplicación administrada

El Servicio de transferencia de datos de BigQuery automatiza el movimiento de datos desde aplicaciones de software como servicio (SaaS), como Google Ads y Google Ad Manager, de una forma programada y administrada, que estructura la base para un almacén de datos sin escribir una sola línea de código.

Las fuentes de datos pueden ser fuentes de aplicaciones de Google, como Google Ads, Campaign Manager, Google Ad Manager y YouTube.

Después de configurar la transferencia de datos, el Servicio de transferencia de datos de BigQuery carga los datos en BigQuery de forma automática y con frecuencia. También admite reabastecimientos de datos iniciados por el usuario para recuperarse de cualquier interrupción o brecha.

Transfer Appliance: Servidor de almacenamiento trasladable y de gran capacidad

Transfer Appliance es un servidor de almacenamiento de gran capacidad que se alquila de Google. Lo conectas a tu red, cargas los datos y lo envías a un centro de carga donde los datos se suben a Cloud Storage. Transfer Appliance viene en varios tamaños. Además, según la naturaleza de tus datos, podrías usar anulación de duplicados y compresión para aumentar considerablemente la capacidad efectiva del dispositivo.

Con el fin de determinar cuándo es necesario usar Transfer Appliance, calcula el tiempo que necesitas para subir tus datos mediante una conexión de red. Si determinas que te llevaría una semana o más, o si tienes más de 60 TB de datos (independientemente de la velocidad de transferencia), podría ser más confiable y conveniente transferir tus datos mediante Transfer Appliance.

Transfer Appliance anula duplicados, comprime y encripta tus datos capturados con encriptación sólida AES-256 con una contraseña y frase de contraseña que proporcionas. Cuando lees tus datos desde Cloud Storage, especificas la misma contraseña y frase de contraseña. Después de cada uso de Transfer Appliance, el dispositivo se limpia de forma segura y se restablece la imagen inicial a fin de impedir que tus datos estén disponibles para el siguiente usuario.

gsutil de Cloud Storage: Interfaz de línea de comandos

Cloud Storage proporciona gsutil, una utilidad de línea de comandos que puedes usar para mover datos basados en archivos desde cualquier sistema de archivos existente a Cloud Storage. Escrito en Python, gsutil se ejecuta en sistemas Linux, macOS y Windows. Además de mover datos a Cloud Storage, puedes usar gsutil para crear y administrar depósitos de Cloud Storage, editar permisos de acceso de objetos y copiar objetos de Cloud Storage. Para obtener más información sobre cómo usar gsutil en la transferencia de datos por lotes, consulta cómo crear secuencias de comandos de transferencias de producción.

Herramientas de migración de base de datos

Si tus datos de origen se almacenan en una base de datos, ya sea local o alojada por otro proveedor de servicios en la nube, puedes usar varias aplicaciones de terceros para migrar tus datos de forma masiva a Google Cloud. A menudo, estas aplicaciones se ubican en el mismo entorno que los sistemas de origen y proporcionan transferencias únicas y continuas. Las aplicaciones, como Informatica y Talend, proporcionan capacidades de extracción-transformación-carga (ETL) con compatibilidad integrada para Google Cloud.

Google Cloud tiene varias bases de datos de destino adecuadas para migrar datos desde bases de datos externas.

  • Bases de datos relacionales: los datos almacenados en un sistema de administración de bases de datos relacionales (RDBMS) se pueden migrar a Cloud SQL y Cloud Spanner.
  • Almacenes de datos: los datos almacenados en un almacén de datos se pueden mover a BigQuery.
  • Bases de datos NoSQL: los datos almacenados en una base de datos NoSQL orientada a columnas, como HBase o Cassandra, se pueden migrar a Bigtable. Los datos almacenados en una base de datos NoSQL orientada a JSON, como Couchbase o MongoDB, se pueden migrar a Datastore.

Soluciones de socios

Varios socios de Google Cloud proporcionan soluciones complementarias enfocadas en el movimiento de datos masivos.

  • WANDisco proporciona LiveMigrator, que automatiza la transferencia de datos de almacenamiento local y de red a los clústeres de Dataproc.
  • Tervela ofrece Cloud FastPath para automatizar la migración de datos y la sincronización del sistema de archivos locales con Cloud Storage.
  • Iron Mountain y Prime Focus ofrecen la capacidad de cargar datos en Cloud Storage desde tus medios físicos, como unidades de disco duro, cintas y unidades USB.

Almacenamiento

Los datos vienen en muchas formas y tamaños diferentes, y sus estructuras son completamente dependientes de la fuente a partir de la cual fueron generados y de los casos prácticos posteriores. Para cargas de trabajo de datos y estadísticas, los datos transferidos pueden almacenarse en diversos formatos o ubicaciones.

Almacena datos de objeto

Los archivos son un formato común para almacenar datos, especialmente los datos masivos. Con Google Cloud, puedes subir tus datos de archivos a Cloud Storage. De este modo, esos datos están disponibles en una variedad de otros servicios.

Cloud Storage: Almacenamiento de objetos administrados

Cloud Storage ofrece almacenamiento de objetos duradero y con alta disponibilidad para datos estructurados y no estructurados. Por ejemplo, los datos podrían ser archivos de registro, archivos de copia de seguridad y exportación de bases de datos, imágenes y otros archivos binarios. Los archivos en Cloud Storage se organizan por proyecto en depósitos individuales. Estos depósitos son compatibles con listas de control de acceso (LCA) personalizadas o controles centralizados de administración de identidades y accesos (IAM).

Cloud Storage actúa como una capa de almacenamiento distribuido, accesible para las aplicaciones y los servicios que se ejecutan en App Engine, GKE o Compute Engine, y a través de otros servicios. como Cloud Logging.

Considera los siguientes casos prácticos de almacenamiento de datos.

  • Copias de seguridad y recuperación ante desastres: Cloud Storage ofrece almacenamiento muy duradero y más seguro para crear copias de seguridad y archivar tus datos.
  • Distribución de contenido: Cloud Storage permite almacenar y publicar contenido. Por ejemplo, el almacenamiento y la publicación de archivos multimedia son escalables.
  • Almacenamiento de datos de ETL: Dataflow puede acceder a los datos de Cloud Storage para transformarlos y cargarlos en otros sistemas, como Bigtable o BigQuery.
  • Almacenamiento de datos para trabajos de MapReduce: para los trabajos de Hadoop y Spark, se puede acceder a los datos de Cloud Storage de forma nativa mediante Dataproc.
  • Almacenamiento de datos de consultas: BigQuery tiene la capacidad de importar datos de Cloud Storage a conjuntos de datos y tablas, o bien, las consultas pueden federarse en los datos existentes sin realizar la importación. Para obtener acceso directo, BigQuery es compatible en forma nativa con la importación de archivos CSV, JSON y Avro desde un depósito de Cloud Storage especificado.
  • Propagación de aprendizaje automático: las API de aprendizaje automático de Google Cloud, como la API de Cloud Vision o la API de Cloud Natural Language, pueden acceder a los datos y archivos almacenados directamente en Cloud Storage.
  • Archivado de datos inactivos: Nearline, Coldline y Archive Storage ofrecen una latencia baja y un almacenamiento más accesible para los objetos a los que planeas acceder menos de una vez por mes, trimestre o menos de una vez al año, respectivamente.

Cloud Storage está disponible en varias clases, según la disponibilidad y el rendimiento requeridos para las aplicaciones y los servicios.

  • Standard Storage ofrece los niveles de disponibilidad más altos y es adecuado para almacenar datos que requieren acceso de baja latencia para los datos de acceso frecuente, como los que usan las instancias de Compute Engine. Los ejemplos de casos prácticos incluyen la entrega de contenido de sitios web, las cargas de trabajo de almacenamiento interactivo, los datos compatibles con aplicaciones para dispositivos móviles y videojuegos, el procesamiento intensivo de datos y el procesamiento de macrodatos.
  • Nearline Storage es un servicio de almacenamiento muy duradero y de bajo costo para almacenar datos a los que accedes menos de una vez por mes. Nearline Storage ofrece acceso rápido a los datos, con tiempos de respuesta en el orden de menos de un segundo, y es útil para casos prácticos de archivado de datos, creación de copias de seguridad en línea o recuperación ante desastres.
  • Coldline Storage proporciona un servicio de almacenamiento muy duradero y de bajo costo para almacenar datos a los que deseas acceder menos de una vez por trimestre. Coldline Storage ofrece acceso rápido a los datos, con tiempos de respuesta en el orden de menos de un segundo, y es adecuado para archivado de datos, creación de copias de seguridad en línea o recuperación ante desastres.
  • Archive Storage proporciona un servicio de almacenamiento muy duradero y de menor costo para almacenar datos a los que deseas acceder menos de una vez al año. Archive Storage ofrece acceso rápido a los datos, con tiempo de respuesta en el orden de menos de un segundo, y es ideal para archivado de datos, creación de copia de seguridad en línea y recuperación ante desastres.

Cloud Storage para Firebase: Almacenamiento escalable para desarrolladores de aplicaciones para dispositivos móviles

Cloud Storage para Firebase es un servicio de almacenamiento de objetos simple y rentable diseñado con el fin de escalar tu base de usuarios. Cloud Storage para Firebase es una buena opción con el fin de almacenar y recuperar elementos, como imágenes, audio, video y otro contenido generado por usuarios, en aplicaciones web y dispositivos móviles.

Los SDK de Firebase para Cloud Storage realizan las operaciones de carga y descarga sin importar la calidad de la red. Si se interrumpen debido a malas conexiones, se reinician en el punto en el que se interrumpieron para así ahorrar tiempo y ancho de banda. La integración con Firebase Authentication lista para usar te permite configurar el acceso según el nombre de archivo, el tamaño, el tipo de contenido y otros metadatos.

Cloud Storage para Firebase almacena tus archivos en un depósito de Cloud Storage, lo que te brinda flexibilidad a fin de subir y descargar archivos de clientes de dispositivos móviles que usan los SDK de Firebase. También puedes realizar procesamiento en el servidor, como filtrado de imágenes o transcodificación de video con Google Cloud.

A fin de comenzar a usar Cloud Storage para Firebase, consulta esta documentación. Firebase tiene SDK para clientes iOS, Android, web, C++ y Unity.

Almacena datos de bases de datos

Google Cloud proporciona una variedad de bases de datos, tanto RDBMS como NoSQL, que puedes usar para almacenar tus datos relacionales y no relacionales.

Cloud SQL: Motores MySQL y PostgreSQL administrados

Cloud SQL es un RDBMS completamente administrado y nativo de la nube que ofrece motores MySQL y PostgreSQL con compatibilidad integrada para replicación. Es útil para cargas de trabajo con bases de datos relacionales, transaccionales y de baja latencia. Dado que se basa en MySQL y PostgreSQL, Cloud SQL es compatible con API estándares en cuanto a conectividad. Cloud SQL ofrece copia de seguridad y restablecimiento integradas, alta disponibilidad y réplicas de lectura.

Cloud SQL admite cargas de trabajo de RDBMS de hasta 30 TB para MySQL y PostgreSQL. Se puede acceder a Cloud SQL desde aplicaciones que se ejecutan en App Engine, GKE o Compute Engine. Dado que Cloud SQL se basa en MySQL y PostgreSQL, es compatible con controladores de conexión estándar, marcos de trabajo de aplicaciones de terceros (como Django y Ruby on Rails) y herramientas de migración populares. Los datos almacenados en Cloud SQL se encriptan en tránsito y en reposo. Las instancias de Cloud SQL tienen compatibilidad integrada para el control de acceso, que usa firewalls de red con el fin de administrar el acceso a la base de datos.

Cloud SQL es adecuado para cargas de trabajo típicas de procesamiento de transacciones en línea (OLTP).

  • Transacciones financieras: el almacenamiento de transacciones financieras requiere una semántica de base de datos ACID y, a menudo, los datos se distribuyen en varias tablas, por lo que se requiere una asistencia de transacción compleja.
  • Credenciales de usuario: El almacenamiento de contraseñas y otros datos seguros exigen compatibilidad y aplicación de campos complejos además de validación de esquema.
  • Pedidos de clientes: generalmente, los pedidos o facturas incluyen datos relacionales con alto grado de normalización y compatibilidad con transacciones en varias tablas cuando capturan cambios de inventario.

Cloud SQL no es un sistema de almacenamiento adecuado para cargas de trabajo de procesamiento analítico en línea (OLAP) o datos que requieren esquemas dinámicos por objeto. Si tu carga de trabajo requiere esquemas dinámicos, considera usar Datastore. Para cargas de trabajo de OLAP, considera usar BigQuery. Si tu carga de trabajo requiere esquemas de columna ancha, considera usar Bigtable.

Para casos prácticos de procesamiento posterior y uso analítico, se puede acceder a los datos que están en Cloud SQL desde las herramientas de varias plataformas. Puedes usar Dataflow o Dataproc para crear trabajos de ETL que extraigan datos de Cloud SQL y los inserten en otros sistemas de almacenamiento.

Bigtable: NoSQL de columna ancha administrado

Bigtable es un servicio de base de datos NoSQL administrado y de alto rendimiento diseñado para cargas de trabajo de escala de terabytes a petabytes. Bigtable se basa en la infraestructura de base de datos de Bigtable interna de Google que impulsa Búsqueda de Google, Google Analytics, Google  Maps y Gmail. El servicio brinda almacenamiento uniforme, de baja latencia y alta capacidad de procesamiento para datos NoSQL a gran escala. Bigtable está diseñado para cargas de trabajo de entrega de aplicaciones en tiempo real, así como para cargas de trabajo analíticas a gran escala.

Los esquemas de Bigtable usan una clave de fila de un solo índice asociada con una serie de columnas. Por lo general, los esquemas están estructurados como alto o ancho, y las consultas se basan en la clave de fila. El estilo del esquema depende de los casos prácticos posteriores, y es importante considerar la ubicación de los datos y la distribución de lecturas y escrituras para maximizar el rendimiento. Los esquemas altos suelen usarse para almacenar eventos de serie temporal, datos que tienen clave en alguna parte con una marca de tiempo, con relativamente menos columnas por fila. Los esquemas anchos siguen el enfoque opuesto, un identificador simple como clave de la fila junto con una gran cantidad de columnas. Para obtener más información, consulta la documentación de diseño del esquema de Bigtable.

Bigtable es ideal para una gran variedad de cargas de trabajo de gran capacidad de procesamiento a gran escala, como la tecnología publicitaria o la infraestructura de datos de IoT.

  • Datos de aplicaciones en tiempo real: se puede acceder a Bigtable desde aplicaciones que se ejecutan en el entorno flexible de App Engine, GKE y Compute Engine para cargas de trabajo en tiempo real.
  • Procesamiento de transmisión: a medida que Pub/Sub transfiere datos, Dataflow se puede usar para transformar y cargar los datos en Bigtable.
  • Datos de series temporales de IoT: los datos capturados por sensores y transmitidos a Google Cloud se pueden almacenar mediante esquemas de series temporales en Bigtable.
  • Cargas de trabajo de tecnología publicitaria: Bigtable se puede usar con el fin de almacenar y realizar un seguimiento de las impresiones de anuncios y, también, puede ser una fuente para el procesamiento y el análisis de seguimiento con Dataproc y Dataflow.
  • Transferencia de datos: Dataflow o Dataproc se pueden usar para transformar y cargar datos de Cloud Storage en Bigtable.
  • Cargas de trabajo analíticas: Dataflow se puede usar para realizar agregaciones complejas directamente desde los datos almacenados en Bigtable, y Dataproc se puede usar con el fin de ejecutar tareas de aprendizaje automático y procesamiento de Hadoop o Spark.
  • Reemplazo de Apache HBase: Bigtable también se puede usar como reemplazo directo para sistemas compilados con Apache HBase, una base de datos de código abierto que se basa en el documento original de Bigtable creado por Google. Bigtable cumple con las API de HBase 1.x, por lo que se puede integrar en muchos sistemas de macrodatos existentes. Apache Cassandra usa un modelo de datos basado en el documento de Bigtable, lo que significa que Bigtable también admite varias cargas de trabajo que aprovechan un esquema y una estructura orientados a columnas anchas.

Si bien Bigtable se considera un sistema OLTP, no admite transacciones de varias filas, consultas de SQL ni uniones. Para esos casos prácticos, considera usar Cloud SQL o Datastore.

Spanner: Base de datos relacional escalable de forma horizontal

Spanner es un servicio de base de datos relacional completamente administrado para aplicaciones de OLTP esenciales. Spanner es escalable de forma horizontal y está diseñado para ofrecer coherencia sólida, alta disponibilidad y escalamiento global. Esta combinación de calidades hace que sea un servicio único. Debido a que Spanner es un servicio completamente administrado, puedes enfocarte en diseñar tu aplicación y no tu infraestructura.

Spanner es una buena opción si buscas la facilidad de uso y el conocimiento de una base de datos relacional junto con la escalabilidad asociada con una base de datos NoSQL. Al igual que las bases de datos relacionales, Spanner admite esquemas, transacciones ACID y consultas de SQL (ANSI 2011). Al igual que muchas bases de datos NoSQL, Spanner escala de forma horizontal en regiones, pero también puede escalar a través de regiones para cargas de trabajo que tengan requisitos de disponibilidad más estrictos. Spanner también realiza fragmentación automática mientras entrega datos con latencias de milisegundos de un solo dígito. Las características de seguridad de Spanner incluyen encriptación de capas de datos, registros de auditoría y la integración con la administración de identidades y accesos (IAM).

Para comenzar a usar Spanner, consulta la documentación de Spanner.

Los siguientes son casos prácticos típicos de Spanner.

  • Servicios financieros: las cargas de trabajo de los servicios financieros exigen coherencia sólida en todas las operaciones de lectura/escritura. Spanner proporciona esta coherencia sin sacrificar la alta disponibilidad.
  • Tecnología publicitaria: la latencia es una consideración clave en el espacio de tecnología de anuncios. Spanner facilita las consultas de baja latencia sin comprometer el escalamiento o la disponibilidad.
  • Venta minorista y cadena de suministro global: la necesidad de escalamiento global puede forzar a los expertos en cadena de suministro a compensar entre coherencia y costos de mantenimiento. Spanner ofrece replicación automática, global y síncrona con baja latencia, lo que significa que los datos son siempre coherentes y tienen alta disponibilidad.

Firestore: Base de datos NoSQL flexible y escalable

Firestore es una base de datos que almacena datos JSON. Los datos JSON pueden sincronizarse en tiempo real con clientes conectados en diferentes plataformas, incluidos iOS, Android, JavaScript, dispositivos de IoT y aplicaciones de escritorio. Si un cliente no tiene conectividad de red, la API de Firestore permite que tu aplicación conserve los datos en un disco local. Después de restablecer la conexión, el dispositivo del cliente se sincroniza con el estado actual del servidor.

Firestore proporciona un lenguaje de reglas flexible y basado en expresiones, reglas de seguridad de Firestore, que se integra con Firebase Authentication para que puedas definir quién tiene acceso a qué datos.

Firestore es una base de datos NoSQL con una API que puedes usar con el fin de crear una experiencia en tiempo real para millones de usuarios, sin comprometer la capacidad de respuesta. Para facilitar este nivel de escalamiento y respuesta, es importante estructurar tus datos de forma adecuada. Para comenzar a usar Firestore, consulta la documentación. Firestore tiene SDK para clientes iOS, Android, web, C++ y Unity.

Estos son algunos casos prácticos de Firestore.

  • Chat y redes sociales: almacena y recupera imágenes, audio, video y otro contenido generado por usuarios.
  • Juegos para dispositivos móviles: Realiza el seguimiento del progreso y las estadísticas de los juegos en varios dispositivos y plataformas de dispositivos.

Bases de datos de ecosistemas

Además de los servicios de base de datos que proporciona Google Cloud, puedes implementar tu propio software de base de datos en máquinas virtuales de alto rendimiento de Compute Engine con almacenamiento persistente altamente escalable. Los RDBMS tradicionales, como EnterpriseDB y Microsoft SQL Server son compatibles con Google Cloud. Los sistemas de base de datos NoSQL como MongoDB y Cassandra también son compatibles con las configuraciones de alto rendimiento.

Con Cloud Marketplace, puedes implementar muchos tipos de bases de datos en Google Cloud mediante imágenes, almacenamiento y configuración de red previamente compilados. Los recursos de implementación, como instancias de Compute Engine, discos persistentes, configuración de red, pueden administrarse directamente y personalizarse con facilidad para diferentes cargas de trabajo o casos de uso.

Cómo almacenar datos de almacén de datos

Un almacén de datos guarda grandes cantidades de datos para consulta y análisis en lugar de procesamiento transaccional. Para cargas de trabajo de almacén de datos, Google Cloud proporciona BigQuery.

BigQuery: Almacén de datos administrado

Para datos transferidos que en última instancia se analizarán en BigQuery, puedes almacenar datos directamente en BigQuery y así evitar otros medios de almacenamiento. BigQuery es compatible con la carga de datos a través de la interfaz web, herramientas de línea de comandos y llamadas a la API de REST.

Cuando cargas datos en forma masiva, estos deben estar en archivos con formato CSV, JSON o Avro. Luego, puedes usar la interfaz web de BigQuery, las herramientas de línea de comandos o las llamadas a la API de REST para cargar los datos desde estos formatos de archivo a tablas de BigQuery.

Para datos de transmisión, puedes combinar Pub/Sub y Dataflow a fin de procesar transmisiones entrantes y almacenar los datos resultantes en BigQuery. Sin embargo, en algunas cargas de trabajo, podría ser adecuado transmitir los datos directamente a BigQuery sin procesamiento adicional. También puedes compilar aplicaciones personalizadas, que se ejecutan en Google Cloud o en una infraestructura local, que leen desde fuentes de datos con esquemas y filas definidos. Luego, la aplicación personalizada puede transmitir esos datos a las tablas de BigQuery mediante los SDK de Google Cloud o las llamadas directas a la API de REST.

Procesamiento y análisis

A fin de extraer información valiosa y valor comercial de los datos, es necesario transformarlos y analizarlos. Esto requiere un marco de trabajo de procesamiento que pueda analizar los datos directamente o preparar los datos para el análisis posterior, además de herramientas para analizar y comprender los resultados del procesamiento.


  • Procesamiento: Los datos de sistemas fuente se limpian, normalizan y procesan en varias máquinas, y se almacenan en sistemas analíticos.
  • Análisis: Los datos procesados se almacenan en sistemas que permiten consultas ad hoc y exploración.
  • Comprensión: sobre la base de los resultados de estadísticas, los datos se usan para entrenar y probar modelos automatizados de aprendizaje automático.

Google Cloud proporciona servicios para procesar datos a gran escala, analizar y consultar macrodatos, y comprender datos a través del aprendizaje automático.

Procesa datos a gran escala

El procesamiento de datos a gran escala generalmente implica leer datos de sistemas de origen como Cloud Storage, Bigtable o Cloud SQL y, luego, realizar normalizaciones o agregaciones complejas de esos datos. En muchos casos, los datos son demasiado grandes como para caber en una sola máquina, de modo que se usan marcos de trabajo a fin de administrar clústeres de procesamiento distribuidos y proporcionar herramientas de software que ayudan con el procesamiento.

Dataproc: Apache Hadoop y Apache Spark administrados

La capacidad de manejar conjuntos de datos extremadamente grandes ha evolucionado desde que Google publicó por primera vez el informe de MapReduce en 2004. Muchas organizaciones ahora cargan y almacenan datos en el sistema de archivos distribuido Hadoop (HDFS) y ejecutan agregaciones, informes o transformación periódicos mediante herramientas tradicionales orientadas a lotes, como Hive o Pig. Hadoop tiene un gran ecosistema para realizar actividades como aprendizaje automático con Mahout, transferencia de registro con Flume y estadísticas con R, y más. Los resultados del procesamiento de datos en Hadoop son críticos para el negocio. Para una organización que depende de estos procesos, migrarlos a un nuevo marco de trabajo es una tarea no trivial.

Spark ha ganado popularidad en los últimos años como alternativa a MapReduce de Hadoop. El rendimiento de Spark generalmente es bastante más rápido que el de MapReduce de Hadoop. Spark lo logra mediante la distribución de los conjuntos de datos y el procesamiento en la memoria en un clúster. Además de los aumentos de velocidad, esta distribución le brinda a Spark la capacidad de manejar los datos de transmisión mediante Spark Streaming, así como estadísticas, agregaciones y transformaciones por lotes tradicionales con Spark SQL y una API simple. La comunidad de Spark es muy activa con varias bibliotecas populares, incluida MLlib, que se puede usar en el aprendizaje automático.

Sin embargo, ejecutar Spark o Hadoop a una escala en constante crecimiento crea complejidad operativa y sobrecarga, además de un costo fijo continuo y acumulativo. Incluso si un clúster solo se necesita en intervalos discretos, aun así pagarás el costo de un clúster persistente. Con Dataproc, puedes migrar tus implementaciones existentes de Hadoop o Spark a un servicio completamente administrado que automatiza la creación de clústeres, simplifica la configuración y administración de tu clúster, tiene informes de supervisión y uso integrados y se puede cerrar cuando no se usa.

Iniciar un clúster de Dataproc nuevo tarda 90 segundos en promedio, lo que facilita la creación de un clúster de 10 nodos o incluso uno de 1,000 nodos. Esto reduce la sobrecarga operativa y de costo que se derivan de administrar una implementación de Spark o Hadoop, al tiempo que se proporcionan el conocimiento y la coherencia de cualquiera de los marcos de trabajo. Dataproc proporciona la facilidad y flexibilidad para iniciar clústeres de Spark o Hadoop a pedido cuando sean necesarios, y para finalizarlos cuando ya no los necesites. Considera los siguientes casos prácticos.

  • Procesamiento de registros: Con una modificación mínima, puedes procesar grandes cantidades de datos de registro en formato de texto por día de diversas fuentes mediante el MapReduce existente.
  • Informes: Agrega datos en informes y almacena los datos en BigQuery. Luego puedes enviar los datos agregados a aplicaciones que alimentan paneles y realizan análisis.
  • Clústeres de Spark según demanda: Inicia rápidamente clústeres ad hoc para analizar datos almacenados en BLOB con Spark (Spark SQL, PySpark, Spark shell).
  • Aprendizaje automático: usa las bibliotecas de aprendizaje automático de Spark (MLlib), que están preinstaladas en el clúster, para personalizar y ejecutar algoritmos de clasificación.

Dataproc también simplifica las actividades operativas, como la instalación de software o el cambio de tamaño de un clúster. Con Dataproc, puedes leer datos y escribir resultados de forma nativa en Cloud Storage, Bigtable o BigQuery, o en el almacenamiento HDFS que proporciona el clúster. Con Cloud Storage, Dataproc se beneficia de un acceso más rápido a los datos y la capacidad de tener muchos clústeres que operan sin problemas en conjuntos de datos sin movimiento de datos, así como de la necesidad de enfocarse en la replicación de datos. Esta capacidad de almacenar y controlar datos de forma externa hace posible que trates clústeres de Dataproc como recursos efímeros con persistencia externa, que se pueden iniciar, consumir y finalizar según sea necesario.

Dataflow: Procesamiento por lotes y de transmisión completamente administrados sin servidores

Poder analizar los datos de transmisión ha cambiado la manera en la que las organizaciones manejan los negocios y responden en tiempo real. Sin embargo, tener que mantener diferentes marcos de trabajo de procesamiento para realizar estadísticas de lote y transmisión aumenta la complejidad porque se necesitan dos canalizaciones diferentes. Además, emplear tiempo en optimizar la utilización del clúster y los recursos, como sucede con Spark y Hadoop, distrae del objetivo básico de filtrar, agregar y transformar tus datos.

Dataflow se diseñó con el fin de simplificar los macrodatos para cargas de trabajo de transmisión y por lotes. Para hacerlo, unifica el modelo de programación y el modelo de ejecución. En lugar de tener que especificar un tamaño de clúster y administrar la capacidad, Dataflow es un servicio administrado en el que se crean, escalan automáticamente y paralelizan los recursos a pedido. Como servicio verdaderamente autónomo, los trabajadores se agregan o quitan según las demandas del trabajo. Dataflow también se ocupa del problema común de los trabajadores demorados que se encuentran en los sistemas distribuidos mediante la supervisión, identificación y reprogramación constante del trabajo, incluidas las divisiones, para los trabajadores inactivos en el clúster.

Considera los siguientes casos prácticos.

  • Reemplazo de MapReduce: Procesa cargas de trabajo paralelas donde los paradigmas de procesamiento sin MapReduce han generado complejidad operativa o frustración.
  • Estadísticas de usuarios: Analiza grandes volúmenes de datos de comportamiento de usuarios, como eventos dentro del juego, datos de flujo de clics y datos de ventas minoristas.
  • Ciencia de datos: Procesa grandes cantidades de datos para hacer descubrimientos y predicciones científicos, como datos de genómica, del clima y financieros.
  • ETL: transfiere, transforma y carga datos en un almacén de datos, como BigQuery.
  • Procesamiento de registros: procesa datos de registro de eventos de forma continua para crear paneles en tiempo real, métricas de aplicaciones y alertas.

El SDK de Dataflow también se lanzó como el proyecto de código abierto Apache Beam, que admite la ejecución en Apache Spark y Apache Flink. Debido al ajuste de escala automático y la facilidad de implementación, Dataflow es una ubicación ideal para ejecutar flujos de trabajo de Dataflow/Apache Beam.

Dataprep de Trifacta: Exploración, limpieza y procesamiento de datos visuales

Dataprep es un servicio de exploración, limpieza y preparación de datos visuales para su análisis. Puedes usar Dataprep con una IU basada en navegador, sin escribir código. Dataprep implementa y administra automáticamente los recursos necesarios para realizar las transformaciones, según la demanda.

Con Dataprep, puedes transformar datos de cualquier tamaño almacenados en formatos CSV, JSON o de tabla relacional. Dataprep usa Dataflow para escalar automáticamente y puede manejar conjuntos de datos a escala de terabytes. Debido a que Dataprep está completamente integrado con Google Cloud, puedes procesar datos sin importar dónde residan: en Cloud Storage, en BigQuery o en tu escritorio. Después de procesar los datos, puedes exportar datos limpios directamente a BigQuery para análisis posteriores. Puedes administrar el acceso de los usuarios y la seguridad de los datos con la administración de identidades y accesos.

Estos son algunos casos de uso comunes de Dataprep.

  • Aprendizaje automático: puedes limpiar datos de entrenamiento para un ajuste preciso de modelos de AA.
  • Estadísticas: Puedes transformar datos sin procesar para poder transferirlos a herramientas de almacenamiento de datos como BigQuery.

Cloud Data Loss Prevention: Descubre, clasifica y protege datos sensibles.

Cloud DLP es un servicio completamente administrado diseñado para descubrir, clasificar y proteger datos sensibles. Cloud DLP incluye más de 120 infotipos integrados, lo que te permite analizar, descubrir y clasificar datos, así como generar informes sobre ellos, todo desde casi cualquier lugar. Cloud DLP admite de forma nativa el análisis y la clasificación de datos sensibles en Cloud Storage, BigQuery y Datastore. También dispone de una API de contenido de transmisión que brinda compatibilidad con más fuentes de datos, cargas de trabajo personalizadas y aplicaciones.

Cloud DLP también proporciona herramientas de desidentificación para enmascarar, asignar tokens y transformar elementos sensibles a fin de ayudarte a administrar mejor los datos que recopilas, almacenas o usas en los negocios o estadísticas. Cloud DLP admite datos estructurados y no estructurados, lo que te permite conservar la utilidad de tus datos para la unión, las estadísticas y la IA, mientras proteges los identificadores sensibles sin procesar.

A continuación, presentamos algunos casos de uso de Cloud DLP.

  • Aprendizaje automático: Puedes desidentificar datos de entrenamiento no estructurados, como los registros de chat antes de usarlos en modelos de IA o AA.
  • Detección y clasificación: Identifica y etiqueta datos sensibles mientras transfieres a bases de datos o herramientas de almacenamiento de datos, como BigQuery.
  • Reduce la exposición: Puedes seudonimizar o asignar tokens para reducir la exposición y, al mismo tiempo, habilitar la unión y el análisis agregado.

Analiza y consulta los datos

Después de transferir, almacenar y procesar los datos, es necesario obtener un formato que permita acceder y consultarlos fácilmente.

BigQuery: Almacén de datos administrado

BigQuery es un almacén de datos completamente administrado compatible con consultas ad hoc de SQL y esquemas complejos. Puedes usar BigQuery para analizar, comprender y organizar datos. Si estás acostumbrado a usar un almacén de datos tradicional para ejecutar consultas de SQL estándar o herramientas de inteligencia empresarial y visualización, apreciarás la potencia y la interfaz conocida de BigQuery.

BigQuery es un almacén de datos OLAP de estadísticas altamente distribuido y escalable, y de bajo costo capaz de alcanzar una tasa de análisis de más de 1 TB por segundo. Es un servicio completamente administrado, en el que los nodos de procesamiento se inician para cada consulta ingresada en el sistema.

Para comenzar a usar BigQuery, creas un conjunto de datos en tu proyecto, cargas los datos en una tabla y ejecutas una consulta. El proceso de carga de datos se puede simplificar mediante la transferencia de transmisión desde Pub/Sub y Dataflow, la carga de datos desde Cloud Storage o con el uso del resultado de un trabajo de procesamiento ejecutado en Dataflow o Dataproc. BigQuery puede importar los formatos de datos CSV, Avro y JSON, y también incluye compatibilidad para elementos anidados y repetidos en JSON.

Todos los datos de BigQuery requieren acceso por canales encriptados y están encriptados en reposo. BigQuery está cubierto por los programas de cumplimiento de Google, que incluyen SOC, PCI, ISO 27001 e HIPAA, por lo que se puede usar para manejar y consultar información sensible. El acceso a los datos se controla por medio de tus LCA.

BigQuery calcula los cargos de facturación en dos dimensiones independientes: consultas y almacenamiento. El almacenamiento de datos en BigQuery es comparable en costo con el almacenamiento en Cloud Storage, lo que significa que no necesitas elegir entre mantener los datos de registro en un depósito o en BigQuery. No hay un límite máximo para la cantidad de datos que pueden almacenarse en BigQuery. Además, si las tablas no se editan por 90 días, el precio de almacenamiento para esa tabla se reduce un 50%.

Un caso práctico típico de BigQuery es transmitir o cargar periódicamente en lote datos de servidores y otros sistemas que producen señales a un ritmo alto, como los dispositivos de IoT. Cuenta con integración nativa a varios servicios de Google. Por ejemplo, Cloud Logging se puede configurar para entregar datos de registro directamente en BigQuery.

A la hora de consultar datos en BigQuery, puedes elegir entre dos modelos de precio: a pedido o de tasa fija. Con el preció según la demanda, los cargos por consulta se cobran de acuerdo con los terabytes procesados. Cuando se usa el precio de tasa fija, BigQuery te brinda capacidad de consulta coherente con un modelo de costos más simple.

Como servicio completamente administrado, BigQuery automatiza tareas como períodos de mantenimiento de infraestructura y limpieza de datos. Para mejorar el diseño de tus consultas, puedes examinar la explicación del plan de consulta de una determinada consulta. Los datos se almacenan en un formato de columna, optimizado para agregaciones y procesamiento de datos a gran escala. Además, BigQuery cuenta con compatibilidad integrada con partición de datos por serie temporal. Desde una perspectiva del diseño, esto significa que podrías diseñar tu actividad de carga para usar una marca de tiempo y luego orientar las consultas en una partición de fecha en particular. Dado que los cargos de consulta de BigQuery se basan en la cantidad de datos analizados, la partición correcta de los datos puede mejorar considerablemente la eficiencia de las consultas y reducir el costo.

La ejecución de consultas en BigQuery puede realizarse con SQL estándar, que cumple con SQL 2011 y tiene extensiones para permitir consultas en datos anidados y repetidos. Existe un vasto conjunto de funciones y operadores integrados disponibles de forma nativa en BigQuery, y compatibilidad con funciones definidas por el usuario (UDF).

Puedes aprovechar BigQuery de varias maneras.

  • Análisis de usuarios: Transfiere grandes cantidades de actividad generada por el usuario (tecnología de avisos, flujo de clics, telemetría de juegos) y determina el comportamiento y las características de los usuarios.
  • Métricas de dispositivos y operativas: Recopila información de transmisión de sistemas de TI, dispositivos de IoT, etc., y analiza los datos para detectar tendencias y variaciones.
  • Inteligencia empresarial: Almacena métricas empresariales como un almacén de datos y promueve el análisis a través de BigQuery BI Engine con Google Data Studio.

En el sitio de BigQuery, encontrarás varios instructivos y ejemplos de uso de BigQuery.

Cómo comprender datos con aprendizaje automático

El aprendizaje automático se ha convertido en un componente crítico de la fase de análisis del ciclo de vida de los datos. Puede usarse para aumentar los resultados procesados, sugerir optimizaciones a fin de recopilar datos y predecir resultados en conjuntos de datos.

Considera los siguientes casos prácticos.

  • Recomendaciones de productos: Puedes crear un modelo que recomiende productos en función de las compras anteriores y la navegación en el sitio.
  • Predicción: Usa aprendizaje automático para predecir el rendimiento de sistemas complejos, como los mercados financieros.
  • Asistentes automatizados: Crea asistentes automatizados que comprendan y respondan preguntas hechas por los usuarios.
  • Análisis de opiniones: determina la opinión que subyace a los comentarios del usuario en las opiniones sobre productos y los artículos periodísticos.

Existen varias opciones para aprovechar el aprendizaje automático en Google Cloud.

  • API de aprendizaje automático para tareas específicas: Google Cloud proporciona servicios de aprendizaje automático administrados y listos para usar con modelos previamente entrenados de visión, habla, lenguaje natural y traducción de texto. Estas API están compiladas con las mismas tecnologías que usan aplicaciones como Google Fotos, Google para dispositivos móviles, Google Traductor y las respuestas inteligentes de Recibidos.
  • Aprendizaje automático personalizado: AI Platform es un servicio alojado y administrado que ejecuta modelos personalizados a gran escala. Además, Dataproc también puede ejecutar modelos de aprendizaje automático compilados con Mahout o Spark MLlib.

La API de Vision

Puedes usar la API de Vision para analizar y comprender el contenido de una imagen mediante redes neuronales previamente entrenadas. Con la API de Vision, puedes clasificar imágenes, detectar objetos y rostros individuales, y reconocer palabras impresas. Además, puedes usar la API de Vision para detectar contenido inapropiado y analizar los atributos faciales emocionales de las personas.

Se puede acceder a la API de Vision a través de los extremos de REST. Puedes enviar imágenes directamente al servicio o subirlas a Cloud Storage e incluir un vínculo a la imagen en la solicitud. Las solicitudes pueden incluir una sola imagen o se pueden anotar varias imágenes en un solo lote. En una solicitud, pueden seleccionarse anotaciones de características para la detección en cada imagen incluida. La detección de características incluye etiquetas, texto, rostros, puntos de referencia, logotipos, búsquedas seguras y propiedades de imagen (como colores dominantes). La respuesta contendrá metadatos sobre cada anotación de tipo de característica seleccionada para cada suministro de la solicitud original. Para obtener más información sobre las solicitudes y las respuestas, consulta la documentación de la API de Vision.

Puedes integrar fácilmente la API de Vision en aplicaciones personalizadas que se ejecutan en App Engine, GKE, Compute Engine y plataformas móviles, como iOS y Android. También se puede acceder desde los servicios de Google Cloud, como Dataflow, Dataproc y Datalab.

Voz a texto

Voz a texto admite la capacidad de analizar audio y convertirlo en texto. La API reconoce más de 80 idiomas y variantes, y usa algoritmos de red neuronal de aprendizaje profundo que evolucionan y mejoran constantemente.

Puedes usar voz a texto para diferentes tipos de cargas de trabajo.

  • Voz a texto en tiempo real: voz a texto puede aceptar entradas de audio de transmisión y comenzar a mostrar resultados de reconocimiento parciales a medida que estén disponibles. Esta capacidad es útil para integrar dictado en tiempo real o permitir comando y control por voz en las aplicaciones. Voz a texto es compatible con gRPC, un marco de trabajo de RPC de código abierto y alto rendimiento para transmitir análisis de audio y voz en aplicaciones personalizadas que se ejecutan en App Engine, GKE, Compute Engine y plataformas móviles, como iOS.
  • Análisis por lotes: para procesar grandes cantidades de archivos de audio, puedes llamar a voz a texto mediante extremos de REST y gRPC. Se admiten funciones síncronas y asíncronas de voz a texto. También se puede acceder a la API de REST desde los servicios de Google Cloud, como Dataflow, Dataproc y Datalab.

API de Natural Language

La API de Natural Language permite analizar y revelar la estructura y el significado del texto. La API se puede usar para extraer información sobre personas, lugares, eventos y opinión del texto de entrada, y más. El análisis resultante se puede usar para filtrar contenido inapropiado, clasificar contenido por temas o crear relaciones a partir de las entidades extraídas del texto de entrada.

Puedes combinar la API de Natural Language con las funciones de OCR de la API de Vision o las características de voz a texto para crear aplicaciones o servicios potentes.

La API de Natural Language está disponible a través de extremos de REST. Puedes enviar texto directamente al servicio o subir archivos de texto a Cloud Storage y vincularlos al texto de tu solicitud. Puedes integrar fácilmente la API en aplicaciones personalizadas que se ejecutan en App Engine, GKE, Compute Engine y plataformas móviles, como iOS y Android. También se puede acceder desde otros servicios de Google Cloud, como Dataflow, Dataproc o Datalabc.

Cloud Translation

Puedes usar el Traductor para traducir más de 90 idiomas diferentes. Si no se conoce el idioma de escritura, el Traductor detecta automáticamente el idioma, con gran precisión.

El Traductor puede proporcionar traducción en tiempo real para aplicaciones web y dispositivos móviles, y es compatible con solicitudes en lote de cargas de trabajo analíticas.

El Traductor está disponible a través de extremos de REST. Puedes integrar la API en aplicaciones personalizadas que se ejecutan en App Engine, GKE, Compute Engine y plataformas móviles, como iOS y Android. También se puede acceder desde los servicios de Google Cloud, como Dataflow, Dataproc o Datalab.

API de Video Intelligence: Búsqueda y descubrimiento de videos

Tradicionalmente, el contenido en video ha sido opaco y difícil de usar para análisis. Pero con Video Intelligence, una API de REST fácil de usar, ahora puedes buscar, descubrir y extraer metadatos de videos. Video Intelligence puede detectar entidades (sustantivos) en el contenido del video, como “perro”, “flor” o “automóvil”. También puedes buscar entidades en las escenas del contenido del video.

Puedes anotar videos con metadatos a nivel del fotograma y del video. (El servicio puede extraer datos a un nivel de detalle máximo de 1 fotograma por segundo). La API admite formatos de video comunes, incluidos MOV, MPEG4, MP4 y AVI. Realizar una solicitud para anotar un video es sencillo: creas un archivo de solicitud JSON con la ubicación del video y los tipos de anotación que deseas realizar, y luego envías la solicitud al extremo de la API.

Para comenzar, consulta la guía de inicio rápido de Video Intelligence.

A continuación, presentamos algunos casos prácticos comunes de Video Intelligence.

  • Deducir información valiosa de videos: Extrae información valiosa de videos sin tener que usar aprendizaje automático o implementar algoritmos de visión artificial.
  • Búsqueda en catálogo de videos: busca en un catálogo de videos para identificar la presencia y la marca de tiempo de entidades de interés.

AI Platform: Plataforma de aprendizaje automático administrado

AI Platform es una plataforma administrada que puedes usar para ejecutar modelos de aprendizaje automático personalizados a gran escala. Los modelos se crean con el marco de trabajo de TensorFlow, un marco de trabajo de código abierto para la inteligencia artificial. Luego, se usa AI Platform para administrar el procesamiento previo, el entrenamiento y la predicción.

AI Platform está integrado con Dataflow para el procesamiento previo de datos, que puede acceder a los datos almacenados en Cloud Storage y BigQuery. También funciona con Cloud Load Balancing para entregar predicciones en línea a gran escala.

Puedes desarrollar y probar modelos de TensorFlow completamente en Google Cloud con notebooks de Datalab y Jupyter y, luego, usar AI Platform para cargas de trabajo de entrenamiento y predicción a gran escala.

Los modelos compilados para AI Platform son completamente portátiles. Dado que aprovechas el marco de trabajo de TensorFlow, puedes compilar y probar modelos de forma local y, luego, implementarlos en varias máquinas para entrenamiento y predicción distribuidos. Por último, puedes subir los modelos entrenados a AI Platform y ejecutarlos en varias instancias de máquina virtual distribuidas.

El flujo de trabajo de AI Platform consta de las siguientes fases:

  • Procesamiento previo: AI Platform convierte las características de los conjuntos de datos de entrada en un formato compatible y, también, puede normalizar y transformar los datos para permitir un aprendizaje más eficiente. Durante el procesamiento previo, los datos de entrenamiento, evaluación y prueba se almacenan en Cloud Storage. Esto también hace que Dataflow pueda acceder a los datos durante esta fase para cualquier procesamiento previo adicional.
  • Creación de grafos: AI Platform convierte el modelo de TensorFlow proporcionado en un modelo de AI Platform con operaciones de entrenamiento, evaluación y predicción.
  • Entrenamiento: AI Platform itera y evalúa el modelo de forma continua según los parámetros enviados.
  • Predicción: AI Platform usa el modelo para realizar procesamientos. Las predicciones se pueden procesar en lotes o a pedido, como un servicio de predicción en línea. Las predicciones por lotes están diseñadas con el fin de ejecutarse en grandes conjuntos de datos de forma asíncrona mediante servicios como Dataflow para organizar el análisis. Las predicciones a pedido suelen usarse con aplicaciones personalizadas que se ejecutan en App Engine, GKE o Compute Engine.

Aprendizaje automático de uso general

Además de la plataforma de aprendizaje automático y las API creadas por Google, puedes implementar otras herramientas de aprendizaje automático de gran escala en Google Cloud. Mahout y MLlib son dos proyectos en los ecosistemas de Hadoop y Spark, que proporcionan una variedad de algoritmos de aprendizaje automático de uso general. Ambos paquetes ofrecen algoritmos de aprendizaje automático para agrupamiento en clústeres, clasificación, filtrado colaborativo y más.

Puedes usar Dataproc para implementar clústeres administrados de Hadoop y Spark, y ejecutar un inicio de esos clústeres con software adicional. Esto significa que puedes ejecutar cargas de trabajo de aprendizaje automático compiladas con Mahout o MLlib en Google Cloud y puedes escalar los clústeres con VM interrumpibles o regulares.

Exploración y visualización

El paso final del ciclo de vida de los datos es la exploración y visualización de los datos en profundidad para comprender mejor los resultados del procesamiento y el análisis.

La información valiosa obtenida en la exploración puede usarse para impulsar mejoras en la velocidad o el volumen de transferencia de datos, el uso de diferentes medios de almacenamiento para análisis de velocidad y mejoras de las canalizaciones de procesamiento. Explorar y comprender en su totalidad estos conjuntos de datos a menudo involucra servicios de científicos de datos y analistas de negocios, personas entrenadas en probabilidad, estadística y entendimiento del valor comercial.

Cómo explorar los resultados de la ciencia de datos

La ciencia de datos es el proceso de derivar valor de los activos de datos sin procesar. Para hacerlo, un científico de datos podría combinar conjuntos de datos dispares, algunos públicos y otros privados, y aplicar un rango de técnicas de agregación y análisis. A diferencia del almacén de datos, los tipos de análisis y las estructuras de los datos varían ampliamente y no son predeterminados. Las técnicas incluyen métodos estadísticos, como agrupamiento en clústeres, métodos bayesianos, probabilidad máxima y regresión, además de aprendizaje automático, como árboles de decisión y redes neurales.

Datalab: Estadísticas de datos interactivas

Datalab es una herramienta web interactiva que puedes usar para explorar, analizar y visualizar datos. Se basa en notebooks de Jupyter, que antes se conocía como IPython. Con Datalab, puedes iniciar con solo un clic un notebook interactivo basado en la Web en el que puedes escribir y ejecutar programas de Python para procesar y visualizar datos. Los notebooks mantienen su estado y pueden compartirse entre científicos de datos y, también, publicarse en sitios como GitHub, Bitbucket y Dropbox.

De forma predeterminada, Datalab incluye compatibilidad con muchos kits de herramientas de ciencia de datos populares, incluidos Pandas, NumPy y scikit-learn, y visualización común como matplotlib. Datalab también incluye compatibilidad con Tensorflow y Dataflow. Con estas bibliotecas y servicios en la nube, un científico de datos puede cargar y limpiar datos, compilar y verificar modelos, y, luego, visualizar los resultados con matplotlib. Esto funciona con datos que entran en una sola máquina o con datos que necesitan un clúster para su almacenamiento. Los módulos de Python adicionales se pueden cargar con los comandos !pip install.

Ecosistema de ciencia de datos

Mediante instancias de Compute Engine de alto rendimiento, puedes implementar muchos tipos de herramientas de ciencia de datos y usarlas para ejecutar análisis a gran escala en Google Cloud.

Generalmente, los estadísticos usan el lenguaje de programación R. Si quieres usar R para explorar los datos, puedes implementar RStudio Server o Microsoft Machine Learning Server en una instancia de Compute Engine. RStudio Server proporciona un entorno de tiempo de ejecución interactivo para procesar y manipular datos, crear modelos sofisticados y visualizar los resultados. Microsoft Machine Learning Server es un complemento de alto escalamiento y rendimiento para clientes del escritorio R, que se usa con el fin de ejecutar cargas de trabajo estadísticas.

Datalab se basa en Jupyter, y actualmente es compatible con Python. Si quieres aplicar la exploración de datos en otros lenguajes como R, Julia, Scala y Java, puedes implementar Jupyter o JupyterHub, que son de código abierto, en instancias de Compute Engine.

Apache Zeppelin es otra herramienta de ciencia de datos popular basada en web y centrada en notebook. De manera similar a Jupyter, Zeppelin es compatible con lenguajes adicionales y sistemas backend de procesamiento de datos como Spark, Hive, R y Python.

Jupyter y Zeppelin se pueden implementar con acciones de inicialización de Dataproc compiladas previamente para iniciar rápidamente los paquetes de software comunes de Hadoop y Spark.

Visualiza los resultados de inteligencia empresarial

Durante la fase de análisis, te podría resultar útil generar visualizaciones de datos, informes y paneles complejos para explicar los resultados del procesamiento de datos a un público más amplio. Para facilitar esta tarea, Google Cloud se integra a una serie de herramientas de informes y paneles.

Looker: Plataforma de inteligencia empresarial

Looker proporciona herramientas para potenciar las experiencias de datos desde la inteligencia empresarial moderna y las estadísticas incorporadas hasta las integraciones a flujos de trabajo y las apps de datos personalizados. Looker ofrece una superficie unificada para acceder a datos complejos y, también, integrarlos en flujos de trabajo y apps centradas en ellos. Looker también se puede extender a través de API, SDK y una biblioteca de integración común.

Data Studio: Paneles y visualización

Data Studio proporciona un creador de informes de arrastrar y soltar que puedes usar para visualizar datos en informes y paneles que, luego, se pueden compartir con otras personas. Las tablas y los gráficos de los informes están respaldados por datos en vivo que pueden compartirse y actualizarse. Los informes pueden contener controles interactivos que permiten a los colaboradores ajustar las dimensiones usadas para generar las visualizaciones.

Con Data Studio, puedes crear informes y paneles a partir de archivos de datos, Hojas de cálculo de Google, Cloud SQL y BigQuery. Cuando combinas Data Studio con BigQuery, puedes aprovechar la capacidad completa de cómputo y almacenamiento de BigQuery sin tener que importar manualmente los datos a Data Studio o crear integraciones personalizadas.

BI Engine: Servicio de análisis administrado

BI Engine es un servicio de análisis rápido y en la memoria. BI Engine puede analizar los datos almacenados en BigQuery con un tiempo de respuesta de menos de un segundo y un alto grado de simultaneidad. BI Engine se integra en Data Studio para acelerar la exploración y el análisis de datos. Esta integración permite generar informes y paneles interactivos enriquecidos en Data Studio sin tener que administrar y ajustar el rendimiento, el escalamiento, la seguridad o la actualización de datos.

Además de BI Engine, BigQuery también admite un rango de integraciones y herramientas de inteligencia empresarial de terceros, desde SaaS hasta apps de escritorio. Para obtener más información, consulta la documentación de socios de BigQuery.

Hojas de cálculo: Visualización de hojas de cálculo

Si prefieres visualizar los datos en una hoja de cálculo, puedes usar Hojas de cálculo, que se integra directamente a BigQuery. Con Google Apps Script, puedes incorporar consultas y datos de BigQuery directamente en Hojas de cálculo. También puedes exportar los resultados de consultas de BigQuery a archivos CSV y abrirlos en Hojas de cálculo o en otras hojas de cálculo. Esto es útil a fin de crear conjuntos de datos más pequeños para compartir o analizar. También puedes hacer lo inverso, usar BigQuery para realizar consultas en conjuntos de datos distribuidos almacenados en Hojas de cálculo o archivos almacenados en Drive.

Data Catalog: Descubrimiento de datos y administración de metadatos

Data Catalog es un servicio de administración de metadatos completamente administrado y escalable que simplifica el descubrimiento de datos a cualquier escala. Gracias a la tecnología de la Búsqueda de Google, Data Catalog ofrece una interfaz de búsqueda en todo Google Cloud, lo que permite una vista unificada de los recursos de datos.

El servicio de administración de metadatos transfiere de forma automática los metadatos técnicos para BigQuery y Pub/Sub, así como los metadatos empresariales en formato esquematizado mediante etiquetas, API personalizadas y Google Cloud Console, lo que ofrece un modo simple y eficiente para catalogar elementos de datos.

Data Catalog también tiene una base sólida de seguridad y cumplimiento de las integraciones de IAM y Cloud Data Loss Prevention.

Organización

Incorporar todos los elementos del ciclo de vida de los datos en un conjunto de operaciones conectadas y coherentes requiere algún tipo de organización. Generalmente, se usan capas de organización para coordinar el inicio de tareas, la finalización de tareas, la copia de archivos y la creación de un panel para supervisar los trabajos de procesamiento de datos. Por ejemplo, un flujo de trabajo podría incluir copiar archivos en Cloud Storage, iniciar un trabajo de procesamiento de Dataproc y, luego, enviar notificaciones cuando se procesan los resultados en BigQuery.

Los flujos de trabajo de organización pueden variar de simples a complejos, según las tareas de procesamiento, y a menudo usan un mecanismo de programación centralizada para ejecutar automáticamente los flujos de trabajo.

Cloud Composer: Organización administrada de flujos de trabajo

Cloud Composer es un servicio de organización de flujos de trabajo completamente administrado que permite crear, programar y supervisar canalizaciones que abarcan varias nubes y centros de datos locales. Cloud Composer se basa en el proyecto de código abierto de Apache Airflow, y las canalizaciones se configuran como grafos acíclicos dirigidos (DAG) mediante Python.

Cloud Composer tiene una integración incorporada y sólida con muchos productos, incluidos BigQuery, Dataflow, Dataproc, Datastore, Cloud Storage, Pub/Sub y AI Platform.

Apps de organización personalizadas

En el caso de las apps de organización personalizadas, puedes usar Pub/Sub o Cloud Tasks para poner en cola los pasos del flujo de trabajo. Las aplicaciones implementadas pueden ejecutar estos pasos desde las máquinas virtuales de Compute Engine, las plataformas sin servidores de App Engine y Cloud Functions, hasta la administración de contenedores de Google Kubernetes Engine (GKE).