Conceptos y funciones clave

Comportamiento y casos de uso

Datastream les permite a los usuarios transferir 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 el origen de eventos, una aplicación puede volver a compilar su estado, realizar una recuperación en un punto determinado (procesando el evento hasta ese punto), 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 consulta y comando (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 se realizará a nivel del almacenamiento (por ejemplo, write 0x41 on location 20), por lo que esas acciones solo se pueden replicar (o volver a hacer) 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 su 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 tipos de datos en todas las fuentes para que se puedan consumir de manera coherente. Los tipos unificados que admite Datastream representarán el superconjunto de todos los tipos normalizados en todos los sistemas de origen compatibles para que todos los tipos se puedan admitir sin pérdidas.

Contexto de la 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 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 una configuración específica de 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 cualquier 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 el volumen de los datos fluctúa, las funciones de ajuste de escala automático de Datastream asignan recursos para que los datos se muevan 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 de Datastream unificado, 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 para 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 casi en tiempo real de los cambios en los datos: La disponibilidad de los cambios en los datos casi en tiempo real impulsa las aplicaciones de inteligencia artificial y aprendizaje automático para evitar la deserción o aumentar la participación a través de iniciativas de marketing o a través del feed de 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

  • El orden del evento no está garantizado. Los metadatos de eventos incluyen información que se puede usar para ordenarlos.
  • La publicación del evento ocurre 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 del 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

En esta sección, se incluye información sobre cómo Datastream controla las 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 de una sola zona en una región no afectará la disponibilidad ni la calidad del servicio en otras zonas.
  • Recuperación ante desastres: Si se produce 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 resuelva la interrupción, Datastream continuará exactamente donde se detuvo, y los datos que no se hayan escrito en el destino se volverán a recuperar de la fuente. En este caso, es posible que haya duplicados de datos en el destino. Consulta Publicación 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 ese evento proviene del reabastecimiento o del CDC.

¿Qué sigue?