Conceptos y funciones clave

Comportamiento y casos de uso

Datastream te permite transferir datos de origen desde un sistema de administración de base de datos relacional (RDBMS) y otras fuentes a destinos como BigQuery, tablas de Apache Iceberg y Cloud Storage casi en tiempo real. Esto habilita casos de uso posteriores, como cargar datos en BigQuery para el almacenamiento y el análisis de datos, o ejecutar trabajos de Apache Spark sobre los datos para cargas de trabajo de inteligencia artificial y aprendizaje automático.

Conceptos

En esta sección, se describen los conceptos principales que debes comprender para usar Datastream de manera eficaz.

Captura de datos modificados

La captura de datos modificados (CDC) es un conjunto de patrones de diseño de software que se usan para determinar y hacer un seguimiento de los datos modificados, de modo que las aplicaciones puedan procesar las actualizaciones. La CDC también es un enfoque para la integración de datos que se basa en la identificación, captura y entrega de los cambios realizados a las fuentes de datos empresariales.

Obtención de eventos

El patrón de diseño de obtención de eventos captura cada cambio en el estado de una aplicación en un objeto de evento. Con la obtención de eventos, una aplicación puede reconstruir su estado, realizar recuperación de un momento determinado (procesando eventos hasta ese punto), volver a calcular el estado cuando cambia la lógica empresarial o habilitar una arquitectura de segregación de responsabilidad de consulta de comandos (CQRS). Con la evolución de las herramientas para el procesamiento de eventos en tiempo real, muchas aplicaciones usan el modelo de obtención de eventos. Las bases de datos transaccionales están inherentemente orientadas a eventos para cumplir con los requisitos de atomicidad, coherencia, aislamiento y durabilidad (ACID).

Bases de datos transaccionales

En una base de datos transaccional, el conjunto de operaciones que realiza la base de datos suele escribirse en un registro de escritura anticipada (WAL) antes de que se ejecute cualquier operación en el motor de almacenamiento. Después de que se ejecuta una operación en el motor de almacenamiento y se confirma en el WAL, la operación se considera exitosa. El uso de un 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 escriben en el registro la operación exacta que ocurre en el nivel de almacenamiento (por ejemplo, write 0x41 at location 20), por lo que esas acciones solo se pueden replicar en el mismo motor de almacenamiento. Otras bases de datos registran una instrucción lógica completa (o fila) que se puede volver a ejecutar en un motor de almacenamiento diferente.

Eventos y transmisiones

Datastream transfiere grandes volúmenes de datos casi en tiempo real desde una variedad de fuentes y los pone a disposición para su consumo en el destino. La unidad de datos almacenada por Datastream es un evento. Una transmisión representa la transferencia continua de eventos desde una fuente y su escritura en un destino.

Tipos unificados

Las fuentes de datos tienen sus propios tipos de datos, algunos específicos de la base de datos y otros genéricos y compartidos en todas las bases de datos. Debido a que varias fuentes generan transmisiones a un destino unificado, se requiere una representación estándar del tipo de fuente original en todas las fuentes. El tipo unificado es una representación común y sin pérdida de tipos de datos en todas las fuentes, de modo que los datos se puedan consumir de forma cohesiva. Los tipos unificados compatibles con Datastream representan el superconjunto de todos los tipos normalizados en los sistemas de origen compatibles.

Contexto de la entidad

Datastream tiene cinco entidades:

  • Las configuraciones de conectividad privada permiten que Datastream se comunique con fuentes de datos a través de una conexión de red privada y segura. Esta comunicación se realiza a través del intercambio de tráfico de la nube privada virtual (VPC).
  • Los perfiles de conexión representan la información de conectividad para una base de datos de origen o destino específica.
  • Las transmisiones representan un par de perfiles de conexión de origen y destino, junto con la configuración específica de la transmisión.
  • Los objetos representan una parte de una transmisión. Por ejemplo, una transmisión de bases de datos tiene un objeto de datos para cada tabla que se transmite.
  • Los eventos representan cada cambio en el lenguaje de manipulación de datos (DML) para 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 una fuente y un destino, puedes crear transmisiones que usen la información almacenada en los perfiles de conexión para transferir datos de la fuente al destino.

Después de crear una transmisión, Datastream se conecta directamente a la fuente, consume contenido, y, luego, procesa y escribe los eventos en el destino en función de la estructura del evento.

Puedes administrar las configuraciones de conectividad privada y los perfiles de conexión por separado de las transmisiones para su reutilización.

Funciones

