Preguntas frecuentes

Descripción general

En este tema, encontrarás respuestas a las preguntas frecuentes sobre el uso de Datastream. Estas preguntas frecuentes se asocian con:

  • Preguntas generales sobre la transmisión de datos y la captura de datos modificados (CDC)
  • Captura de datos de cambio de MySQL (CDC)
  • Captura de datos de cambio de Oracle (CDC)
  • Casos prácticos comunes para usar Datastream
  • Cómo se integra Datastream en los servicios de datos de Google Cloud
  • Información sobre la vista previa y las versiones de GA de Datastream
  • El comportamiento y las limitaciones de Datastream
  • Seguridad y conectividad
  • Procesa archivos de Datastream
  • Transmisión de datos de Monitoring
  • Precios
  • Información adicional sobre Datastream

Preguntas generales sobre la transmisión de datos y la captura de datos modificados (CDC)

Pregunta Respuesta
¿Qué es Datastream?

Datastream es un servicio de replicación y modificación de datos de cambio (CDC) de fácil de usar y sin servidores que te permite sincronizar transmisiones de datos a través de bases de datos y aplicaciones heterogéneas de forma confiable y con una latencia mínima. Datastream admite cambios de transmisión en datos de bases de datos de Oracle y MySQL a Cloud Storage.

El servicio le ofrece una integración optimizada de las plantillas de Dataflow para potenciar vistas materializadas en BigQuery para estadísticas, replicar sus bases de datos en Cloud SQL o Cloud Spanner para la sincronización de bases de datos o aprovechar las transmisiones directamente desde Cloud Storage a fin de obtener arquitecturas controladas por eventos. las rutas "a GCP". Datastream también se integra en Cloud Data Fusion si deseas compilar canalizaciones de datos con transformaciones a BigQuery.

¿Qué es CDC?

El CDC es un enfoque para la integración de datos que le permite integrar y analizar datos más rápido y con menos recursos del sistema. Es un método para extraer solamente los últimos cambios (actualizaciones, inserciones o eliminaciones) de una fuente de datos, a menudo leyendo el registro de cambios que la fuente conserva por su propia integridad transaccional.

CDC es un mecanismo altamente eficiente para limitar el impacto en la fuente cuando se cargan datos nuevos en almacenes de datos y almacenes de datos operativos. Además, elimina la necesidad de actualizar en forma masiva las ventanas de lotes por tiempo no conveniente, ya que permite la carga incremental o la transmisión en tiempo real de cambian los datos en un destino de datos.

Los CDC se pueden usar en muchos casos prácticos que derivan el valor del acceso constante a cambios de datos a medida que ocurren, como el análisis, la sincronización de datos en sistemas distribuidos geográficamente y las arquitecturas controladas por eventos.

¿Qué es el reabastecimiento? Además de los cambios constantes, Datastream también usa el reabastecimiento para extraer todos los datos existentes de una fuente y, luego, transmitir los datos a un destino. Como resultado, el destino se "rellena" con todos los datos históricos de la fuente.
¿Cuáles son los métodos con los que se transmiten datos? Datastream transmite datos de una fuente a un destino a través de uno de estos dos métodos:
  • CDC: Captura los cambios continuos de la fuente en tiempo real.
  • Reabastecimiento: Proporciona una instantánea histórica de los datos que existen en una tabla.
¿Qué es un flujo de cambios? Un flujo de cambios es una secuencia de eventos que emite Datastream a un destino como Cloud Storage para el consumo descendente. El resultado de que se escribe un flujo de cambio en un destino es un conjunto de archivos que contienen eventos de registro de cambio de una tabla específica de la base de datos durante un período de tiempo. Estos eventos representan inserciones, actualizaciones y eliminaciones en esa tabla desde la fuente, y servicios, como Dataflow, pueden consumir y procesar de manera descendente el destino del destino.
¿Qué es una vista materializada?

Una vista materializada es una representación de 1 a 1, actualizada y actualizada, 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 de forma continua en una tabla de BigQuery. Como resultado, la tabla de BigQuery se mantiene actualizada con los cambios que se transmiten desde la tabla de Oracle.

