Preguntas frecuentes

Información general

En este tema, encontrará respuestas a preguntas frecuentes sobre el uso de Datastream. Estas preguntas frecuentes están asociadas con:

  • Preguntas generales sobre el flujo de datos y la captura de datos (CDC)
  • Captura de datos de cambios de MySQL (CDC)
  • Captura de datos de cambios de Oracle (CDC)
  • Usos habituales de Datastream
  • Cómo se integra Datastream con los servicios de datos de Google Cloud
  • Información sobre la vista previa y las versiones de GA del flujo de datos
  • El comportamiento y las limitaciones de Datastream
  • Seguridad y conectividad
  • Procesando archivos de Datastream
  • Supervisar flujo de datos
  • Precios
  • Más información sobre Datastream

Preguntas generales sobre el flujo de datos y la captura de datos (CDC)

Pregunta Respuesta
¿Qué es Datastream?

Datastream es un servicio de replicación de datos (CDC) y sin servidor y fácil de usar que permite sincronizar flujos de datos en aplicaciones y bases de datos heterogénicas de forma fiable y con latencia mínima. Datastream admite el envío de cambios en datos de bases de datos de Oracle y MySQL a Cloud Storage.

El servicio te ofrece una integración mejorada con plantillas de Dataflow para acelerar las vistas materializadas de BigQuery para las analíticas, replicar sus bases de datos en Cloud SQL o Cloud Spanner para sincronizar las bases de datos o aprovechar los flujos directamente desde Cloud Storage para disfrutar de arquitecturas basadas en eventos. en tu teléfono Android. Datastream también se integra con Cloud Data Fusion para crear flujos de procesamiento de datos con transformaciones a BigQuery.

¿Qué es la CDC?

CDC es un método de integración de datos que permite integrar y analizar datos más rápidamente con menos recursos del sistema. Es un método para obtener únicamente los últimos cambios (actualizaciones, inserciones o eliminaciones) de una fuente de datos, normalmente leyendo el registro de cambios que la fuente conserva para su propia integridad transaccional transaccional.

CDC es un mecanismo muy eficaz para limitar el impacto de las fuentes de datos cuando se cargan nuevos datos en almacenes de datos y almacenes de datos operativos. Además, elimina la necesidad de actualizar cargas en lote y de ventanas involuntarios por lotes, ya que permiten una carga cada vez mayor o el streaming en tiempo real de cambia a un destino de datos.

Los CDC pueden utilizarse en muchos casos prácticos que deducen el valor constante del acceso continuo a los cambios en los datos a medida que se producen, como las analíticas, la sincronización de datos entre sistemas distribuidos geográficamente y las arquitecturas basadas en eventos.

¿Qué es un backfill? Además de los cambios en curso, Datastream también usa el backfill para extraer todos los datos de una fuente de datos y, a continuación, transmitirlos a un destino. Por lo tanto, el destino se "reduce" con todos los datos históricos de la fuente.
¿Cuáles son los métodos de emisión de datos de Datastream? El flujo de datos transmite datos de una fuente a un destino mediante uno de estos dos métodos:
  • CDC: capture cambios en tiempo real desde la fuente en tiempo real.
  • Backfill: proporciona un resumen histórico de los datos que existen en una tabla.
¿Qué es un flujo de cambios? Un flujo de cambios es una secuencia de eventos que Datastream emite a un destino, como Cloud Storage, para el flujo descendente. El resultado de un flujo de cambios que se escribe en un destino es un conjunto de archivos que contienen eventos de registro de cambios de una tabla de base de datos específica durante un periodo de tiempo. Estos eventos representan las inserciones, las actualizaciones y las eliminaciones de la tabla de origen, y los eventos (como Dataflow para arquitecturas basadas en eventos) pueden consumirlos y procesar el flujo descendente del destino.
¿Qué es una vista materializada?

Una vista materializada es una representación de una tabla de origen en un destino. Un ejemplo de este tipo de vista es una tabla de base de datos de Oracle en la que los cambios de esta tabla se replican continuamente en una tabla de BigQuery. En consecuencia, la tabla de BigQuery se mantiene actualizada con los cambios transmitidos desde la tabla de Oracle.