Entre las funciones de Datastream, se incluyen las siguientes:

  • Sin servidores: Configura una transmisión para que los datos comiencen a moverse. No se generan sobrecargas de instalación, asignación de recursos ni mantenimiento. A medida que cambian los volúmenes de datos, las capacidades de ajuste de escala automático de Datastream asignan recursos automáticamente para que los datos se muevan casi en tiempo real.
  • Esquema de tipos unificados basados en Avro: Datastream permite el procesamiento independiente de la fuente mediante la conversión de todos los tipos de datos específicos de la fuente en un esquema de tipos unificados de Datastream, basado en tipos de Avro.
  • Transmitir datos históricos y de CDC: Datastream transmite datos de origen históricos y de CDC de manera simultánea casi en tiempo real.
  • Oracle CDC sin licencias adicionales: Datastream proporciona transmisión de CDC basada en LogMiner desde la versión de origen de Oracle 11.2 y posteriores, sin necesidad de instalar software ni pagar licencias adicionales.
  • Destino de BigQuery: Los cambios en la fuente se replican de forma continua en las tablas de BigQuery casi en tiempo real. Los datos de BigQuery están disponibles para el análisis con un retraso mínimo.
  • Destino de Cloud Storage: Los datos de CDC se escriben de forma continua en archivos autodescriptivos Avro o JSON en Cloud Storage. Estos datos están disponibles para el procesamiento adicional, ya sea directamente en el lugar o cargándolos de forma posterior a otro destino, como Spanner.
  • Administración centralizada de metadatos con Knowledge Catalog: Los recursos de Datastream, como las transmisiones, los perfiles de conexión y las configuraciones de conectividad, se sincronizan automáticamente con Knowledge Catalog. Esto te permite buscar y explorar estos recursos directamente en la interfaz de usuario de Knowledge Catalog.

Casos de uso

Existen tres situaciones principales para usar Datastream:

  • Integración de datos: Las transmisiones de datos de bases de datos y software como servicios (SaaS) en la nube pueden alimentar una canalización de integración de datos casi en tiempo real cargando datos en BigQuery.
  • Análisis de transmisiones: Los cambios en las bases de datos se transfieren a canalizaciones de transmisión que usan Dataflow para la detección de fraudes, el procesamiento de eventos de seguridad y la detección de anomalías.
  • Disponibilidad casi en tiempo real de los cambios en los datos: La disponibilidad de los cambios en los datos casi en tiempo real potencia las aplicaciones de inteligencia artificial y aprendizaje automático para evitar la deserción o aumentar la interacción a través de campañas de marketing o mediante la retroalimentación de datos en los sistemas de producción.

Descripción general del comportamiento

Datastream te permite transmitir cambios en curso desde varias fuentes de datos directamente a Google Cloud.

Fuentes

  • Antes de usar una fuente con Datastream, debes configurar la autenticación y las opciones de fuente adicionales.
  • Cada fuente genera eventos que reflejan todos los cambios en el lenguaje de manipulación de datos (DML).
  • Cada transmisión puede reabastecer datos históricos y transmitir cambios en curso al destino.

Destinos

Datastream admite BigQuery, tablas de Apache Iceberg y Cloud Storage como destinos. Cuando creas una transmisión, defines su configuración de destino.

Entrega de eventos

  • No se garantiza el orden de los eventos. Los metadatos de eventos incluyen información que se puede usar para ordenar los eventos.
  • La entrega de eventos se realiza al menos una vez. Los metadatos de eventos incluyen datos que se pueden usar para quitar cualquier dato duplicado en el destino.
  • El tamaño de cada evento se limita a 20 MB por evento para los destinos de BigQuery y a 100 MB por evento para los destinos de Cloud Storage.

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

Alta disponibilidad y recuperación ante desastres

Datastream proporciona alta disponibilidad en todas las zonas y administra la recuperación ante desastres durante las interrupciones regionales:

  • Alta disponibilidad: Datastream es un servicio regional, que se ejecuta en varias zonas de cada región. Una falla de una sola zona en cualquier región no afecta la disponibilidad ni la calidad del servicio en otras zonas.

  • Recuperación ante desastres: Si hay una falla en una región, las transmisiones que se ejecutan en esa región no estarán disponibles durante la interrupción. Una vez que se resuelve la interrupción, Datastream continúa desde donde se detuvo, y los datos que no se escribieron en el destino se recuperan de nuevo de la fuente. En este caso, es posible que existan datos duplicados en el destino. Para obtener información sobre cómo quitar datos duplicados, consulta Entrega de eventos.

Datos iniciales y datos de CDC

Debido a que las fuentes de datos tienen datos que existían antes de que la fuente se conectara a una transmisión (datos históricos), Datastream genera eventos a partir de los datos históricos y los cambios en los datos que ocurren en tiempo real.

Para garantizar un acceso rápido a los datos, los datos históricos y los cambios en los datos en tiempo real se replican de forma simultánea en el destino. Los metadatos de eventos indican si un evento es de reabastecimiento o de CDC.

¿Qué sigue?