Comportamiento y casos de uso
Datastream 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, tablas de BigLake Iceberg y Cloud Storage casi en tiempo real. Esto permite casos de uso posteriores, como cargar los datos en BigQuery para el 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
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 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 uso de la obtención de eventos, una aplicación puede volver a compilar su estado, realizar una recuperación en un momento 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 separación de responsabilidades 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 siempre se orientaron 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 la base de datos va a realizar 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, se considera que la operación se realizó correctamente. 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á a nivel del 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 una fila) que se puede volver a ejecutar en otro motor de almacenamiento.
Eventos y transmisiones
Datastream transfiere una gran cantidad de datos casi en tiempo real desde diversas 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 base de datos y otros genéricos que se comparten entre las bases de datos. Dado 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 coherente. Los tipos unificados que admite Datastream representarán el superconjunto de todos los tipos normalizados en todos los sistemas fuente admitidos, de modo 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 la información de conectividad a 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 fracción 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.
Las configuraciones de conectividad privada y los perfiles de conexión se pueden administrar por separado de las transmisiones para facilitar la reutilización.
Funciones
Estas son algunas de las funciones de Datastream:
- 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. Como 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 casi en tiempo real de forma automática.
- Esquema de tipos unificados 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 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 casi en tiempo real, de manera simultánea.
Oracle CDC sin licencias adicionales: Datastream proporciona transmisión de CDC basada en LogMiner desde cualquier 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 usar para un procesamiento adicional, ya sea directamente en el lugar o cargándola de forma 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 potencia las aplicaciones de inteligencia artificial y aprendizaje automático para evitar la deserción o aumentar la participación a través de esfuerzos de marketing o de la retroalimentación en 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.
Fuentes
- 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 y 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 seleccionados.
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 produce 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 para los destinos de BigQuery y a 100 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 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 en una sola zona de 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, todas las transmisiones que se ejecuten en esa región estarán inactivas durante la interrupción. Una vez que se resuelva la interrupción, Datastream continuará exactamente donde lo dejó, y se recuperarán del origen todos los datos que no se hayan escrito en el destino. 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 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 de datos en tiempo real se replican simultáneamente en el destino. Los metadatos del evento indican si el evento proviene del reabastecimiento o del CDC.
¿Qué sigue?
- Obtén más información sobre Datastream.
- Obtén más información sobre los eventos y las transmisiones.
- Obtén más información sobre las asignaciones de tipos unificados.
- Obtén más información sobre las fuentes que admite Datastream.
- Obtén más información sobre los destinos que admite Datastream.
- Descubre cómo crear configuraciones de conectividad privada, perfiles de conexión y transmisiones.