Las vistas materializadas aprovechan los flujos de cambios, ya que consume cada evento de cambio y se utilizan para actualizar la vista materializada. Datastream te ofrece vistas materializadas en destinos como BigQuery, Cloud SQL y Cloud Spanner gracias a la integración con Dataflow, y aprovecha las plantillas que extraen los eventos de flujo de cambios del destino y actualiza las tablas de destino como corresponda.

¿Se necesita un agente en la fuente de Datastream? No tienes que instalar ningún agente en la fuente. Datastream utiliza interfaces que ya existen (como Oracle LogMiner) para extraer los datos de la fuente.
¿Qué ocurre con el rendimiento que puede tener el flujo de datos en una base de datos de producción?

CDC es un mecanismo muy eficaz para limitar el impacto de las fuentes de datos cuando se cargan nuevos datos en almacenes de datos y almacenes de datos de destino. La CDC también elimina la necesidad de actualizar cargas en lote y de ventanas en lote convencionales, ya que permite cargar de forma incremental o en tiempo real los cambios de datos en un destino.

Además, el flujo de datos minimiza el impacto de un backfill inicial al limitar el número de tareas de backfill simultáneos y le ofrece la posibilidad de decidir qué objetos debe rellenar y cuándo se debe volver a cargarlos.

¿Puedes copiar los archivos de registro del origen a Google Cloud? No. Datastream consulta los registros directamente en el servidor de bases de datos y solo los cambios de las tablas especificadas se escriben en el destino.
¿Puede el flujo de datos también transferir datos históricos? Sí. De forma predeterminada, el flujo de datos obtiene todos los datos históricos de las tablas de bases de datos de la fuente que especifica, de forma paralela al flujo de CDC. Datastream te ofrece la flexibilidad de obtener datos históricos de algunas tablas de bases de datos o de todas ellas. Además, cuando configure su emisión, puede optar por inhabilitar el backfill histórico.
¿Cuál es el tamaño de fila máximo que admite Datastream? Actualmente, el flujo de datos no puede superar los 3 MB en filas.
¿Se garantiza que el flujo de datos garantiza pedidos? El flujo de datos no garantiza el orden. Proporciona metadatos adicionales para cada evento, que pueden usarse para asegurar la coherencia final en el segmento de destino. En función de la fuente, la velocidad y la frecuencia de los cambios, y de otros parámetros, la coherencia final puede lograrse en un periodo de 1 hora.
¿El flujo de datos garantiza una entrega exacta? No. El flujo de datos es una vez al menos una vez en la entrega. Los metadatos adicionales que Datastream escribe en cada evento se pueden usar para eliminar datos duplicados.
¿Cómo gestiona Datastream los cambios de esquema en una fuente? Datastream extrae el esquema de la fuente periódicamente. Sin embargo, en las exploraciones de esquemas, es posible que algunos cambios en los esquemas no se detecten, lo que puede provocar discrepancias en los datos. Tenemos pensado capturar los eventos del lenguaje de definición de datos en tiempo real, lo que resolverá esta limitación actual.
¿Gestionas bases de datos cifradas? Sí.
¿Puede el flujo de datos de streaming transmitir datos de tablas y columnas específicas de una fuente? Sí. Con Datastream, puede especificar las listas de inclusión y exclusión de tablas y esquemas para transmitir solo los datos que quiera de un origen a un destino. En las tablas incluidas, puede excluir columnas específicas de las tablas para definir exactamente los datos que desea que se transmitan al destino. Sin embargo, las vistas materializadas no se pueden replicar.
¿Cómo se traslada un flujo a otro proyecto o región?
  1. Cree un flujo en una región o un proyecto nuevos con la misma configuración que el flujo existente, pero no marque la casilla Reabastecer el historial de datos.
  2. Inicia la emisión que has creado.
  3. Cuando la emisión que hayas creado tenga el estado RUNNING, pausa la emisión actual.
  4. Si lo desea, puede modificar el nuevo flujo seleccionando la casilla Reabastecer el historial de datos. Los datos de las tablas añadidas al flujo se transmitirán desde el origen al destino.

Captura de datos de cambios de MySQL (CDC)

Pregunta Respuesta
¿Cómo obtiene Data Transfer datos de MySQL? Datastream usa el registro binario de MySQL para extraer los eventos de cambio de MySQL.