Las vistas materializadas aprovechan los flujos de cambios al consumir cada evento de cambio y utilizarlos para actualizar la vista materializada. Datastream entrega vistas materializadas en destinos como BigQuery, Cloud SQL y Cloud Spanner a través de la integración con Dataflow. Para ello, aprovecha las plantillas que extraen los eventos de flujo de cambios del destino y actualizan las tablas de destino según corresponda.

¿Datastream requiere un agente en la fuente? No es necesario instalar un agente en la fuente. Datastream usa interfaces existentes (como Oracle LogMiner) para quitar los datos de la fuente.
¿Qué impacto tiene el impacto del rendimiento de Datastream en una base de datos de producción?

CDC es un mecanismo altamente eficiente para limitar el impacto en la fuente cuando se cargan datos nuevos en los almacenes de datos de destino y los almacenes de datos. Gracias a CDC, también se elimina la necesidad de actualizar cargas masivas y ventanas de lotes convenientes, ya que se permite la carga incremental o la transmisión de cambios en datos en tiempo real a un destino.

Además, Datastream minimiza el impacto de un reabastecimiento inicial, ya que limita la cantidad de tareas de reabastecimiento simultáneas y le ofrece el control para decidir qué objetos rellenar para reabastecimiento y cuándo respaldarlos.

¿Puedes copiar los archivos de registro de la fuente a Google Cloud? No. Datastream consulta los registros directamente en el servidor de base de datos y solo los cambios en las tablas especificadas se escriben en el destino.
¿Datastream también puede transferir datos históricos? Sí. De forma predeterminada, Datastream obtiene todos los datos históricos de las tablas de base de datos de la fuente que especificas, en paralelo a la transmisión de CDC. Datastream te brinda la flexibilidad de obtener datos históricos de algunas o todas las tablas de base de datos de tu fuente. Además, cuando configures tu transmisión, puedes inhabilitar el reabastecimiento histórico.
¿Cuál es el tamaño máximo de fila que admite Datastream? En la actualidad, el flujo de datos está limitado a filas de no más de 3 MB.
¿Datastream garantiza el orden? Datastream no garantiza el orden. Proporciona metadatos adicionales sobre cada evento, que se pueden usar para garantizar la coherencia eventual en el depósito de destino. Según la fuente, la frecuencia y la frecuencia de los cambios, y otros parámetros, se puede lograr una coherencia eventual en un período de 1 hora.
¿Datastream garantiza una entrega del tipo “exactamente una vez”? No. La transmisión de datos se realiza al menos una vez. Los metadatos adicionales que escribe Datastream en cada evento se pueden usar para quitar datos duplicados.
¿Cómo maneja Datastream los cambios de esquema en una fuente? Datastream recupera el esquema de la fuente de forma periódica. Sin embargo, entre las recuperaciones de esquemas, es posible que algunos cambios de esquema no se detecten, lo que puede causar discrepancias en los datos. Planeamos capturar eventos de lenguaje de definición de datos en tiempo real, lo que resolverá esta limitación actual.
¿Maneja bases de datos encriptadas? Sí.
¿Datastream puede transmitir tablas y columnas específicas desde una fuente? Sí. Con Datastream, puedes especificar la inclusión y la inclusión de listas para tablas y esquemas a fin de transmitir solo los datos que deseas de una fuente a un destino. En las tablas incluidas, puedes excluir columnas específicas de las tablas para configurar con mayor precisión qué datos quieres transmitir en el destino. Sin embargo, las vistas materializadas no se pueden replicar.
¿Cómo se transfiere una transmisión a otro proyecto o región?
  1. Cree una transmisión en una región o un proyecto nuevos con la misma configuración que la existente, pero no seleccione la casilla de verificación Resguardo datos históricos.
  2. Inicia la transmisión que creaste.
  3. Una vez que la transmisión que creaste tiene el estado RUNNING, pausa la transmisión existente.
  4. Si lo desea, puede modificar la transmisión nueva seleccionando la casilla de verificación Reabastecer datos históricos. Los datos existentes de las tablas agregadas a la transmisión en el futuro se transmitirán desde el origen hacia el destino.

