Funciones y conceptos clave

Comportamiento y casos de uso

Datastream brinda a los usuarios la capacidad de trasladar datos de origen de un sistema de administración de bases de datos relacionales (RDBMS) y otras fuentes a destinos como BigQuery y Cloud Storage casi en tiempo real. Esto permite casos de uso descendentes, como cargar los datos en BigQuery para el análisis y el almacenamiento de datos, o ejecutar trabajos de Spark en los datos para casos de uso de inteligencia artificial y aprendizaje automático.

Conceptos

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 realizar un seguimiento) de los datos que cambiaron, a fin de poder realizar acciones con los datos modificados. 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

Presentada en 2005, la obtención de eventos es un patrón de diseño en el que cada cambio en el estado de una aplicación se captura en un objeto de evento. Con la fuente de eventos, una aplicación puede volver a compilar su estado con facilidad, realizar una recuperación de un momento determinado (procesando el evento hasta ese momento), volver a calcular el estado en caso de un cambio en la lógica o habilitar el diseño de segregación de responsabilidad de consultas de comandos (CQRS). Con la evolución de las herramientas para el procesamiento de eventos en tiempo real, muchas aplicaciones están migrando al modelo de obtención de eventos. Históricamente, las bases de datos transaccionales eran siempre orientadas a eventos, debido a los requisitos de atomicidad, coherencia, aislamiento y durabilidad (ACID).

Bases de datos transaccionales

En una base de datos transaccional, el conjunto de operaciones que realizará la base de datos suele escribirse en un registro de escritura por adelantado (WAL) antes de que se ejecuten operaciones 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, se considera que la operación fue exitosa. 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 ocurrirá 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 sentencia lógica (o fila) completa que se puede volver a ejecutar en un motor de almacenamiento diferente.

Eventos y transmisiones

Datastream transfiere muchos 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 que almacena Datastream es un evento. Una transmisión representa la transferencia continua de eventos desde una fuente y la escritura en un destino.

Tipos unificados

Las fuentes de datos tienen sus propios tipos, algunos específicos de la propia base de datos, otros genéricos y compartidos entre bases de datos. Debido a que hay muchas fuentes diferentes que generan transmisiones 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érdidas de representar los tipos de datos en todas las fuentes para que se puedan consumir de manera cohesiva. Los tipos unificados compatibles con Datastream representarán el superconjunto de todos los tipos normalizados en todos los sistemas de origen compatibles, de modo que todos los tipos se puedan admitir sin pérdidas.

Contexto de la entidad

Datastream tiene cinco entidades:

  • Los parámetros de configuración de conectividad privada permiten que Datastream se comunique con las fuentes de datos mediante 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 información de conectividad a una base de datos de origen o de 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 subparte de un flujo. Por ejemplo, la transmisión de una base de datos tiene un objeto de datos por cada tabla que se transmite.
  • Los eventos representan cada cambio en el 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 transmisiones que usen la información almacenada en los perfiles de conexión para transferir datos del origen 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.

Las configuraciones de conectividad privada y los perfiles de conexión se pueden administrar por separado de las transmisiones para facilitar la reutilización y porque, con frecuencia, en las empresas, la persona que puede establecer la conectividad a una fuente o un destino no es quien crea la transmisión.

Funciones

Entre las funciones de Datastream, se incluyen las siguientes:

  • Sin servidores: Puedes configurar 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 los volúmenes de datos aumentan y disminuyen, las capacidades de ajuste de escala automático de Datastream asignan recursos para que los datos se muevan casi en tiempo real y de forma automática.
  • Esquema unificado basado en Avro: Datastream permite un procesamiento simple e independiente de la fuente con la conversión de todos los tipos de datos específicos de la fuente en un esquema unificado de tipo Datastream, basado en tipos de Avro.
  • Transmite datos históricos y de CDC: Datastream transmite datos históricos y de origen de CDC casi en tiempo real, de forma simultánea.
  • Oracle CDC sin licencias adicionales: Datastream proporciona transmisión de CDC basada en LogMiner desde la versión de origen de Oracle 11.2g 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 en BigQuery están disponibles casi de inmediato para el análisis.

  • Destino de Cloud Storage: Los datos de CDC se escriben en archivos autodescriptivos Avro o JSON en Cloud Storage de manera continua. Esta información se puede consumir fácilmente para el procesamiento adicional, ya sea directamente en el lugar o mediante la carga descendente a otro destino, como Spanner.

Casos de uso

Existen tres situaciones principales para 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.
  • Análisis de transmisiones: Los cambios en las bases de datos se transfieren a canalizaciones de transmisión, como a Dataflow para la detección de fraudes, el procesamiento de eventos de seguridad y la detección de anomalías.
  • Disponibilidad de cambios de datos casi en tiempo real: La disponibilidad de cambios de datos casi en tiempo real potencia las aplicaciones de inteligencia artificial y aprendizaje automático para evitar la deserción o aumentar la participación mediante iniciativas de marketing o mediante la retroalimentación a los sistemas de producción.

Descripción general del comportamiento

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

Fuente

  • Se debe hacer un trabajo de configuración para usar una fuente con Datastream, incluidas las autenticación y las opciones de configuración adicionales.
  • Cada fuente genera eventos que reflejan todos los cambios en el lenguaje de manipulación de datos (DML).
  • Cada transmisión puede reabastecer los datos históricos, así como transmitir los cambios continuos al destino.

Destinos

Datastream admite BigQuery y Cloud Storage como destinos. Cuando se crea la transmisión, se definen los conjuntos de datos de BigQuery o el bucket de Cloud Storage deseados.

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 publicación del evento ocurre al menos una vez. Los metadatos de eventos incluyen datos que se pueden usar para quitar los datos duplicados en el destino.
  • El tamaño de cada evento se limita a 20 MB para los destinos de BigQuery y a 30 MB 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

En esta sección, se incluye información sobre cómo Datastream maneja situaciones asociadas con la alta disponibilidad y la recuperación ante desastres.

  • Alta disponibilidad: Datastream es un servicio regional que se ejecuta en varias zonas de cada región. Una falla en una sola zona en una región no afectará la disponibilidad ni la calidad del servicio en otras zonas.
  • Recuperación ante desastres: Si hay una falla en una región, cualquier transmisión que se ejecute en ella se desactivará mientras dure la interrupción. Después de que se resuelva la interrupción, Datastream continuará exactamente donde se detuvo, y cualquier dato que no se haya escrito en el destino se recuperará de la fuente. En este caso, los duplicados de datos pueden residir en el destino. Consulta Entrega de eventos para obtener más información sobre cómo quitar los datos duplicados.

Datos iniciales y datos de CDC

Debido a que las fuentes de datos tienen datos que existían antes del momento en que la fuente se conectaba a un flujo (datos históricos), Datastream genera eventos a partir de los datos históricos y de los cambios de 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 del evento indican si el evento es del reabastecimiento o de los CDC.

¿Qué sigue?