Captura de datos de cambios de Oracle (CDC)

Pregunta Respuesta
¿Cómo obtiene Datastream datos de Oracle? El flujo de datos utiliza Oracle LogMiner para extraer los datos de los registros de repetición de Oracle.
¿Se necesita una licencia de GoldenGate para el flujo de datos de OracleG? No. Datastream utiliza Oracle LogMiner para leer los datos de los registros de versiones de la base de datos.
¿Qué sucede cuando deja de admitir Oracle LogMiner? Oracle será compatible con las próximas versiones. De momento, Oracle LogMiner sigue disponible en todas las versiones de Oracle disponibles de forma general.
¿Se puede usar Datastream en la arquitectura con varios propietarios de contenedores, concretamente las bases de datos de contenedores (DBS) y las bases de datos conectables (PDB)? De momento, Datastream no admite CDB ni PDB, pero sigue leyendo.

Usos

Pregunta Respuesta
¿Cuáles son algunos casos prácticos comunes de uso de Datastream?

El flujo de datos es un CDC y un servicio de replicación, lo que significa que es flexible en los distintos casos prácticos que se pueden beneficiar del acceso a datos de cambios en streaming de forma continua. Los casos prácticos más habituales de Datastream son los siguientes:

  1. Analytics: al integrar el flujo de datos con plantillas de Dataflow para cargar datos en BigQuery, obtendrás vistas actualizadas de los datos de origen en BigQuery. Puedes usar esta información actualizada continuamente para crear paneles actualizados de los datos. Esto puede utilizarse, por ejemplo, para supervisar tus sistemas y para obtener información actualizada sobre el estado de tu empresa.
  2. Casos de sincronización y replicación de bases de datos: al integrar el flujo de datos con plantillas de Dataflow para cargar datos en Cloud SQL o Cloud Spanner, puedes obtener vistas actualizadas de los datos de origen en estas bases de datos. Puedes usar estos datos actualizados continuamente en las bases de datos de destino para que la migración de bases de datos sea lenta del origen al destino o de configuraciones de nube híbrida, en las que la fuente y el destino Estar en entornos de alojamiento diferentes.
  3. Arquitecturas basadas en eventos: las arquitecturas modernas basadas en microservicios se basan en centros de datos centralizados que se actualizan constantemente con los eventos de toda la organización para que afecten a los eventos. Al escribir continuamente datos de eventos en destinos como Cloud Storage, puedes crear arquitecturas basadas en eventos basadas en el consumo de datos de eventos de estos destinos.

Integraciones

Pregunta Respuesta
¿Cómo se integran Datastream con los servicios de datos de Google Cloud?

Datastream complementa y mejora el paquete de datos de Google Cloud mediante la replicación de datos de CDC de las fuentes a diversos servicios de Google Cloud. Al integrarse perfectamente con estos servicios, Dataflow encaja en el ecosistema de Google Cloud, de mayor tamaño.

Datastream se integra con los siguientes servicios de datos:

  • Dataflow: se integra con Dataflow mediante plantillas de Dataflow. Estas plantillas leen datos de Cloud Storage y los cargan en BigQuery, Cloud SQL para PostgreSQL o Cloud Spanner. La finalidad de estas plantillas es mantener vistas actualizadas de las tablas de origen replicadas en los destinos. Las plantillas están disponibles en la UI de Dataflow, y están diseñadas para archivos generados con Datastream y procesar de forma sencilla y listas para usar.
  • Cloud Data Fusion: Datastream se integra con Cloud Data Fusion. Para ello, impulsa el conector de Oracle a través de la función de replicación de Cloud Data Fusion. Puedes crear una fuente de replicación de Oracle para que la potencia de Datastream funcione "de forma transparente" para crear un flujo de procesamiento de datos fácilmente. Este flujo de procesamiento incluye transformaciones completas para los datos de Oracle que Datastream envía a Cloud Data Fusion.
  • Cloud Storage: Datastream se integra con Cloud Storage escribiendo como destino de streaming.
  • Cloud SQL, Cloud Spanner y BigQuery: Datastream se integra con estas bases de datos de destino. Gracias a las plantillas de Dataflow, puedes mantener vistas materializadas actualizadas en las bases de datos.

Vista previa y GA