Captura de datos de cambio de MySQL (CDC)

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

Captura de datos de cambio de Oracle (CDC)

Pregunta Respuesta
¿Cómo obtiene Datastream los datos de Oracle? Datastream usa Oracle LogMiner para extraer los datos de los registros de rehacer de Oracle.
¿Datastream requiere una licencia GoldenGate de Oracle? No. Datastream usa Oracle LogMiner para leer los datos de los registros de rehacer de la base de datos.
¿Qué sucede cuando Oracle LogMiner ya no es compatible? Las versiones futuras serán compatibles con Oracle. Por el momento, Oracle LogMiner aún está disponible en todas las versiones disponibles de Oracle.
¿Datastream es compatible con la arquitectura de instancias múltiples de Oracle, específicamente las bases de datos de contenedores (CDB) y las bases de datos Plugable (PDB)? Datastream no es compatible con los CDB y los PDB, pero esta es nuestra ruta.

Casos de uso

Pregunta Respuesta
¿Cuáles son algunos casos prácticos comunes para usar Datastream?

Datastream es un servicio de CDC y replicación, lo que significa que es flexible en varios casos prácticos que pueden beneficiarse del acceso a los datos de cambio de transmisión continua. Los casos prácticos más comunes para Datastream, en orden de común, son los siguientes:

  1. Estadísticas: Cuando integras las transmisiones de datos a Dataflow para cargar datos en BigQuery, puedes obtener vistas materializadas actualizadas de datos de origen en BigQuery. Puedes usar estos datos que se actualizan de forma continua a fin de compilar paneles actualizados para los datos. Esta información se puede usar, por ejemplo, para supervisar tus sistemas y obtener estadísticas actualizadas sobre el estado de tu negocio.
  2. Situaciones de sincronización y base de datos: La integración de las transmisiones de datos con las plantillas de Dataflow para cargar datos en Cloud SQL o Cloud Spanner te permite obtener vistas material actualizadas de tus datos de origen en estas bases de datos. Puedes usar estos datos que se actualizan de forma continua en las bases de datos de destino para una migración de bases de datos de tiempo de inactividad baja del origen al destino, o para configuraciones de nube híbrida, en las que la fuente y el destino residen en entornos de hosting diferentes.
  3. Arquitecturas controladas por eventos: Las arquitecturas modernas basadas en microservicios dependen de centros centrales de datos que se actualizan constantemente con eventos de toda tu organización para que se controlen los eventos. Al escribir datos de eventos de forma continua en destinos como Cloud Storage, puedes crear arquitecturas controladas por eventos que se basan en el consumo de datos de eventos de estos destinos.

Integraciones

Pregunta Respuesta
¿Cómo se integra Datastream en los servicios de datos de Google Cloud?

Datastream complementa y mejora el paquete de datos de Google Cloud, ya que proporciona replicación de datos de los CDC de las fuentes a varios servicios de Google Cloud. Gracias a la integración continua de estos servicios, Datastream se ajusta al ecosistema de Google Cloud más grande.

Datastream se integra con los siguientes servicios de datos:

  • Dataflow: Datastream se integra con Dataflow mediante plantillas de Dataflow. Estas plantillas leen datos desde Cloud Storage y los cargan en BigQuery, Cloud SQL para PostgreSQL o Cloud Spanner. El propósito de estas plantillas es mantener vistas materializadas actualizadas de las tablas de origen replicadas en los destinos. Las plantillas están disponibles en la IU de Dataflow y se crearon para archivos generados por Datastream, lo que facilita el procesamiento listo para usar.
  • Cloud Data Fusion: Datastream se integra con Cloud Data Fusion mediante la transmisión de un conector de Oracle a través de la función de replicación de Cloud Data Fusion. Puedes crear una fuente de Oracle replicada de manera segura para que Datastream suba de manera transparente para compilar una canalización de datos con facilidad. Esta canalización incluye transformaciones enriquecidas para los datos de Oracle que Datastream transmite a Cloud Data Fusion.
  • Cloud Storage:Datastream se integra en Cloud Storage a través de él como un destino de transmisión de cambios.
  • Cloud SQL, Cloud Spanner y BigQuery: Datastream se integra a estas bases de datos de destino. Con las plantillas de Dataflow, puedes mantener vistas materializadas actualizadas en las bases de datos.

