Conceptos y funciones clave

Comportamiento y casos de uso

Datastream ofrece 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 proporciona casos de uso posteriores, como cargar los datos en BigQuery para su almacenamiento y análisis de datos, o ejecutar trabajos de Spark sobre 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. Mediante la generación de eventos, una aplicación puede reconstruir su estado con facilidad, realizar una recuperación de un momento determinado (mediante el procesamiento del 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 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 generalmente se escribe en un registro de escritura por adelantado (WAL) antes de que se ejecuten operaciones en el motor de almacenamiento. Después de que una operación se ejecuta en el motor de almacenamiento y se confirma en el WAL, se considera que la operación fue exitosa. El uso de WAL habilita 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á 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 instrucción lógica completa (o fila) 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 una transferencia continua de eventos desde una fuente y su escritura en un destino.

Tipos unificados

Las fuentes de datos tienen sus propios tipos, algunas específicas de la base de datos en sí, y otras son genéricas y se comparten entre las 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 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 puedan admitirse sin pérdidas.

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 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 la transmisión.
  • Los objetos representan una subporción de un flujo. Por ejemplo, una transmisión de 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 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

Estas son algunas de las funciones de Datastream:

  • Sin servidores: Puedes configurar una transmisión y los datos comenzarán a transferirse. No se generan sobrecargas de instalación, asignación de recursos ni mantenimiento. A medida que aumentan y disminuyen los volúmenes de datos, las capacidades de ajuste de escala automático de Datastream asignan recursos para que los datos se muevan automáticamente casi en tiempo real.
  • Esquema unificado de tipo basado en Avro: Datastream permite un procesamiento sencillo e independiente de la fuente mediante la conversión de todos los tipos de datos específicos de la fuente en un esquema unificado de tipo Datastream basado en tipos Avro.
  • Transmisión de datos históricos y de CDC: Datastream transmite datos históricos y de origen de CDC casi en tiempo real y 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 procesamiento adicional, ya sea directamente en el lugar o a través de la carga descendente en 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 mediante la carga de datos en BigQuery mediante 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 casi en tiempo real de los cambios en los datos: 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 deserción o aumenten la participación mediante iniciativas de marketing o 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 datos históricos, así como transmitir cambios en curso al destino.

Lugares de destino

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 de los eventos no está garantizado. Los metadatos de eventos incluyen información que se puede usar para ordenar los eventos.
  • La publicación del evento se produce al menos una vez. Los metadatos del evento incluyen datos que se pueden usar para quitar los datos duplicados en el destino.
  • El tamaño del evento se limita a 20 MB por evento para los destinos de BigQuery y 30 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, encontrarás 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 en 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 hay una falla en una región, cualquier transmisión que se ejecute en esa región estará inactiva mientras dure la interrupción. Una vez resuelta la interrupción, Datastream continuará exactamente donde se interrumpió y cualquier dato que no se haya escrito en el destino se recuperará de la fuente. En este caso, es posible que haya duplicados de datos 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 de que la fuente se conectara a una transmisión (datos históricos), Datastream genera eventos a partir de los datos históricos y de 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 proviene del reabastecimiento o de los CDC.