Pregunta Respuesta
¿Cuándo estarán disponibles la vista previa y las versiones de GA de Streamstream? La versión de vista previa de Datastream está disponible en este momento. La versión de GA estará disponible a finales de este año.
¿Qué fuentes y destinos son compatibles con el flujo de datos en la vista previa?
  • Fuentes: Datastream admite datos de streaming de orígenes de Oracle y MySQL, tanto alojados en la nube como de autoservicio. Para obtener más información sobre la compatibilidad con fuentes, consulta el artículo Comportamiento y limitaciones.
  • Destinos: Datastream admite el cambio de datos en archivos que se transmiten a Cloud Storage. Después, puedes utilizar las plantillas de Dataflow para transferir estos datos de Cloud Storage a BigQuery, Cloud Spanner y Cloud SQL para PostgreSQL.
¿Qué fuentes y destinos admite Datastream de GA? Datastream admite los mismos orígenes y destinos para GA que para la vista previa.
¿Puede el flujo de datos gestionar las bases de datos cifradas? Sí.
¿Cuál es la disponibilidad regional de Datastream?

Para ver una lista de las regiones en las que está disponible Datastream, consulta el artículo sobre listas y regiones permitidas por IP.

En el caso de GA, Datastream estará disponible en todas las regiones.

Comportamiento y limitaciones

Pregunta Respuesta
¿Qué versiones de origen son compatibles con Datastream?

Para MySQL, Datastream es compatible con las versiones 5.6, 5.7 y 8.0. Se admite cualquier base de datos compatible con MySQL, incluidas, entre otras, las siguientes:

  • Base de datos alojada en un servidor on-premise o que se encuentre en un proveedor de la nube
  • Cloud SQL for MySQL
  • MySQL de RDS de MySQL y Aurora MySQL
  • MariaDB
  • Alibaba Cloud PolaDB
  • Servidor Percona para MySQL

En Oracle, Datastream es compatible con las versiones 11g, 2c, 2c, 19c y 19c (no con restricciones de RAC de configuración de SCAN, CDB/PDB o bases de datos autónomos). Se admite cualquier base de datos compatible con Oracle, incluidas las siguientes:

  • Base de datos alojada en un servidor on-premise o que se encuentre en un proveedor de la nube
  • RDS de AWS
  • Nube de Oracle
¿Cómo extrae Datastream datos de las fuentes?

En MySQL, Datastream procesa el registro binario de MySQL para extraer eventos de cambio.

En Oracle, Datastream utiliza LogMiner y la configuración de almacenamiento de registros complementario para extraer datos de los registros de Rehacer de Oracle.

¿Puedes copiar los archivos de registro directamente de un origen a Google Cloud? El flujo de datos no copia todos los archivos de registro, pero consulta los archivos de registro directamente desde el servidor de bases de datos y solo copia los cambios de las tablas especificadas en el destino.
En el caso de las fuentes de Oracle, ¿es necesario tener una licencia de GoldenGate para transmitir datos? Datastream no requiere una licencia GoldenGate porque utiliza Oracle LogMiner para leer los datos de los registros redo de la base de datos.
¿Qué sucede cuando Oracle LogMiner no se admitirá en las versiones más recientes? Se ha eliminado la compatibilidad con LogMiner en Oracle 20 y versiones posteriores, por lo que cualquier fuente de Oracle antes de esa versión puede seguir utilizando LogMiner con Datastream de forma segura.
¿Cuáles son las limitaciones sobre los datos que puede procesar Datastream?

Existen limitaciones generales, limitaciones para fuentes de MySQL y limitaciones para fuentes de Oracle.

Estas son algunas de las limitaciones generales:

  • Rendimiento: ~5 MBPS con un límite máximo de tamaño de fila de 3 MB.
  • Durante la replicación, no se admiten algunas operaciones de lenguaje de definición de datos (DDL) como, por ejemplo:
    • Suelta una columna en el centro de una tabla. Esto puede provocar discrepancias de datos porque los valores están asociados a la columna incorrecta.
    • Cambiar el tipo de datos de una columna. Esto puede provocar una discrepancia de datos porque los datos no están asignados correctamente al tipo unificado de flujo de datos correcto y los datos podrían dañarse.
    • Las eliminaciones en cascada se ignoran.
    • Se omite la tabla de truncamiento de tablas.