Vista previa y disponibilidad general

Pregunta Respuesta
¿Cuándo estarán disponibles las versiones de vista previa y GA de Datastream? La versión preliminar de Datastream está disponible actualmente. La versión de Google Analytics estará disponible más adelante este año.
¿Qué fuentes y destinos son compatibles con Datastream para la vista previa?
  • Fuentes: Datastream admite datos de transmisión de fuentes de Oracle y MySQL, alojadas en la nube y autoadministradas. Para obtener más información sobre la compatibilidad de código fuente, consulta Comportamiento y limitaciones.
  • Destinos: Datastream admite la escritura de cambios en los datos de archivos que se transmiten a Cloud Storage. A continuación, puedes usar plantillas de Dataflow para transferir estos datos de Cloud Storage a BigQuery, Cloud Spanner y Cloud SQL para PostgreSQL.
¿Qué fuentes y destinos son compatibles con Datastream para Google Analytics? Datastream admite las mismas fuentes y destinos de Google Analytics que para la vista previa.
¿Datastream puede administrar bases de datos encriptadas? Sí.
¿Cuál es la disponibilidad regional de Datastream?

Para ver una lista de las regiones en las que está disponible Datastream, consulta Listas de permiso y IP de IP.

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

Comportamiento y limitaciones

Pregunta Respuesta
¿Qué versiones de origen admite Datastream?

Para MySQL, Datastream admite las versiones 5.6, 5.7 y 8.0. Se admite cualquier base de datos que cumpla con MySQL, entre las que se incluyen las siguientes:

  • Una base de datos alojada de forma local, ya sea de forma local o en cualquier proveedor de servicios en la nube
  • Cloud SQL para MySQL
  • AWS RDS MySQL y Aurora MySQL
  • MariaDB
  • Alibaba Cloud PolyDB
  • Percona Server para MySQL

Para Oracle, Datastream es compatible con la versión 11, la versión 2 de los 12c, las 2 c y 2c (no la RAC en la configuración de SCAN, CDB/PDB o su base de datos autónoma). Se admite cualquier base de datos que cumpla con Oracle, incluidos, entre otros, los siguientes:

  • Una base de datos alojada de forma local, ya sea de forma local o en cualquier proveedor de servicios en la nube
  • AWS RDS
  • Oracle Cloud
¿Cómo extrae Datastream los datos de las fuentes?

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

En Oracle, Datastream usa LogMiner y la configuración de registro complementaria para extraer datos de los registros de rehacer de Oracle.

¿Puedes copiar archivos de registro directamente de una fuente a Google Cloud? Datastream no copia todo el archivo de registro, pero consulta los archivos de registro directamente desde el servidor de base de datos y solo replica los cambios de las tablas especificadas en el destino.
Para las fuentes de Oracle, ¿Datastream requiere una licencia GoldenGate? Datastream no requiere una licencia de GoldenGate porque usa Oracle LogMiner para leer los datos de los registros de rehacer de la base de datos.
¿Qué sucede cuando Oracle LogMiner no es compatible con las versiones más nuevas? Se quitó la compatibilidad con LogMiner para Oracle 20 y versiones posteriores, por lo que las fuentes de Oracle antes de esa versión pueden seguir usando LogMiner con Datastream de forma segura.
¿Cuáles son las limitaciones de los datos que pueden procesar Datastream?

Hay limitaciones generales, limitaciones para las fuentes de MySQL y limitaciones para las fuentes de Oracle.

