Conceptos y funciones clave

Comportamiento y casos prácticos

Datastream permite a los usuarios transferir datos de origen de un sistema de gestión de bases de datos relacionales (RDBMS) y otras fuentes a destinos como BigQuery, tablas Iceberg de BigLake y Cloud Storage casi en tiempo real. Esto permite casos prácticos posteriores, como cargar los datos en BigQuery para el almacenamiento y el análisis de datos, o ejecutar trabajos de Spark sobre los datos para casos prácticos de inteligencia artificial y aprendizaje automático.

Conceptos

En esta sección se describen los conceptos principales que debe conocer para usar Datastream de forma eficaz.

Captura de datos de cambios

La captura de datos de cambios (CDC) es un conjunto de patrones de diseño de software que se usan para determinar (y monitorizar) los datos que han cambiado, de modo que se puedan tomar medidas con los datos de cambios. La CDC también es una estrategia de integración de datos que se basa en la identificación, la captura y la entrega de los cambios realizados en las fuentes de datos empresariales.

Obtención de eventos

Introducido en el 2005, el registro de eventos es un patrón de diseño en el que cada cambio en el estado de una aplicación se registra en un objeto de evento. Mediante el uso de la obtención de eventos, una aplicación puede reconstruir su estado, realizar una recuperación en un momento dado (procesando el evento hasta ese momento), volver a calcular el estado en caso de que cambie la lógica o habilitar el diseño de segregación de responsabilidades de consulta de comandos (CQRS). Con la evolución de las herramientas de procesamiento de eventos en tiempo real, muchas aplicaciones están adoptando el modelo de registro de eventos. Históricamente, las bases de datos transaccionales siempre se han orientado a eventos debido a los requisitos de atomicidad, coherencia, aislamiento y durabilidad (ACID).

Bases de datos de transacciones

En una base de datos transaccional, el conjunto de operaciones que va a realizar la base de datos se escribe en un registro de escritura anticipada (WAL) antes de que se ejecuten las operaciones en el motor de almacenamiento. Una vez que se ejecuta una operación en el motor de almacenamiento y se confirma en el WAL, se considera que la operación se ha realizado correctamente. El uso de WAL permite la atomicidad y la durabilidad, y también permite la replicación de alta fidelidad de la base de datos. Algunas bases de datos escribirán en el registro la operación exacta que se producirá en el nivel de almacenamiento (por ejemplo, write 0x41 on location 20), por lo que esas acciones solo se pueden replicar (o rehacer) en el mismo motor de almacenamiento. Otras bases de datos registrarán una instrucción lógica completa (o una fila) que se puede volver a ejecutar en otro motor de almacenamiento.

Eventos y emisiones

Datastream ingiere una gran cantidad de datos de varias fuentes prácticamente en tiempo real y los pone a disposición para su uso en el destino. La unidad de datos que almacena Datastream es un evento. Un flujo representa la ingestión continua de eventos de un origen y su escritura en un destino.

Tipos unificados

Las fuentes de datos tienen sus propios tipos, algunos específicos de la propia base de datos y otros genéricos que se comparten entre bases de datos. Como hay muchas fuentes diferentes que generan flujos a un destino unificado, debe haber una forma estándar y unificada de representar el tipo de fuente original en todas las fuentes. El tipo unificado es una forma común y sin pérdida de representar los tipos de datos en todos los orígenes para que se puedan consumir de forma coherente. Los tipos unificados admitidos por Datastream representarán el superconjunto de todos los tipos normalizados de todos los sistemas de origen admitidos, de modo que todos los tipos se puedan admitir sin pérdida de datos.

Contexto de entidad

Datastream tiene cinco entidades:

  • Las configuraciones de conectividad privada permiten que Datastream se comunique con las fuentes de datos a través de una conexión de red privada y segura. Esta comunicación se produce a través del emparejamiento de nubes privadas virtuales (VPC).
  • Los perfiles de conexión representan la información de conectividad de una base de datos de origen o de destino específica.
  • Los flujos representan un par de perfiles de conexión de origen y destino, así como ajustes específicos del flujo.
  • Los objetos representan una subparte de un flujo. Por ejemplo, un flujo de una base de datos tiene un objeto de datos por cada tabla que se está transmitiendo.
  • Los eventos representan todos los cambios del lenguaje de manipulación de datos (DML) de un objeto determinado.

Después de crear una configuración de conectividad privada, puedes conectarte a fuentes alojadas en Google Cloud o en otro lugar a través de un canal de comunicación privado. La conectividad privada es opcional. Datastream también admite otros modos de conectividad a través de redes públicas.

Después de crear un perfil de conexión para un origen y un destino, puedes crear flujos que usen la información almacenada en los perfiles de conexión para transferir datos del origen al destino.

Después de crear un flujo, Datastream se conecta directamente a la fuente, consume contenido y, a continuación, procesa y escribe los eventos en el destino en función de la estructura de eventos.

