Descripción general del comportamiento

Comportamiento y casos de uso

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

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. Mediante la obtención de eventos, una aplicación puede volver a compilar su estado con facilidad, realizar una recuperación de un momento determinado (mediante el procesamiento del evento hasta ese momento), volver a calcular el estado en caso de un cambio de lógica, o habilitar el diseño de separación de responsabilidades de consulta 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 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, se considera que la operación se realizó correctamente. El uso de WAL habilita la atomicidad y 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á a 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 declaración lógica (o fila) completa que se puede volver a ejecutar en un motor de almacenamiento diferente.

Eventos y transmisiones

Datastream transfiere muchos datos en tiempo real desde una variedad de fuentes y hace que los datos estén disponibles 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 de una fuente y su escritura en un destino.

Tipos unificados

Las fuentes de datos tienen sus propios tipos, algunos específicos de la base de datos y otros que son genéricos y se comparten entre bases de datos. Debido a que existen 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 puedan consumirse de manera cohesiva. Los tipos unificados compatibles con Datastream representarán el superconjunto de todos los tipos normalizados en todos los sistemas de origen admitidos 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 nube privada virtual (VPC).
  • Los perfiles de conexión representan información de conectividad a una base de datos de origen o destino específica.
  • Las transmisiones representan un par de perfil de conexión de origen y destino, junto con la configuración específica de la transmisión.
  • Los objetos representan un subconjunto de una transmisión. Por ejemplo, una transmisión de base de datos tiene un objeto de datos para cada tabla que se transmite.
  • Los eventos representan cada cambio de 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, y 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.

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 y los datos comienzan a moverse. No se generan sobrecargas de instalación, asignación de recursos ni mantenimiento. Dado que los volúmenes de datos fluctúan, 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 tipo unificado de Avro basado en el origen: Datastream permite un procesamiento simple e independiente de la fuente mediante la conversión de todos los tipos de datos específicos de la fuente a un esquema de tipo unificado de Datastream, basado en los tipos de Avro.
  • Transmitir datos históricos y de CDC: Datastream transmite datos de origen históricos y de CDC en tiempo real, de manera 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 Cloud Storage: Los datos de CDC se escriben en archivos autodescriptivos Avro o JSON en Cloud Storage de manera continua. Esta información es fácil de consumir para el procesamiento adicional, ya sea directamente en el lugar o mediante la carga descendente a otro destino, como BigQuery.

Casos de uso

Existen tres situaciones principales para usar Datastream:

  • Integración de datos: Las transmisiones de datos desde bases de datos y servicios de nube de software como servicio (SaaS) pueden proporcionar una canalización de integración de datos casi en tiempo real mediante la carga de datos en BigQuery a través de Dataflow o Cloud Data Fusion.
  • 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 los 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 a través de iniciativas de marketing o mediante la transmisión de vuelta 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 en curso al destino.

Destino

Datastream admite Cloud Storage como el destino. Cuando se crea la transmisión, se define el bucket de Cloud Storage deseado.

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 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 de cada evento se limita a 3 MB.

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

Rendimiento

  • Datastream garantiza una capacidad de procesamiento de al menos 5 MB por segundo (o 5,000 eventos por segundo a 1 KB por evento), pero la capacidad de procesamiento puede variar entre las fuentes según sus restricciones.
  • La latencia del servicio de extremo a extremo (desde la lectura de los datos en la fuente hasta su transmisión al destino en Cloud Storage) es inferior a 120 segundos (cuando se usa la configuración de transmisión predeterminada).

Alta disponibilidad y recuperación ante desastres

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

  • Alta disponibilidad: Datastream es un servicio regional que se ejecuta en varias zonas de cada región. Una falla de zona única 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 esa región estará inactiva durante la interrupción. Una vez 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á nuevamente desde la fuente. En este caso, los duplicados de los 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 conectó 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 los eventos indican si el evento proviene del reabastecimiento o de la CDC.