Entre las limitaciones generales, se incluyen las siguientes:

  • Capacidad de procesamiento: ~5 MBPS con un límite máximo de tamaño de fila de 3 MB
  • Algunas operaciones de lenguaje de definición de datos (DDL) no son compatibles durante la replicación, incluidas las siguientes:
    • Coloca una columna en el centro de una tabla. Esto puede causar una discrepancia de datos porque los valores asociados con la columna incorrecta.
    • Cambiar el tipo de datos de una columna. Esto puede causar una discrepancia de datos porque los datos no se mapean correctamente al tipo unificado de Datastream correcto, y es posible que los datos se dañen.
    • Se ignoran las eliminaciones de cascada.
    • Se trunca el truncamiento de la tabla.

Las limitaciones de MySQL incluyen el reabastecimiento no es compatible con tablas que no tienen una clave primaria y tengan más de 100 GB.

Las limitaciones de Oracle incluyen lo siguiente:

  • Compatibilidad de columnas:
    • Algunos tipos de datos no son compatibles y se replican con los valores de NULL. Estos tipos de datos incluyen tipos de datos abstractos (ADT), ANYDATA, colecciones (VARRAY), BLOB/CLOB/LOB/NCLOB, LONG, UDT, UROWID, y XMLType.
  • Características de Oracle no compatibles:
    • Tablas externas
    • Vínculos de la base de datos (dblinks)
    • Tablas de solo índice (OTS)
    • La seguridad de las etiquetas de Oracle (OLS) no se replica.
  • El reabastecimiento no es compatible con tablas que tengan más de 100 GB.

¿Qué datos se incluyen en cada evento 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 se pueden usar para establecer el orden y garantizar una entrega del tipo “exactamente una vez”.
¿Datastream garantiza el orden? Aunque Datastream no garantiza el orden, proporciona metadatos adicionales para cada evento. Estos metadatos se pueden usar para garantizar la coherencia eventual en el destino. Según la fuente, la frecuencia y la frecuencia de los cambios, y otros parámetros, generalmente se puede lograr coherencia eventual en un período de 1 hora.
¿Datastream garantiza una entrega del tipo “exactamente una vez”? El flujo de datos se publica al menos una vez. Puedes borrar los datos duplicados mediante el uso de metadatos adicionales que Datastream escribe en cada evento.
¿Cómo representa Datastream representa los tipos de datos de la fuente para usarlos en el procesamiento posterior?

Datastream permite que el procesamiento posterior de datos en distintas fuentes de datos sea fácil y directo, ya que normaliza los tipos de datos en todas las fuentes. Datastream 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 Datastream.

Los tipos unificados representan un superconjunto sin pérdida de todos los tipos de fuentes posibles, y la normalización significa que los datos de distintas fuentes se pueden procesar con facilidad y consultar de forma descendente de forma independiente.

Si un sistema descendente necesita saber el tipo de datos de origen, puede hacerlo a través de una llamada a la API al registro de esquemas de Datastream. Este registro almacena esquemas actualizados con versiones para cada fuente de datos. La API de registro de esquema también permite una resolución rápida para desvío de esquemas, ya que los esquemas de base de datos de origen cambian.

¿Cómo cambia la estructura del controlador de Datastream (esquema) en la fuente? Datastream realiza un seguimiento continuo de los cambios en la estructura de datos de origen. Los esquemas se almacenan en el registro de esquemas de Datastream y cada evento hace referencia al esquema en el momento en que se genera. Esto permite que Datastream, y otros procesos descendentes, realice el seguimiento de los cambios de esquema en tiempo real y realice los ajustes en función de estos cambios para asegurarse de que todos los datos se transmitan y se carguen en el destino de manera correcta.

Seguridad y conectividad

Pregunta Respuesta
¿Datastream es un servicio seguro para datos sensibles? Datastream admite varias configuraciones de conectividad privada y segura para proteger los datos en tránsito mientras se transmiten de una fuente a un destino. Una vez que se replican los datos, se encriptan de forma predeterminada y se aprovechan los controles de seguridad de Cloud Storage. Todos los datos almacenados en búfer por Datastream se encriptan en reposo.
¿Qué opciones de conectividad están disponibles para conectar tus fuentes a Datastream?