Las configuraciones de conectividad privada y los perfiles de conexión se pueden gestionar por separado de los flujos para reutilizarlos.

Funciones

Las funciones de Datastream son las siguientes:

  • Sin servidor: puede configurar un flujo y los datos empezarán a moverse. No hay costes adicionales de instalación, asignación de recursos ni mantenimiento. A medida que los volúmenes de datos aumentan y disminuyen, las funciones de autoescalado de Datastream asignan recursos para que los datos se muevan casi en tiempo real de forma automática.
  • Esquema de tipos unificado basado en Avro: Datastream permite el procesamiento independiente de la fuente convirtiendo todos los tipos de datos específicos de la fuente en un esquema de tipos unificado de Datastream basado en tipos Avro.
  • Transmite datos históricos y de CDC: Datastream transmite datos de origen históricos y de CDC casi en tiempo real y de forma simultánea.
  • CDC de Oracle sin licencias adicionales: Datastream proporciona streaming de CDC basado en LogMiner desde cualquier versión de origen de Oracle 11.2g y posteriores, sin necesidad de pagar licencias adicionales ni instalar software.

  • Destino de BigQuery: los cambios en el origen se replican continuamente en las tablas de BigQuery casi en tiempo real. Los datos de BigQuery están disponibles casi de inmediato para las analíticas.

  • Destino de Cloud Storage: los datos de CDC se escriben continuamente en archivos Avro o JSON autodescriptivos en Cloud Storage. Esta información se puede usar para realizar otros procesos, ya sea directamente o cargándola en otro destino, como Spanner.

Casos prácticos

Hay tres situaciones principales en las que se puede usar Datastream:

  • Integración de datos: los flujos de datos de bases de datos y servicios en la nube de software como servicio (SaaS) pueden alimentar una canalización de integración de datos casi en tiempo real cargando datos en BigQuery.
  • Analíticas en tiempo real: los cambios en las bases de datos se ingieren en las canalizaciones de streaming, como Dataflow, para detectar fraudes y anomalías, así como para procesar eventos de seguridad.
  • Disponibilidad de los cambios en los datos casi en tiempo real: la disponibilidad de los cambios en los datos casi en tiempo real permite que las aplicaciones de inteligencia artificial y aprendizaje automático eviten la pérdida de clientes o aumenten la interacción mediante iniciativas de marketing o enviando información a los sistemas de producción.

Visión general del comportamiento

Datastream permite a los clientes transmitir los cambios en curso de varias fuentes de datos directamente a Google Cloud.

Fuentes

  • Para poder usar una fuente con Datastream, es necesario realizar una configuración, que incluye la autenticación y otras opciones.
  • Cada fuente genera eventos que reflejan todos los cambios del lenguaje de manipulación de datos (DML).
  • Cada flujo puede rellenar el historial de datos y transmitir los cambios en curso al destino.

Destinos

Datastream admite BigQuery y Cloud Storage como destinos. Cuando se crea el flujo, se definen los conjuntos de datos de BigQuery o el bucket de Cloud Storage seleccionados.

Entrega de eventos

  • El orden de los eventos no está garantizado. Los metadatos de eventos incluyen información que se puede usar para ordenar los eventos.
  • La entrega de eventos se produce al menos una vez. Los metadatos de eventos incluyen datos que se pueden usar para eliminar los datos duplicados del destino.
  • El tamaño de los eventos está limitado a 20 MB por evento en los destinos de BigQuery y a 100 MB por evento en los destinos de Cloud Storage.

Para obtener más información sobre los eventos, consulta Eventos y secuencias.

Alta disponibilidad y recuperación tras fallos

En esta sección se explica cómo gestiona Datastream las situaciones asociadas a la alta disponibilidad y la recuperación tras desastres.

  • Alta disponibilidad: Datastream es un servicio regional que se ejecuta en varias zonas de cada región. Si se produce un fallo en una sola zona de una región, no se verá afectada la disponibilidad ni la calidad del servicio en otras zonas.

  • Recuperación tras fallos: si se produce un fallo en una región, todas las emisiones que se estén ejecutando en esa región dejarán de funcionar mientras dure la interrupción. Una vez que se haya resuelto la interrupción, Datastream continuará exactamente donde lo había dejado y se volverán a obtener del origen los datos que no se hayan escrito en el destino. En este caso, es posible que haya duplicados de datos en el destino. Para obtener más información sobre cómo eliminar los datos duplicados, consulta el artículo Entrega de eventos.

Datos iniciales y datos de CDC

Como las fuentes de datos tienen datos que existían antes de que se conectaran a un flujo (historial de datos), Datastream genera eventos a partir del historial de datos y de los cambios en los datos que se producen en tiempo real.

Para asegurar un acceso rápido a los datos, el historial de datos y los cambios en tiempo real se replican simultáneamente en el destino. Los metadatos de evento indican si el evento procede del relleno o del CDC.

Siguientes pasos