Las limitaciones de MySQL incluyen el backfill no disponible para las tablas que no tengan una clave principal y que superen los 100 GB.

Las limitaciones orales:

  • Columnas compatibles:
    • Algunos tipos de datos no son compatibles y se replican con valores NULL. Estos tipos de datos incluyen tipos de datos abstractos (ADT ),ANYDATA , colecciones (VARRAY ),BLOB/CLOB/LOB/NCLOB ,LONG ,UDT ,UROWID yXMLType en tu teléfono Android.
  • Funciones de Oracle no compatibles:
    • Tablas externas
    • Enlaces a bases de datos (dblinks)
    • Tablas solo de índice (IOT)
    • La seguridad de etiquetas de Oracle (OLS) no se duplica.
  • El backfill no es compatible con tablas con un tamaño superior a 100 GB.

¿Qué datos se incluyen en cada uno de los eventos que genera Datastream? Cada evento generado (para inserciones, actualizaciones y eliminaciones) incluye la fila completa de datos de la fuente, con el tipo de datos y el valor de cada columna. Cada evento también incluye metadatos de eventos que pueden utilizarse para definir el orden y garantizar una entrega exacta.
¿Se garantiza que el flujo de datos garantiza pedidos? Aunque Datastream no garantiza el orden, proporciona metadatos adicionales para cada evento. Estos metadatos se pueden utilizar para asegurar la coherencia en el destino. En función de la fuente, la frecuencia y la frecuencia de los cambios, entre otros, se puede lograr la coherencia eventual en un periodo de una hora.
¿El flujo de datos garantiza una entrega exacta? El flujo de datos es, como mínimo, una entrega. Puedes eliminar datos duplicados usando metadatos adicionales que escribe Datastream en cada evento.
¿Cómo representa Datastream los tipos de datos procedentes de la fuente para utilizarlos en el procesamiento posterior?

El flujo de datos simplifica el procesamiento de los datos de las fuentes de datos de forma sencilla y directa al normalizar los tipos de datos en todas las fuentes. El flujo de datos toma el tipo de datos de origen original (por ejemplo, un tipo NUMERIC de MySQL o un tipo NUMBER de Oracle) y lo normaliza en un tipo unificado de flujo de datos.

Los tipos unificados representan un superconjunto sin pérdidas de todos los tipos de fuentes posibles, y la normalización permite que los datos de diferentes fuentes se puedan procesar fácilmente y consultar a cadena descendente de manera independiente.

Si un sistema secundario necesita conocer el tipo de datos de origen, puede hacerlo a través de una llamada a la API para el registro del esquema de Datastream. En este registro se almacenan los esquemas actualizados y actualizados para cada fuente de datos. La API de registros de esquemas también permite resolver rápidamente la reversación de esquemas de esquemas porque los esquemas de bases de datos de origen cambian.

¿Cómo gestiona la estructura de Datastream (esquema) el código fuente? El flujo de datos registra los cambios en la estructura de datos de origen de forma continua. Los esquemas se almacenan en el registro del esquema de Datastream, y cada evento hace referencia al esquema en el momento de su creación. De este modo, Datastream u otros procesos posteriores sirven para hacer un seguimiento de los cambios en los esquemas en tiempo real, y ajustarlos en función de estos cambios. Así, se asegura de que todos los datos se transmitan y se carguen en el destino correctamente.

Seguridad y conectividad

Pregunta Respuesta
¿El flujo de datos es un servicio seguro para los datos sensibles? Datastream admite varias configuraciones de conectividad seguras y privadas para proteger los datos en tránsito mientras se transmiten desde un origen a un destino. Una vez que los datos se replican, se encriptan, de forma predeterminada, y utilizan los controles de seguridad de Cloud Storage. Todos los datos que se almacenan en búfer mediante el encriptado de datos se cifran en reposo.
¿Qué opciones de conectividad están disponibles para conectar sus fuentes a Datastream?