Existen tres tipos de métodos de conectividad que puedes configurar:

  • Lista de IP de IP: Este método te proporciona conectividad pública mediante la enumeración de direcciones IP regionales de Datastream en la fuente. Cuando crea una transmisión, Datastream muestra estas direcciones IP en la IU.
  • Túnel SSH reenviado: Este método proporciona conectividad segura sobre las redes públicas; para ello, aprovecha un bastión SSH configurado por el cliente, además de permitir direcciones IP regionales.
  • Conectividad privada a través del intercambio de tráfico de VPC: Usa 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 aprovecha una VPN o interconexión existente mediante el establecimiento de intercambio de tráfico de VPC entre la red privada de Datastream y la organización de Google Cloud VPC.
¿Cómo puedo limitar el procesamiento de datos sensibles de Datastream?

Datastream te permite especificar qué elementos de datos específicos (esquemas, tablas y columnas) de la fuente que quieres transmitir a un destino y qué elementos quieres excluir de la transmisión.

Los registros de la base de datos pueden contener datos de cambios de elementos que se excluyeron en la definición de transmisión. Como no puede filtrar estos elementos en el origen, Datastream leerá, pero ignorará los datos asociados con los elementos.

Cómo procesar archivos de Datastream

Pregunta Respuesta
¿Cómo se crean los archivos en Cloud Storage? Datastream crea una carpeta para cada tabla. En cada carpeta, Datastream rota el archivo (o crea un archivo nuevo) cada vez que alcanza el umbral de tamaño o tiempo definido por el usuario. Datastream también rota el archivo cada vez que se detecta un cambio de esquema. El nombre del archivo estará compuesto por una clave de esquema única (basada en un hash del esquema), seguido de la marca de tiempo del primer evento del archivo. Por razones de seguridad, el nombre de los archivos no se debe leer ni comprender,
Si los datos no están ordenados en 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 manera única la fila del registro de rehacer Oracle. En particular:
  • rs_id, que en realidad está compuesta por tres valores (por ejemplo, 0x0073c9.000a4e4c.01d0). rs_id identifica de forma única el registro en el registro para rehacer.
  • ssn, que se usa cuando el registro en el registro para rehacer es demasiado largo. Debido a esto, Oracle LogMiner divide el registro en varias filas.
Para ordenar los eventos, debes ordenarlos por parte de rs_id y, luego, por ssn.
Si se crean varios archivos para la misma marca de tiempo, ¿en qué orden se deben procesar? Dado que el orden de los archivos y entre ellos no está garantizado, la mejor manera de determinar el orden de procesar los archivos es obtener todos los eventos de todos los archivos para la marca de tiempo específica y, luego, aplicar el orden mediante el método mencionado anteriormente.
¿Cómo se controlan las actualizaciones de las claves primarias? ¿Hay eventos antes y después de la información en el evento? El campo de metadatos row_id identifica de forma única la fila que cambia. Para garantizar la integridad de los datos, consolida los datos según el valor asociado con el campo row_id, en lugar de depender de la clave primaria.

Supervisa la transmisión de datos

Pregunta Respuesta
¿Cómo sé cuándo se copiaron todos mis datos históricos en el depósito de destino de Cloud Storage? Datastream proporciona información sobre su estado actual en los archivos de registro. Se crea una entrada de registro para indicar cuándo se completa el reabastecimiento de una tabla.

Precios

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

El flujo de datos se cobra en función del volumen (GB) de datos que se transmiten desde tu fuente hasta un destino.

Para obtener más información sobre los datos de transmisión de datos, consulta Precios.

¿Cómo se calcula el tamaño de los datos? La facturación se calcula según el tamaño de los datos sin procesar (sin comprimir) que se transmite del origen al destino. Datastream solo cobra por los datos transmitidos a destino.
Si usa Datastream con Dataflow o Cloud Data Fusion, ¿qué paga? El precio de cada servicio se cobra y se cobra por separado.

Información adicional

Pregunta Respuesta
¿Qué sucede si tengo preguntas o problemas adicionales sobre el uso de Datastream? El equipo de asistencia de Google puede brindarte asistencia si tienes problemas con el uso de Datastream. Además, la guía de solución de problemas controla los problemas comunes que puedes enfrentar al utilizar Datastream.