Puedes configurar tres tipos de métodos de conectividad:

  • Lista de IPs permitidas: este método le proporciona conectividad pública al permitir la inclusión de direcciones IP regionales de Datastream en el origen. Al crear su emisión, Datastream muestra estas direcciones IP en la interfaz de usuario.
  • Redirección de puertos SSH: este método te ofrece conectividad segura a través de las redes públicas mediante una concesión de direcciones SSH configurada por el cliente y una lista de direcciones IP regionales.
  • Conectividad privada mediante emparejamiento de VPC: utiliza este método para conectarte a tus bases de datos alojadas en Google Cloud a través de la red interna de Google Cloud, o bien utiliza una VPN o interconexión que ya tengas: establece el emparejamiento de VPC entre la red privada de Datastream y la red de Google de tu organización Cloud VPC.
¿Cómo puedo limitar el tratamiento de datos sensibles en Dataflow?

Datastream permite especificar los elementos de datos específicos (esquemas, tablas o columnas) que quiere transmitir en un destino, así como los elementos que no quiere que se transmitan.

Los registros de la base de datos pueden contener datos de cambios de elementos excluidos en la definición del flujo. Dado que no puede filtrar estos elementos en el origen, Datastream leerá, pero ignorará todos los datos asociados a ellos.

Procesar archivos de Datastream

Pregunta Respuesta
¿Cómo se crean archivos en Cloud Storage? El flujo de datos crea una carpeta para cada tabla. En cada carpeta, Datastream rota el archivo (o crea un archivo) cuando alcanza el umbral de tamaño o de tiempo definido por el usuario. El flujo de datos también rota el archivo cada vez que se detecta un cambio de esquema. El nombre del archivo se compone de una clave de esquema única (basada en un hash del esquema), seguido de la marca de tiempo del primer evento del archivo. Por motivos de seguridad, estos nombres de archivo no están diseñados para ser fáciles de leer ni entender.
Si no se ordenan los datos de Cloud Storage, ¿cómo se pueden reordenar los eventos antes de cargarlos en el destino? Cada evento contiene varios campos de metadatos que identifican de forma única la fila del registro de reescritura de Oracle. En concreto:
  • rs_id, que se compone de tres valores (por ejemplo, 0x0073c9.000a4e4c.01d0). rs_id identifica el registro de forma exclusiva dentro del registro de Rehacer.
  • ssn, que se utiliza cuando el registro del registro de Redacción es demasiado largo. Por este motivo, Oracle LogMiner divide el registro en varias filas.
Para ordenar los eventos, debes ordenarlos por partes de rs_id y, después, por la ssn.
Si se crean varios archivos para la misma marca de tiempo, ¿en qué orden se deben procesar? Como no se garantiza el orden en los archivos y entre los archivos, la mejor forma de determinar el orden para procesar los archivos consiste en obtener todos los eventos de todos los archivos para la marca de tiempo específica y, a continuación, aplicar el orden mediante el método mencionado anteriormente.
¿Cómo se gestionan las actualizaciones de las claves principales? ¿Hay información antes y después de la información en el evento? El campo de metadatos row_id identifica de forma exclusiva la fila que se modifica. Para garantizar la integridad de los datos, consolida los datos en función del valor asociado al campo row_id, en lugar de confiar en la clave principal.

Supervisar flujo de datos

Pregunta Respuesta
¿Cómo puedo saber cuándo se han copiado todos mis datos históricos en el segmento de Cloud Storage de destino? Datastream proporciona información sobre su estado actual en los archivos de registro. Se crea una entrada de registro para indicar cuándo se ha completado el backfill de una tabla.

Precios

Pregunta Respuesta
¿Cómo se determina el precio de Datastream?

El precio del flujo de datos se calcula en función del volumen (GB) de datos transmitidos desde tu origen al destino.

Para obtener más información sobre los precios de Datastream, consulte Precios.

¿Cómo se calcula el tamaño de los datos? La facturación se calcula en función del tamaño de los datos sin procesar (sin comprimir) que se transmiten desde el origen al destino. Datastream solo cobra por los datos que están transmitidos al destino.
Si usas Datastream con Dataflow o Cloud Data Fusion, ¿por qué pagas? El precio de cada servicio se factura por separado.

Más información

Pregunta Respuesta
¿Qué debo hacer si tengo más preguntas o problemas sobre el uso de Datastream? El equipo de asistencia de Google puede ayudarle si tiene problemas con el uso de Datastream. Además, en la guía de solución de problemas se abordan problemas comunes que pueden surgir al utilizar Datastream.