Big Query Flashcards

(1009 cards)

1
Q

Cuáles de las siguientes características definen un servicio de almacén de datos moderno totalmente administrado y sin servidor (serverless)? (Respuesta Múltiple)

A. Está optimizado principalmente para el procesamiento de datos por lotes (batch data).

B. Automatiza la gestión del envejecimiento de los datos y el almacenamiento.

C. Necesita personal especializado (DBAs) para las tareas operacionales continuas.

D. Ofrece una base para la inteligencia artificial (IA) y proporciona información en tiempo real

A

B y D

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

En una arquitectura de datos en la nube que busca la máxima flexibilidad y escalabilidad, ¿cuál es el principio de diseño fundamental implementado?

A. El uso de ETL complejo para la entrega de datos.

B. La co-localización estricta del cómputo y el almacenamiento.

C. La dependencia de un único nodo raíz para el procesamiento de consultas.

D. La separación del almacenamiento y el cómputo (Decoupled storage and compute).

A

D

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Dentro de una arquitectura distribuida de alta disponibilidad, ¿qué componente es el responsable de la durabilidad extrema y el almacenamiento replicado y distribuido de los datos?

A. El cluster de alta disponibilidad de cómputo (Dremel).

B. Un sistema de archivos distribuido diseñado para almacenamiento masivo (Colossus).

C. El motor de consultas (Query engine).

D. La capa de shuffle o intercambio de memoria distribuida

A

B

Por qué la B es CORRECTA
La clave de la pregunta está en los términos “durabilidad extrema” y “almacenamiento replicado y distribuido”. En cualquier arquitectura moderna de nube (como la que usa BigQuery, por ejemplo), las tareas de cómputo y almacenamiento están separadas.

B. Sistema de archivos distribuido (Colossus): Esta es la capa de almacenamiento. Colossus (el sucesor de Google File System o GFS) es el servicio que físicamente almacena tus datos. Su único trabajo es tomar tus datos, partirlos en pedazos, replicar esos pedazos en múltiples discos y centros de datos, y garantizar que nunca se pierdan (durabilidad extrema) y que siempre estén disponibles (alta disponibilidad). Es la base sobre la que se asientan los demás servicios.

Por qué las otras opciones son INCORRECTAS
A. El cluster de alta disponibilidad de cómputo (Dremel): Dremel es un motor de cómputo (un motor de consultas). Es la parte que procesa los datos, pero no los almacena. Dremel lee los datos desde Colossus (B), ejecuta la consulta (el SELECT, GROUP BY, etc.) y te da el resultado. Si apagas el clúster de Dremel, tus datos siguen seguros en Colossus.

C. El motor de consultas (Query engine): Esta es solo la descripción genérica de la opción A (Dremel). Es la capa de cómputo, no de almacenamiento.

D. La capa de shuffle o intercambio de memoria distribuida: Esta es una capa temporal que solo se usa mientras una consulta se está ejecutando. Cuando Dremel (A) necesita hacer una operación compleja (como un JOIN o GROUP BY masivo), usa esta capa de “shuffle” para que los diferentes nodos de cómputo se pasen datos intermedios. No tiene nada que ver con el almacenamiento permanente o la durabilidad de los datos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

La organización de datos para consultas analíticas a gran escala se realiza típicamente en una jerarquía. ¿Qué unidad es la que organiza y agrupa tablas, similar a un data mart tradicional?

A. Fragmentos de datos (Shards).
B. Proyectos.
C. Vistas (Views).
D. Datasets

A

D

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Cuál es una ventaja clave del almacenamiento orientado a columnas sobre el almacenamiento orientado a filas en sistemas de análisis de petabytes?

A. Requiere la lectura completa de todas las filas para procesar una columna.

B. Permite omitir columnas no utilizadas, leyendo menos datos y más rápido.

C. Soporta indexación o claves de fila, pero no compresión.

D. Está optimizado para transacciones de baja latencia (OLTP).

A

B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Qué características críticas debe soportar el sistema de metadatos físicos de almacenamiento en un almacén de datos moderno? (Respuesta Múltiple)

A. Viajes en el tiempo (Time travel) por un período definido (ej: 7 días).

B. Realización de streaming y compromisos ACID.

C. Limitación de consultas concurrentes a un máximo de diez.

D. Particionamiento y clustering

A

A, B y D

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

En la ejecución de consultas distribuidas, si se realiza una agregación con alta cardinalidad (muchos valores únicos en el campo de agrupación), ¿qué mecanismo se utiliza para evitar que el nodo raíz se sobrecargue?

A. El sistema de archivos distribuido (Colossus).

B. El mecanismo de shuffle (intercambio) que agrupa valores similares en el mismo nodo para procesamiento intermedio.

C. El servidor de metadatos (Metadata server).

D. La optimización estática de consultas basada en costes

A

B

El Problema: La Sobrecarga en Agregaciones de Alta Cardinalidad 🤯
Imagina que tienes miles de millones de registros de ventas y quieres calcular las ventas totales por cada ID_de_cliente. Como hay millones de clientes únicos, esto es una agregación de alta cardinalidad.

En un sistema distribuido, el trabajo se divide entre muchos nodos “trabajadores”. Un enfoque simple sería:

Cada trabajador calcula las ventas para los clientes que ve en su porción de datos.

Luego, todos los trabajadores envían sus resultados parciales (millones de filas de ID_de_cliente y suma_parcial) a un único nodo “raíz” para que este haga la suma final.

El problema es que este nodo raíz se vería inundado con una cantidad masiva de datos de todos los trabajadores, colapsando su memoria y capacidad de procesamiento. Se convertiría en un cuello de botella monumental.

La Solución: El Mecanismo de Shuffle (Intercambio) Shuffle Dance
Aquí es donde entra en juego el mecanismo de shuffle (también conocido como intercambio o reordenación). Es una fase intermedia fundamental en los sistemas de procesamiento distribuido como Spark o BigQuery (Dremel).

El shuffle resuelve el problema de la siguiente manera:

Agregación Local (Etapa 1): Cada nodo trabajador sigue calculando sus sumas parciales como antes.

Shuffle (La Magia Ocurre Aquí): En lugar de enviarlo todo al nodo raíz, el sistema redistribuye los datos entre los propios nodos trabajadores. Usando una función (normalmente un hash sobre el campo de agrupación), se asegura de que todos los registros para el mismo ID_de_cliente terminen en el mismo nodo trabajador.

Por ejemplo, todos los datos del cliente_A van al trabajador_1, todos los del cliente_B al trabajador_2, etc.

Agregación Distribuida (Etapa 2): Ahora, cada nodo trabajador puede calcular la suma final para el subconjunto de clientes que le ha sido asignado.

Resultado Final: El nodo raíz solo necesita recopilar los resultados ya finalizados de cada trabajador, que es una cantidad de datos muchísimo menor y totalmente manejable.

Este proceso de dos etapas evita por completo la sobrecarga del nodo raíz, permitiendo que las agregaciones masivas se realicen de manera paralela y escalable.

Por qué las Otras Opciones son Incorrectas ❌
A. El sistema de archivos distribuido (Colossus): Es donde se almacenan los datos (el “disco duro” del sistema). Es fundamental para que los nodos accedan a la información, pero no es el mecanismo activo que realiza la agregación y evita el cuello de botella.

C. El servidor de metadatos (Metadata server): Almacena información sobre los datos (esquemas, ubicaciones de archivos, etc.). Es el “catálogo”, pero no participa en el procesamiento de los datos en sí.

D. La optimización estática de consultas basada en costes: Este es el “cerebro” que planifica la consulta antes de ejecutarla. El optimizador decide que usar un shuffle es la mejor estrategia, pero el shuffle en sí mismo es el mecanismo que se ejecuta para llevar a cabo ese plan. La opción B describe la acción, no la planificación.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

En el diseño arquitectónico de un servicio distribuido de múltiples regiones y zonas, ¿qué capa es responsable de gestionar la capacidad, los datos y la redundancia de metadatos dentro de una región específica?

A. La Capa Global (Global layer).
B. La Capa de Enrutamiento (Routing layer).
C. La Capa Zonal (Zonal layer).
D. La Capa Regional (Regional layer)

A

D

Por qué la opción D es la correcta
Pensemos en la arquitectura de la nube como una jerarquía de contenedores:

Global: El nivel más alto. Gestiona cosas que son universales, como el enrutamiento de usuarios a la región más cercana o la gestión de identidades de usuario (IAM).

Regional: El nivel medio. Una “Región” (ej. us-central1) es un área geográfica independiente que contiene múltiples “Zonas”.

Zonal: El nivel más bajo. Una “Zona” (ej. us-central1-a) es básicamente un centro de datos. Si una zona falla (ej., se inunda o se queda sin energía), las otras zonas de la misma región no deberían verse afectadas.

La pregunta pide saber quién gestiona la capacidad, los datos y la redundancia de metadatos dentro de una región específica.

La Capa Regional es la respuesta. Su trabajo es precisamente ese: actuar como el “cerebro” de esa región, gestionando la capacidad total (la suma de sus zonas) y asegurándose de que si la Zona A falla, los datos y metadatos estén replicados en las Zonas B y C para que el servicio siga funcionando.

Por qué las otras opciones son incorrectas
A. La Capa Global (Global layer): Es de un nivel demasiado alto. A la capa global le importa la comunicación entre regiones (ej. replicar datos de us-central1 a europe-west1), no la gestión interna de us-central1.

B. La Capa de Enrutamiento (Routing layer): El enrutamiento es una función, no un nivel jerárquico de gestión. Es el mecanismo que usa la capa global (para enviar tráfico a la región) o la capa regional (para balancear la carga entre zonas), pero no es la capa responsable de gestionar la redundancia de datos y la capacidad.

C. La Capa Zonal (Zonal layer): Es de un nivel demasiado bajo. La capa zonal solo “sabe” lo que pasa dentro de su propio centro de datos. No puede gestionar la redundancia fuera de sí misma. De hecho, es la capa regional la que orquesta y gestiona a las capas zonales.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

El formato de almacenamiento columnar propietario Capacitor implementado en el sistema está diseñado para: (Respuesta Múltiple)

A. Mantener la estructura óptima de fragmentación (sharding).

B. Utilizar únicamente codificación de diccionario (dictionary encoding).

C. Implementar sugerencias de metadatos lógicos como particionamiento y clustering.

D. Estar profundamente ligado al motor de ejecución de consultas.

A

A, C y D

Por qué las Opciones A, C y D son CORRECTAS
A. Mantener la estructura óptima de fragmentación (sharding).

Por qué es bueno: BigQuery funciona dividiendo los datos en miles de pequeños “fragmentos” o “shards”. El formato Capacitor es precisamente el que define cómo se estructuran los datos dentro de esos fragmentos. Su diseño permite que Dremel (el motor de consulta) lea y procese estos fragmentos en paralelo de forma masiva, lo cual es la base de su velocidad.

C. Implementar sugerencias de metadatos lógicos como particionamiento y clustering.

Por qué es bueno: El particionamiento y el clustering no son solo ideas abstractas; deben implementarse físicamente en el almacenamiento. El formato Capacitor está diseñado para que, cuando clusterizas una tabla (por ejemplo, por customer_id), los datos se almacenen físicamente ordenados por esa columna. Esto permite al motor de consulta saltarse enormes bloques de datos que no son relevantes, mejorando drásticamente el rendimiento y reduciendo costos.

D. Estar profundamente ligado al motor de ejecución de consultas.

Por qué es bueno: Esta es la ventaja más importante. Capacitor no es un formato genérico (como Parquet u ORC). Fue diseñado a medida para Dremel (el motor de consultas de BigQuery). Dremel sabe exactamente cómo están comprimidos los datos en Capacitor y puede realizar operaciones directamente sobre los datos comprimidos sin necesidad de descomprimirlos por completo. Esta profunda integración entre el almacenamiento (Capacitor) y el cómputo (Dremel) es la clave del rendimiento de BigQuery.

Por qué la Opción B es INCORRECTA
B. Utilizar únicamente codificación de diccionario (dictionary encoding).

Por qué es malo: La palabra clave aquí es “únicamente”. Si bien Capacitor usa la codificación por diccionario (es muy buena para columnas con baja cardinalidad, como “País”), no es la única técnica que usa. Utiliza un conjunto adaptativo de métodos de compresión (como Run-Length Encoding (RLE) para datos repetidos, compresión delta para timestamps, etc.) y elige el mejor para cada columna. Limitarse a una sola técnica sería ineficiente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

El proceso de shuffle (intercambio) es el mecanismo de transferencia de datos entre los trabajadores en la ejecución de consultas. ¿Qué función de planeación y optimización permite este mecanismo?

A. Permite la planificación de consultas estática y predefinida.

B. Actúa como un área de preparación o un mecanismo de particionamiento.

C. Permite la optimización de consultas mediante la ejecución dinámica, reaccionando rápidamente a la observación de la ejecución.

D. Solo maneja la transferencia de datos de salida final.

A

C

Por qué la opción C es la correcta
En un sistema de consultas distribuidas, una consulta compleja se divide en múltiples “etapas” (stages). El shuffle (intercambio) es lo que ocurre entre estas etapas.

Piénsalo como una línea de ensamblaje en una fábrica:

Etapa 1: Un grupo de trabajadores (workers) lee los datos iniciales y hace un filtrado.

Shuffle: Los trabajadores de la Etapa 1 pasan sus piezas (datos) a los trabajadores de la Etapa 2, pero no de forma aleatoria. Los tienen que reorganizar (particionar) para que el siguiente trabajador reciba todas las piezas que necesita.

Etapa 2: El siguiente grupo de trabajadores recibe los datos ya organizados y hace una agregación (ej. GROUP BY).

La opción C es correcta porque los motores modernos (como el de BigQuery) usan el shuffle como un punto de control. El planificador no decide todo el plan de antemano. En su lugar:

Ejecuta la Etapa 1.

En el shuffle, observa cuántos datos realmente se produjeron (ej. “¡Uy! Esta etapa generó 10TB de datos, no los 10GB que estimé”).

Basado en esa observación, puede cambiar el plan dinámicamente para la Etapa 2 (ej. “Necesito asignar 1000 workers más para la Etapa 2 y cambiar el algoritmo de JOIN”).

Por lo tanto, el shuffle es el mecanismo que habilita esta optimización dinámica al actuar como una barrera donde el sistema puede pausar, observar y reaccionar.

Por qué las otras opciones son incorrectas
A. Permite la planificación de consultas estática y predefinida: Esto es lo opuesto a la respuesta correcta. Un plan estático se decide antes de la ejecución y no cambia. El shuffle es solo un paso en ese plan rígido. En cambio, la arquitectura moderna usa el shuffle para evitar ser puramente estática.

B. Actúa como un área de preparación o un mecanismo de particionamiento: Esto es técnicamente cierto, pero incompleto. El shuffle es un mecanismo de re-particionamiento que usa un área de preparación temporal (staging). Sin embargo, esta respuesta describe lo que es el shuffle, no la función de optimización que permite. La opción C describe por qué ese mecanismo es clave para la optimización (porque permite la reacción dinámica).

D. Solo maneja la transferencia de datos de salida final: Esto es falso. El shuffle ocurre entre las etapas intermedias de la consulta. Por ejemplo, antes de un JOIN o un GROUP BY, mucho antes de que se calcule el resultado final que se le mostrará al usuario.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Cuál de las siguientes afirmaciones describe mejor un servicio serverless?

A) Requiere aprovisionamiento manual de servidores antes de usarlo

B) Escala automáticamente y no requiere gestión de infraestructura

C) Solo puede ejecutarse en entornos locales

D) Necesita configuración manual de recursos de red

A

B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Qué característica es típica de un data warehouse moderno en la nube?

A) Dependencia de hardware físico dedicado

B) Optimización exclusiva para cargas batch

C) Separación entre almacenamiento y cómputo

D) Requiere intervención constante de administradores de bases de datos

A

C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Un sistema que organiza los datos en columnas en lugar de filas obtiene como ventaja principal:

A) Menor latencia en escritura
B) Mayor rendimiento en consultas analíticas
C) Mayor complejidad en lectura secuencial
D) Imposibilidad de compresión de datos

A

B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Cuál de las siguientes opciones representa un beneficio clave de un formato de almacenamiento columnar propietario?

A) Dificulta la integración con motores externos
B) Mejora la optimización de ejecución mediante metadatos físicos
C) Reduce la escalabilidad horizontal
D) Impide la compresión eficiente

A

B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Cuál de los siguientes mecanismos permite dividir y distribuir datos para ejecutar operaciones en paralelo?

A) Caching distribuido
B) Particionamiento y sharding
C) Compresión en bloque
D) Replicación síncrona

A

B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

En una arquitectura distribuida, ¿qué rol cumple el scheduler dentro del procesamiento de consultas?

A) Almacenar los datos en formato columnar
B) Orquestar la ejecución y asignación de tareas a los workers
C) Mantener los índices de la tabla
D) Realizar backups automáticos

A

B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Qué beneficio ofrece un enfoque de dynamic query execution frente a un cost-based optimizer estático?

A) Permite ignorar la planificación inicial
B) Ajusta la ejecución en tiempo real según observaciones
C) Elimina la necesidad de particionar los datos
D) Reduce el tiempo de compilación de la consulta

A

B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Selecciona todas las características propias de un servicio de almacenamiento distribuido moderno:

A) Alta durabilidad
B) Replicación entre zonas
C) Escalabilidad automática
D) Dependencia de servidores físicos fijos

A

A, B y C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

¿Qué elemento actúa como capa de intercambio de datos entre nodos en un entorno distribuido?

A) Buffer local
B) Shuffle
C) Cache
D) Queue Manager

A

B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

En un sistema con arquitectura por capas, ¿qué capa se encarga típicamente del enrutamiento global y la localización de regiones?

A) Capa de almacenamiento
B) Capa zonal
C) Capa regional
D) Capa global

A

D

Por qué la D es CORRECTA
D) Capa global: Esta capa es la responsable de los servicios que operan a escala mundial, por encima de las regiones individuales. El “enrutamiento global” (como un balanceador de carga global) es la tecnología que recibe una solicitud de un usuario (en cualquier parte del mundo) y la dirige a la región más cercana o más saludable que pueda atenderla. Por lo tanto, esta capa es la única que tiene la visión y la responsabilidad de “localizar regiones” y enrutar el tráfico entre ellas.

Por qué las otras opciones son INCORRECTAS
A) Capa de almacenamiento: Esta capa (como Colossus o Cloud Storage) se encarga de almacenar los datos de forma duradera y replicada. Aunque es un sistema distribuido globalmente, su trabajo principal no es el enrutamiento de solicitudes de usuario, sino el almacenamiento de los bits.

B) Capa zonal: Esta es la capa más específica. Gestiona los recursos dentro de una sola zona (un único centro de datos). No tiene ninguna visibilidad ni control sobre otras zonas o regiones.

C) Capa regional: Esta capa gestiona y coordina los recursos dentro de una región específica (compuesta por varias zonas). Puede manejar el enrutamiento dentro de esa región, pero no tiene la capacidad de realizar un enrutamiento global hacia otras regiones.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

¿Cuál de las siguientes características es típica en un sistema de almacenamiento columnar?

a) Almacena datos por filas

b) Permite leer solo las columnas necesarias

c) Requiere índices complejos para acceder a los datos

d) No permite la compresión de datos

A

B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

¿Qué principio suele aplicarse para optimizar la ejecución de consultas en arquitecturas distribuidas?

a) Ejecutar todo en un nodo central
b) Paralelizar la ejecución entre múltiples nodos
c) Limitar el uso de memoria
d) Procesar datos secuencialmente

A

B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

¿Qué ventaja clave tiene el procesamiento columnar sobre el procesamiento por filas?

a) Permite compresión por columnas

b) Reduce la necesidad de backups

c) Hace que la actualización de registros sea más rápida

d) Incrementa la latencia

A

A

Por qué la A es CORRECTA
Esta es la ventaja clave (junto con la capacidad de leer solo las columnas que necesitas).

En un sistema por filas, los datos se guardan así: [Fila1: Juan, 30, España], [Fila2: Ana, 25, México], [Fila3: Pedro, 42, España]

En un sistema columnar, los datos se guardan así: [Nombres: Juan, Ana, Pedro], [Edades: 30, 25, 42], [Países: España, México, España]

Como puedes ver, en el formato columnar, todos los datos de la columna “Países” están juntos. Dado que los datos son del mismo tipo y a menudo se repiten (“España”, “España”), el sistema puede aplicar algoritmos de compresión (como Run-Length Encoding) de forma extremadamente eficiente.

Comprimir los datos reduce el espacio que ocupan en disco y, lo que es más importante, significa que se leen muchos menos datos del disco, haciendo que las consultas analíticas (OLAP) sean muchísimo más rápidas.

Por qué las otras opciones son INCORRECTAS
b) Reduce la necesidad de backups: Incorrecto. El formato de almacenamiento (filas o columnas) no tiene ninguna relación con la necesidad de tener copias de seguridad. La necesidad de backups es una política de negocio para protegerse contra la pérdida de datos.

c) Hace que la actualización de registros sea más rápida: Incorrecto. De hecho, es todo lo contrario. Esta es la principal desventaja del almacenamiento columnar. Para actualizar un solo registro (ej. cambiar a “Pedro” a “Argentina”), el sistema tiene que ir a varios archivos de columna diferentes para modificar cada valor. Un sistema por filas es mucho más rápido para esto, ya que todos los datos de Pedro están en un solo lugar.

d) Incrementa la latencia: Incorrecto. El objetivo y la ventaja principal del procesamiento columnar es reducir drásticamente la latencia (el tiempo de respuesta) en consultas analíticas, no incrementarla.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

En un sistema de carga de datos masivos, ¿qué función realiza la partición de datos?

a) Dividir los datos para procesarlos en paralelo
b) Aumentar la redundancia de los datos
c) Eliminar duplicados
d) Limitar el acceso de usuarios

A

A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
¿Qué mecanismo permite separar el almacenamiento y el cómputo en una arquitectura moderna de data warehouse? a) Agrupar ambos en un único servidor b) Utilizar servicios independientes para cada función c) Eliminar la virtualización d) Ejecutar todo en la RAM
B
26
¿Qué propiedad suele garantizar la durabilidad de los datos en una plataforma cloud? a) Replicación distribuida b) Almacenamiento local sin copias c) Actualización manual de hardware d) Restricciones de zona horaria
A
27
¿Qué técnica aumenta la eficiencia en el procesamiento de grandes volúmenes de datos? a) Serialización b) Procesamiento batch c) Vectorización d) Encapsulamiento
C ¿Por qué la "c) Vectorización" es la correcta? En el contexto del procesamiento de grandes volúmenes de datos (Big Data, Data Science, Machine Learning), la vectorización es la técnica reina para la eficiencia computacional. El problema de los bucles: Tradicionalmente, si querías sumar dos columnas de 1 millón de filas, escribías un bucle (for) que sumaba fila por fila (1+1, luego 2+2, etc.). Esto es muy lento porque la CPU tiene que interpretar la instrucción un millón de veces. La solución vectorizada: La vectorización permite aplicar una operación a un array (arreglo) completo de datos de una sola vez. El secreto (SIMD): A nivel de hardware, los procesadores modernos usan instrucciones SIMD (Single Instruction, Multiple Data). Esto significa que con una sola orden del procesador, se pueden sumar múltiples números simultáneamente. Ejemplo: Librerías como NumPy en Python o TensorFlow basan toda su velocidad en la vectorización. Sin ella, procesar Big Data en lenguajes como Python sería imposiblemente lento. ¿Por qué las otras son incorrectas (o confusas)? Aquí hay una opción que suele confundir a muchos (la B), vamos a ver por qué: b) Procesamiento batch (La "trampa" común): ⚠️ Contexto: El procesamiento por lotes (Batch) es un modo de ejecución o una arquitectura, no necesariamente una técnica de optimización de código. Por qué no es la mejor respuesta aquí: Si bien el Batch es eficiente porque reduce la sobrecarga de iniciar y detener tareas (comparado con el streaming), no acelera el cálculo matemático en sí mismo. La Vectorización hace que el cálculo sea intrínsecamente más rápido. Nota: Si la pregunta fuera sobre "¿Cómo gestionar la ingesta de datos para reducir el overhead?", Batch sería la respuesta. Pero al hablar de "eficiencia en el procesamiento" (velocidad de cálculo), Vectorización gana. a) Serialización: ❌ Incorrecta. Explicación: La serialización es el proceso de convertir un objeto en memoria a una secuencia de bytes (para guardarlo en disco o enviarlo por red). Por qué es mala: De hecho, la serialización consume recursos (CPU). Es un "mal necesario" para mover datos, pero no aumenta la eficiencia del procesamiento; a menudo es el cuello de botella que intentamos evitar. d) Encapsulamiento: ❌ Incorrecta. Explicación: Este es un principio de la Programación Orientada a Objetos (POO) que sirve para ocultar los datos internos de una clase. Por qué es mala: Sirve para que el código sea más ordenado, seguro y fácil de mantener, pero no tiene nada que ver con la velocidad o el rendimiento. Un código muy encapsulado podría ser incluso milisegundos más lento (aunque es despreciable) debido a las llamadas a métodos "getters" y "setters".
28
¿Cuál de los siguientes roles permite controlar accesos y permisos en una plataforma de datos? a) Backup b) Gobernanza c) Compresión d) Monitoreo
B
29
¿Cuál es una característica distintiva de los sistemas serverless? a) El usuario gestiona todos los servidores b) Provisión automática de recursos c) Requiere configuración manual de la red d) No soporta escalabilidad
B
30
¿Cuál de las siguientes afirmaciones describe mejor un almacén de datos (data warehouse) sin servidor (serverless)? a) Un almacén de datos que requiere aprovisionamiento y gestión manual de servidores. b) Un almacén de datos donde la infraestructura subyacente es gestionada por el proveedor de la nube, y los usuarios no necesitan aprovisionar ni gestionar servidores. c) Un almacén de datos al que solo se puede acceder a través de una interfaz de línea de comandos. d) Un almacén de datos diseñado exclusivamente para el procesamiento de datos a pequeña escala.
B
31
¿Cuál es una ventaja clave de un almacén de datos moderno en comparación con uno tradicional? a) Requiere más administradores de bases de datos para las tareas operativas. b) Está optimizado principalmente para el procesamiento de datos por lotes (batch). c) Automatiza la entrega de datos y simplifica las operaciones de datos. d) Está restringido a un número reducido de usuarios.
C
32
¿Cuáles de las siguientes son capacidades típicas de un almacén de datos moderno? (Selecciona todas las que apliquen) a) Consultas SQL interactivas sobre grandes conjuntos de datos. b) Capacidades de aprendizaje automático (machine learning) integradas. c) Arquitectura sin servidor (serverless). d) Requisito de aplicación manual de parches y actualizaciones.
A, B y C
33
¿Cuál es el principal beneficio de desacoplar el almacenamiento y el cómputo en la arquitectura de un almacén de datos? a) Simplifica la interfaz de usuario. b) Permite el escalado independiente de los recursos de almacenamiento y de cómputo, proporcionando la máxima flexibilidad. c) Reduce el número de librerías de cliente compatibles. d) Elimina la necesidad de una red.
B
34
En un entorno en la nube, ¿cuál es la diferencia entre una región y una zona? a) Una región es un único centro de datos, mientras que una zona es una colección de centros de datos. b) Una zona es un área de despliegue dentro de una región, y una región se compone de múltiples zonas. c) Regiones y zonas son términos intercambiables para el mismo concepto. d) Una región se utiliza para los recursos de cómputo, mientras que una zona se utiliza para los recursos de almacenamiento.
B
35
¿Cuáles son los principios clave de diseño de la arquitectura de un almacén de datos nativo en la nube y de alto rendimiento? (Selecciona todas las que apliquen) a) Separación del almacenamiento y el cómputo. b) Fuerte acoplamiento del almacenamiento y el cómputo para mayor simplicidad. c) Integración con el ecosistema más amplio de la nube para la seguridad y la experiencia del usuario. d) Dependencia de un único servidor para todo el procesamiento.
A y C
36
¿Cuál es una característica principal del almacenamiento orientado a columnas? a) Almacena los datos fila por fila, lo que lo hace eficiente para cargas de trabajo transaccionales. b) Almacena los datos columna por columna, lo que permite una mejor compresión y lecturas más rápidas en consultas analíticas que solo acceden a un subconjunto de columnas. c) Es más lento para las consultas analíticas que el almacenamiento orientado a filas. d) No admite la compresión de datos.
B
37
¿Cuál es el propósito de particionar (sharding) una tabla grande en una base de datos distribuida? a) Hacer que la tabla sea más difícil de consultar. b) Dividir la tabla en piezas más pequeñas y manejables (shards) para permitir el procesamiento en paralelo de lecturas y operaciones. c) Almacenar toda la tabla en una sola máquina. d) Reducir el número de filas de la tabla.
B
38
¿Cuáles son algunos de los beneficios de usar un formato de almacenamiento columnar? (Selecciona todas las que apliquen) a) Leer menos datos en consultas que no necesitan todas las columnas. b) Compresión de datos ineficiente. c) Capacidad de omitir las columnas no utilizadas. d) Soporte para el procesamiento vectorizado.
A, C y D
39
En un modelo de ejecución de consultas distribuidas, ¿cuál es el rol de un "worker"? a) Recibir la consulta inicial del usuario. b) Realizar una parte del procesamiento de los datos en paralelo con otros workers. c) Almacenar los resultados finales de la consulta. d) Gestionar la interfaz de usuario.
B
40
¿Cuál es el principal desafío al realizar una agregación en una columna de alta cardinalidad en un sistema distribuido sin una fase de shuffle? a) El nodo raíz puede convertirse en un cuello de botella al tener que procesar un gran número de valores únicos. b) La consulta siempre fallará en su ejecución. c) Los resultados serán incorrectos. d) Reduce la velocidad general de la consulta.
A
41
¿Qué componentes suelen estar involucrados en el ciclo de vida interno de una consulta SQL distribuida? (Selecciona todas las que apliquen) a) Un cliente que envía la consulta. b) Un enrutador (router) para dirigir la consulta a la región correcta. c) Un maestro de consulta (query master) para coordinar la ejecución. d) Un único motor de base de datos monolítico.
A, B y C Por qué a), b), y c) son correctas Una consulta SQL distribuida (como en BigQuery, Spanner o Presto) no se ejecuta en una sola máquina. Se divide y se procesa en paralelo a través de muchos nodos, a veces en diferentes ubicaciones geográficas. a) Un cliente que envía la consulta. Correcto. Este es el punto de partida de cualquier consulta. El "ciclo de vida" comienza cuando un cliente (ya sea una aplicación, una herramienta de BI, o un usuario en una consola) envía la instrucción SQL al sistema. b) Un enrutador (router) para dirigir la consulta a la región correcta. Correcto. En un sistema distribuido geográficamente, la consulta del cliente no llega directamente a los datos. Primero llega a un "router" o "gateway" global. Este componente analiza la consulta para entender qué datos necesita (qué tablas, qué particiones) y luego la reenvía al "maestro de consulta" (opción c) en la región o centro de datos más apropiado para coordinar esa consulta. c) Un maestro de consulta (query master) para coordinar la ejecución. Correcto. Este es el "cerebro" de la consulta distribuida. Una vez que el router le pasa la consulta, el maestro (a veces llamado "coordinador") se encarga de: Crear un plan de ejecución (un DAG). Dividir el trabajo en tareas más pequeñas. Enviar esas tareas a los nodos "trabajadores" (workers) que realmente almacenan los datos. Esperar y agregar los resultados parciales de todos los trabajadores. Enviar el resultado final de vuelta al cliente. Por qué d) es incorrecta d) Un único motor de base de datos monolítico. Incorrecto. Esta es la definición de lo opuesto a un sistema distribuido. Un sistema "monolítico" (como una instalación estándar de MySQL o PostgreSQL en un solo servidor) maneja toda la consulta en una sola máquina. El concepto de "consulta distribuida" implica, por definición, la ausencia de un único motor que lo haga todo.
42
¿Cuál es la función de la operación "shuffle" en la ejecución de una consulta distribuida? a) Reordena aleatoriamente las filas en el conjunto de resultados final. b) Es un mecanismo de transferencia de datos que redistribuye los datos entre los workers, a menudo basándose en una clave, para facilitar el procesamiento en paralelo de operaciones como uniones (joins) y agregaciones. c) Elimina los datos intermedios para liberar memoria. d) Solo se utiliza para ordenar los datos en orden ascendente.
B
43
¿Cómo ayuda el "shuffle" a la escalabilidad en consultas de agregación con una cláusula LIMIT? a) Aumenta la cantidad de datos que necesita procesar el nodo raíz. b) Permite que los nodos intermedios devuelvan solo un número limitado de los resultados principales, evitando que el nodo final se vea sobrecargado. c) Obliga a que todo el conjunto de datos se procese en un único nodo. d) No tiene ningún impacto en la escalabilidad.
B
44
¿Cuáles son las decisiones de diseño clave para un motor de ejecución de consultas que utiliza "shuffle"? (Selecciona todas las que apliquen) a) Desacoplar la planificación (scheduling) de la planificación de consultas (query planning). b) Utilizar una optimización de consultas estática y basada en costes. c) Emplear una ejecución dinámica de consultas para reaccionar a las condiciones en tiempo de ejecución. d) Acoplar fuertemente la planificación y la planificación de consultas.
A y C
45
En un data warehouse moderno, ¿cuál es una ventaja principal de la separación entre almacenamiento y cómputo? A) Requiere provisionamiento manual de recursos. B) Permite escalabilidad petabyte sin alta disponibilidad. C) Facilita la flexibilidad multiinquilino y serverless. D) Obliga a parches continuos en hardware.
C
46
¿Cuáles son características clave de un data warehouse que soporta consultas interactivas sobre datasets grandes? (Selecciona todas las que apliquen.) A) Procesamiento vectorizado columnar. B) Compresión por filas para alta cardinalidad. C) Ecosistema de herramientas de visualización y ETL. D) Optimización solo para datos en batch legacy.
A y C
47
¿Cuáles son beneficios del almacenamiento columnar en un data warehouse comparado con el orientado a filas? (Selecciona todas las que apliquen.) A) Lectura más rápida de datos selectivos. B) Compresión eficiente por columnas. C) Soporte para procesamiento vectorizado. D) Obligatorio para todas las operaciones de inserción en streaming.
A, B y C
48
¿Qué estructura organiza tablas en unidades lógicas en un data warehouse para facilitar el acceso controlado? A) Shards distribuidos por filas. B) Datasets como contenedores jerárquicos. C) Vistas externas sin esquema. D) Grants directos en hardware físico.
B ✅ La Respuesta Correcta: B) Datasets como contenedores jerárquicos ¿Qué es un Dataset? En el contexto de un data warehouse como BigQuery, un "Dataset" (conjunto de datos) es la unidad lógica que actúa como un contenedor de nivel superior. Es conceptualmente similar a un "esquema" (schema) en las bases de datos tradicionales. ¿Cómo organiza tablas? Todas tus tablas, vistas y funciones residen dentro de un dataset. ¿Cómo facilita el acceso controlado? Esta es la clave. En Google Cloud, los permisos de IAM (Identidad y Gestión de Accesos) se aplican a nivel de proyecto, a nivel de dataset, o (más recientemente) a nivel de tabla/vista. El "Dataset" es la estructura principal y más común para agrupar tablas (ej. ventas, marketing, finanzas) y luego dar permisos a grupos de usuarios sobre ese dataset completo (ej. "El equipo de finanzas puede ver todo en el dataset finanzas"). ¿Jerárquico? Sí, la jerarquía es: Proyecto > Dataset > Tabla. ❌ Por Qué las Otras Opciones Son Incorrectas A) Shards distribuidos por filas: Un "shard" (fragmento) es un concepto de almacenamiento físico o de arquitectura de base de datos, no una unidad lógica de organización para permisos. Se refiere a cómo una tabla enorme se divide y distribuye entre múltiples nodos para mejorar el rendimiento. No es un contenedor lógico. C) Vistas externas sin esquema: Una "vista externa" (o tabla externa) es un objeto dentro de un dataset, al mismo nivel que una tabla, no un contenedor para tablas. Es un puntero a datos que viven fuera del data warehouse (ej. en un data lake como Cloud Storage). D) Grants directos en hardware físico: Esto no tiene sentido en un data warehouse en la nube. Estos servicios son "serverless" o gestionados, lo que significa que el usuario está completamente abstraído del hardware físico. Los permisos ("grants") se aplican a recursos lógicos (proyectos, datasets, tablas), nunca al hardware.
49
En un data warehouse, ¿qué formato columnar propietario optimiza sharding y metadatos lógicos como particionamiento? A) JSON auto-describiente sin compresión. B) Formato con codificación de diccionario y filtros Bloom. C) Estructura row-oriented para alta durabilidad. D) Esquema manual sin reordenamiento de filas.
B
50
¿Cuáles son características de metadatos físicos en un data warehouse que soportan transacciones ACID y viaje en el tiempo? (Selecciona todas las que apliquen.) A) Soporte para commits atómicos. B) Backups off-region para durabilidad. C) Optimización de almacenamiento activo. D) Particionamiento solo por fecha sin clustering.
A, B y C
51
¿Qué capa global en la arquitectura de un data warehouse maneja el enrutamiento a regiones específicas? A) Capa zonal para cómputo backend. B) Capa regional para redundancia de metadatos. C) Capa global para componentes de ruteo distribuidos. D) Capa de almacenamiento Colossus local.
C C. Capa global para componentes de ruteo distribuidos. Esta es la respuesta correcta porque describe exactamente cómo funcionan los servicios a gran escala de Google Cloud, como BigQuery (que es el data warehouse implícito en la pregunta). Arquitectura de BigQuery: BigQuery tiene una arquitectura desacoplada: el almacenamiento (Colossus) está separado del cómputo (Dremel). Sin embargo, por encima de todo eso, tiene una capa de control global. Frontend Global: Cuando tú envías una consulta a BigQuery (por ejemplo, desde la consola o la API), te conectas a un endpoint global. No te conectas directamente a la región us-central1 o europe-west2. Enrutamiento: Esta capa global (un servicio de frontend distribuido mundialmente) recibe tu consulta. Su trabajo es analizarla, consultar los metadatos para saber dónde viven tus datos (en qué región), y luego enrutar la solicitud de cómputo a los clústeres de Dremel en esa región específica para que la ejecuten. Por lo tanto, la "Capa global" es la que maneja el "enrutamiento a regiones específicas". Por qué las Otras Opciones son Incorrectas A. Capa zonal para cómputo backend. Incorrecto: "Zonal" es lo opuesto a "Global". El cómputo ocurre en las zonas (dentro de una región), pero esta capa no es la que maneja el enrutamiento global. Es el destino del enrutamiento. B. Capa regional para redundancia de metadatos. Incorrecto: "Regional" tampoco es "Global". Los metadatos sí existen a nivel regional, pero esta no es la capa que enruta las consultas. D. Capa de almacenamiento Colossus local. Incorrecto: Colossus es la capa de almacenamiento, no de enrutamiento. Además, el término "local" (que implicaría zonal o regional) es incorrecto; se necesita una capa global para enrutar hacia las ubicaciones locales.
52
En el procesamiento distribuido de consultas, ¿qué rol coordina tareas entre workers y maneja agregaciones parciales? A) Almacenamiento replicado. B) Master con scheduler para etapas secuenciales. C) Shuffle como operador de intercambio fijo. D) API de metadatos para inserciones.
B
53
¿Cuáles son APIs típicas en un data warehouse para gestionar jobs y datos? (Selecciona todas las que apliquen.) A) API para ejecutar consultas SQL o scripts. B) API para leer/escribir tablas directamente. C) API para crear datasets y rutinas. D) API para reservas de capacidad manual.
A, B y C
54
¿Qué mecanismo resuelve problemas de cardinalidad alta en agregaciones distribuidas, evitando sobrecarga en nodos raíz? A) Procesamiento secuencial sin intercambio. B) Shuffle para particionar valores similares en nodos. C) Compresión row-oriented en etapas iniciales. D) Limitación estricta antes de GROUP BY.
B
55
En un data warehouse, ¿qué regla de optimización sugiere probar consultas antes de aplicar prácticas avanzadas? A) Optimizar siempre para batch legacy. B) Ignorar pruebas si es serverless. C) No optimizar prematuramente si corre rápido y barato. D) Aplicar shuffling en todas las etapas.
C Por qué la Opción C es la Correcta C. No optimizar prematuramente si corre rápido y barato. Esta respuesta es la encarnación de una de las reglas de oro más famosas en la ingeniería de software, popularizada por Donald Knuth: "La optimización prematura es la raíz de todos los males". ¿Qué significa? Significa que no debes gastar tiempo y esfuerzo en hacer que un código (en este caso, una consulta SQL) sea más complejo o "avanzado" antes de saber si realmente tienes un problema. El Proceso Correcto: La regla que sugiere la pregunta es: Escribe tu consulta de la forma más clara y sencilla posible. Pruébala (Test query). Mide su rendimiento: ¿Es lo suficientemente "rápido"? ¿Es lo suficientemente "barato" (en un sistema serverless como BigQuery, esto es crucial)? Si la respuesta a ambas preguntas es SÍ, detente. No necesitas aplicar "prácticas avanzadas" (optimización prematura). Tu trabajo ha terminado. Si la respuesta es NO, entonces (y solo entonces) empiezas a optimizar. Esta opción es la única que captura esa lógica de "probar primero y optimizar solo si es necesario". Por qué las Otras Opciones son Incorrectas A. Optimizar siempre para batch legacy. Incorrecto: Esta es una regla demasiado específica y a menudo anticuada. Los data warehouses modernos no son solo "batch legacy" (lotes heredados); manejan streaming, consultas interactivas y mucho más. Optimizar para un solo patrón es una mala práctica. B. Ignorar pruebas si es serverless. Incorrecto: Esto es un consejo terrible y peligroso. En un entorno serverless (como BigQuery), las pruebas son más importantes que nunca. Una consulta mal escrita puede ser funcionalmente correcta pero costar miles de dólares al escanear petabytes de datos por accidente. Siempre se debe probar. D. Aplicar shuffling en todas las etapas. Incorrecto: Esto es lo opuesto a una optimización. El "shuffling" (barajado) es el proceso de redistribuir físicamente los datos entre los nodos de procesamiento. Es una de las operaciones más lentas y costosas en un data warehouse distribuido. El objetivo de la optimización es evitar o minimizar el shuffling, no aplicarlo en todas partes.
56
¿Cuáles son capacidades que hacen un data warehouse ideal para insights en tiempo real y ML? (Selecciona todas las que apliquen.) A) Datos actualizados al minuto. B) Integración de machine learning nativo. C) Consultas interactivas en segundos sobre petabytes. D) Dependencia de DBAs para parches.
A, B y C Por qué A, B y C son correctas A) Datos actualizados al minuto. Para obtener "insights en tiempo real", necesitas datos que reflejen la realidad ahora mismo. La capacidad de ingerir datos de streaming (actualizados al segundo o al minuto) es fundamental. Los data warehouses antiguos, que solo se cargaban una vez por noche (procesos batch), no sirven para el análisis en tiempo real. B) Integración de machine learning nativo. La pregunta menciona "ML" explícitamente. Tradicionalmente, para hacer ML, tenías que exportar (ETL) los datos del data warehouse a otra herramienta. Un data warehouse ideal para ML permite crear y ejecutar modelos dentro del propio almacén (usando SQL, por ejemplo). Esto elimina la fricción, acelera enormemente el proceso y permite que los analistas de datos usen ML sin ser expertos en infraestructura. C) Consultas interactivas en segundos sobre petabytes. Esta es la combinación clave: velocidad ("consultas interactivas en segundos") y escala ("sobre petabytes"). Los "insights en tiempo real" no son posibles si tienes que esperar horas a que termine una consulta. La capacidad de analizar cantidades masivas de datos de forma casi instantánea es el pilar de un data warehouse moderno. Por qué D es incorrecta D) Dependencia de DBAs para parches. Esto es lo opuesto a una capacidad ideal. Es una característica de los sistemas antiguos on-premise (locales) que requieren mantenimiento manual constante (actualizaciones, parches de seguridad, afinamiento). Un data warehouse moderno e ideal para análisis en tiempo real es serverless (sin servidor) o gestionado por el proveedor de la nube. Esto elimina la "dependencia de DBAs para parches", liberando al equipo para que se enfoque en el análisis en lugar de en el mantenimiento, y garantizando que el sistema esté siempre actualizado y disponible.
57
¿Qué enfoque de ejecución de consultas usa observación dinámica para reaccionar rápidamente en lugar de optimización estática basada en costos? A) Planificación estática con costos fijos. B) Optimización dinámica durante ejecución. C) Acoplamiento de scheduling y planning. D) Procesamiento solo en una sola zona.
B
58
En regiones multi-región de un data warehouse, ¿cuál es una ventaja principal sobre regiones únicas? A) Mayor costo por capacidad fija. B) Planificación flexible y durabilidad mejorada con backups off-region. C) Residencia de datos estricta en una jurisdicción. D) Menos zonas para fallos.
B
59
¿Cuáles son técnicas de compresión en formatos columnales de data warehouses? (Selecciona todas las que apliquen.) A) Codificación de diccionario para baja cardinalidad. B) Filtros Bloom para alta cardinalidad. C) Codificación run-length. D) Compresión general por filas enteras.
A, B y C
60
¿Qué capa zonal en la arquitectura maneja el cómputo y almacenamiento backend en un data warehouse? A) Capa global de ruteo. B) Capa regional de capacidad. C) Capa zonal con trees para workers. D) Capa de API pública.
C Por qué la respuesta C es la correcta C) Capa zonal con trees para workers. (Capa zonal con árboles para trabajadores.) Esta es la respuesta correcta porque describe exactamente dónde y cómo se produce el trabajo pesado (cómputo y almacenamiento) en un data warehouse distribuido. "Capa zonal": El cómputo (CPU, RAM) y el almacenamiento (discos) son recursos físicos que se encuentran en un centro de datos específico, es decir, en una zona de disponibilidad. "Cómputo y almacenamiento backend": El trabajo real de procesar una consulta (cómputo) y leer/escribir los datos (almacenamiento) no lo hace una sola máquina, sino un ejército de "trabajadores" (workers). "Trees para workers" (Árboles para trabajadores): Este es el término clave. Cuando envías una consulta SQL, el sistema la compila en un árbol de ejecución. La raíz de este árbol coordina el trabajo, pero las "hojas" del árbol son miles de workers o slots. Estos workers son los que están en la capa zonal; ellos escanean los datos (almacenamiento) que les tocan, realizan los cálculos (cómputo), y luego van pasando los resultados "hacia arriba" del árbol. Por lo tanto, esta capa es la que maneja el backend real del trabajo. Por qué las otras respuestas son incorrectas A) Capa global de ruteo. Incorrecto. Esta es una capa de red, no de cómputo. Su único trabajo es recibir tu solicitud desde cualquier parte del mundo y dirigirla a la región correcta (ej. de Europa a europe-west1). No procesa la consulta. B) Capa regional de capacidad. Incorrecto. Esta es una capa de gestión u orquestación. Su trabajo es recibir la consulta (que ya llegó a la región) y decidir a qué zona dentro de esa región la envía, basándose en la carga de trabajo y los recursos disponibles. Es un "controlador de tráfico" regional, pero no es el motor que hace el trabajo. D) Capa de API pública. Incorrecto. Esta es la capa de frontend o la puerta de entrada. Es la interfaz que recibe tu comando SQL, verifica tus permisos (autenticación/autorización) y acepta el trabajo. Es la "recepción" del hotel, no las habitaciones ni el personal de limpieza.
61
En el flujo de una consulta SQL en un data warehouse, ¿dónde se almacenan los resultados para visualización? A) En archivos externos sin esquema. B) En tablas permanentes o temporales. C) Directamente en shuffle distribuido. D) En metadatos de proyectos.
B
62
¿Cuáles son roles en la ejecución interna de una consulta distribuida? (Selecciona todas las que apliquen.) A) Job server para metadata de jobs. B) Query master para scheduling. C) Worker para procesamiento parcial. D) Router solo para inserciones streaming.
A, B y C ¿Por qué A, B y C son las correctas? Para entender esto, imagina una cocina gigante de un restaurante (el sistema distribuido) que tiene que preparar un banquete enorme (la consulta de Big Data). Una sola persona no puede hacerlo, así que se dividen los roles: 1. Job Server (El Recepcionista) - Opción A Su función: Es la puerta de entrada. Cuando tú envías una consulta ("Quiero saber las ventas de 10 años"), no se la das directamente a los cocineros. Se la das al Job Server. ¿Qué hace? Valida que tengas permiso, comprueba que la sintaxis sea correcta y guarda los metadatos ("Quién pidió esto", "A qué hora", "Estado del pedido"). Mantiene el control administrativo del trabajo. 2. Query Master (El Jefe de Cocina) - Opción B Su función: Una vez aceptado el trabajo, alguien tiene que pensar cómo hacerlo. Este es el cerebro de la operación. ¿Qué hace? Analiza la consulta SQL y crea un plan de ejecución. Divide la gran pregunta en miles de tareas pequeñitas. Luego, hace el scheduling (programación), asignando esas tareas a los trabajadores disponibles. 3. Worker (Los Cocineros) - Opción C Su función: Son los que realmente se ensucian las manos. En la arquitectura de Google, a menudo se llaman Leaf Nodes (nodos hoja). ¿Qué hace? Cada worker recibe un trocito muy pequeño de los datos (un "shard" o fragmento). Lee esos datos del disco, hace el filtrado y la suma parcial de su trocito, y devuelve ese resultado parcial hacia arriba. Ejemplo: Si pides sumar todas las ventas, un worker suma las de enero, otro las de febrero, etc. Nadie tiene el total completo todavía, solo partes. ¿Por qué la D es incorrecta? D) Router solo para inserciones streaming ❌ Incorrecta en este contexto. El motivo: La pregunta es sobre la ejecución de una consulta (leer y procesar datos), no sobre la ingesta (meter datos). La trampa: Si bien existen componentes que enrutan datos cuando entran en tiempo real (streaming ingestion), esto no forma parte del árbol de decisión estándar para resolver una consulta SQL que ya está guardada. Además, la palabra "solo" suele ser una señal de alerta en estos exámenes. El enrutamiento de consultas es complejo y no se limita únicamente a inserciones. Resumen de la Jerarquía (Arquitectura de Árbol) Visualiza la consulta fluyendo de arriba a abajo y los datos de abajo a arriba: Usuario → Envía SQL. Job Server (A) → Gestiona la petición. Query Master (B) → Planifica y manda órdenes. (Mixers) → (Intermediarios que juntan resultados, a veces implícitos). Workers (C) → Leen los datos crudos y procesan.
63
¿Qué operador similar al exchange en ejecución paralela de consultas permite cambiar el grado de paralelismo? A) MapReduce secuencial sin intercambio. B) Shuffle como pluggable para inputs/outputs particionados. C) Filtro global en master único. D) Almacenamiento en memoria local.
B
64
En agregaciones con LIMIT, ¿por qué el shuffling es escalable para alta cardinalidad? A) Retorna todos los datos al nodo raíz. B) Particiona para no exceder LIMIT por nodo intermedio. C) Ignora GROUP BY en etapas parciales. D) Usa compresión row en shuffle.
B
65
¿Cuáles son principios de diseño para alto rendimiento a bajo costo en data warehouses? (Selecciona dos) A) Stack integrado hardware/software. B) Colocación y caching de datos. C) Separación de storage y compute. D) Enfoque solo en single-tenant.
B y C ✅ Las Respuestas Correctas (B y C) C) Separación de storage y compute (Almacenamiento y Cómputo) Este es el principio de diseño más importante de un data warehouse en la nube moderno. Qué significa: El sistema que almacena los datos (el storage, que es barato y escalable, como Google Cloud Storage o S3) está completamente separado del sistema que ejecuta las consultas (el compute, los CPUs/slots/nodos que procesan). Por qué da Alto Rendimiento: Puedes escalar el cómputo de forma independiente. Si necesitas ejecutar una consulta masiva, puedes pedir prestados 10,000 CPUs durante 5 minutos para hacerlo súper rápido, sin estar limitado por el hardware físico donde están los datos. Por qué da Bajo Costo: Los datos "en reposo" viven en almacenamiento de objetos, que es la forma de almacenamiento más barata que existe. Pagas por el cómputo (los CPUs) solo cuando los estás usando (pago por consulta o por segundo). No pagas por un clúster masivo y ocioso 24/7. B) Colocación y caching de datos Este principio se centra en ser inteligente sobre cómo se guardan y acceden a los datos para reducir el trabajo. Caching (Caché): Almacenar los resultados de consultas frecuentes en memoria (RAM) o en discos SSD muy rápidos. Rendimiento/Costo: Si vuelves a ejecutar la misma consulta, el resultado se devuelve al instante desde la caché. Esto es un rendimiento casi infinito sin ningún costo de cómputo adicional. Colocación (Data Placement): Se refiere a técnicas como el particionamiento y el clustering. Particionamiento: Dividir una tabla por fecha (ej. una partición por día). Si consultas "solo los datos de ayer", el sistema ignora (poda) el 99% de la tabla. Clustering: Ordenar físicamente los datos por una columna común (ej. ID_cliente). Si pides los datos de un cliente, se leen en un solo bloque contiguo. Rendimiento/Costo: Ambas técnicas reducen drásticamente la cantidad de datos que el sistema tiene que leer del disco (I/O). Menos datos leídos = consulta más rápida y costo más bajo. ❌ Las Respuestas Incorrectas (A y D) A) Stack integrado hardware/software: Esto describe el modelo antiguo de data warehouse: el appliance (como Teradata, Netezza u Oracle Exadata). En este modelo, compras una caja física donde el hardware y el software están optimizados juntos. Ofrece alto rendimiento, pero a un costo altísimo. Tienes que comprar todo el hardware por adelantado (CapEx) y pagas por él 24/7, incluso si no lo usas. Es lo opuesto a "bajo costo". D) Enfoque solo en single-tenant: "Single-tenant" (un solo inquilino) significa que tienes hardware dedicado solo para ti. Esto es, de nuevo, el modelo appliance o de "instancia reservada". Es caro porque no compartes recursos. El principio clave de la nube que permite el "bajo costo" es el multi-tenant (multi-inquilino), donde los recursos (CPU, memoria, red) están en un pool gigante compartido por miles de clientes, permitiendo economías de escala y que tú solo pagues por la fracción que usas.
66
¿Qué característica de un data warehouse soporta ingestión streaming y carga bulk gratuita? A) Almacenamiento row-oriented. B) Infraestructura con ingestión streaming y bulk loading. C) Optimización solo para exports. D) Esquema sin modos nullable.
B
67
En ejecución de agregaciones distribuidas, ¿qué etapa usa shuffle para combinar MAX parciales antes de SORT y LIMIT? A) Etapa 1: Filtros iniciales. B) Etapa 2: GROUP BY parcial y shuffle. C) Etapa 3: Solo output final. D) Etapa sin workers.
B
68
¿Cuál es una característica fundamental de la arquitectura de un almacén de datos moderno que le permite escalar de forma independiente los recursos de almacenamiento y de procesamiento? A.Desacoplamiento de almacenamiento y cómputo. B.Acoplamiento estricto de almacenamiento y cómputo. C.Una arquitectura monolítica. D.Almacenamiento exclusivamente en memoria.
A
69
¿Qué término describe un servicio en la nube donde el proveedor gestiona toda la infraestructura subyacente, liberando al usuario de tareas como el aprovisionamiento de servidores y el mantenimiento? A.Infraestructura como Servicio (IaaS). B.Sin servidor (Serverless). C.Plataforma como Servicio (PaaS). D.Software como Servicio (SaaS).
B ✅ La Respuesta Correcta: B) Sin servidor (Serverless) "Sin servidor" o "Serverless" es un modelo de computación en la nube donde el proveedor de la nube (Google, AWS, Azure) se encarga de ejecutar el código en nombre del usuario, gestionando dinámica y automáticamente toda la asignación de recursos. ¿Por qué encaja? El usuario se libera completamente de las tareas mencionadas. No hay que "aprovisionar" (elegir un tamaño de VM), ni "mantener" (actualizar el SO, aplicar parches de seguridad). ¿Cómo funciona? El desarrollador simplemente sube su código (ej. una "Cloud Function" o un contenedor "Cloud Run") y el proveedor se encarga de ejecutarlo cuando recibe una petición. Si no hay peticiones, no hay nada en ejecución (escala a cero). Si llegan 10,000 peticiones, el proveedor escala automáticamente los recursos para manejarlas. Conclusión: Es el modelo que ofrece la máxima abstracción de la infraestructura. ❌ Por Qué las Otras Opciones Son Incorrectas A. Infraestructura como Servicio (IaaS): Este es el modelo opuesto a la descripción. En IaaS (ej. Google Compute Engine, AWS EC2), el proveedor te da los "bloques de construcción" (VMs, redes, discos), pero tú eres el responsable de "aprovisionar servidores" (elegir el tipo de máquina, el SO) y de "mantenerlos" (actualizar, parchar). C. Plataforma como Servicio (PaaS): Esta es la opción más cercana y el distractor más común. En PaaS (ej. Google App Engine, Heroku), el proveedor gestiona el SO y el runtime (ej. Python, Java). Por qué es menos correcta que Serverless: Aunque PaaS te libera de mucho mantenimiento, a menudo todavía tienes que configurar cómo escala tu "aplicación" (ej. número mínimo/máximo de instancias). El modelo "Serverless" (específicamente FaaS - Functions as a Service) lleva esto un paso más allá, eliminando por completo el concepto de "instancia" o "servidor" de la vista del desarrollador. "Serverless" es la definición de no gestionar servidores. D. Software como Servicio (SaaS): Este modelo es para el usuario final, no para el desarrollador. En SaaS (ej. Gmail, Salesforce, Looker), el proveedor lo gestiona todo, pero tú no despliegas código, simplemente usas un software ya hecho. La pregunta habla de "aprovisionamiento de servidores" y "mantenimiento", que son tareas de un equipo de desarrollo u operaciones, no de un usuario final.
70
Para optimizar las consultas analíticas que leen grandes volúmenes de datos pero solo necesitan acceder a un subconjunto de columnas, ¿qué tipo de almacenamiento es más eficiente? A.Almacenamiento de clave-valor. B.Almacenamiento basado en documentos (JSON/XML). C.Almacenamiento orientado a columnas. D.Almacenamiento orientado a filas.
C
71
¿Cómo se logra un procesamiento de consultas masivamente paralelo en sistemas de big data? A.Utilizando únicamente indexación avanzada en los datos. B.Dividiendo la consulta en múltiples etapas y tareas que se ejecutan en un clúster de nodos. C.Procesando los datos de forma secuencial para garantizar la consistencia. D.Ejecutando la consulta en un único servidor muy potente.
B
72
En un sistema de gestión de datos, ¿cómo se denomina a la unidad de organización que agrupa tablas y vistas relacionadas? A.Esquema. B.Proyecto. C.Dataset o conjunto de datos. D.Tabla.
C
73
En el procesamiento de datos distribuidos, ¿cuál es el propósito de la operación de 'shuffle' o mezcla? A.Redistribuir los datos entre los nodos del clúster para agrupar claves iguales. B.Cifrar los datos durante la transferencia. C.Comprimir los datos antes de almacenarlos. D.Realizar una copia de seguridad de los datos.
A
74
¿Qué ventaja ofrece el uso de un formato de almacenamiento columnar propietario y optimizado internamente en un data warehouse? A.Formato de código abierto que permite la contribución de la comunidad. B.Compatibilidad garantizada con todas las herramientas de BI de terceros sin necesidad de conectores. C.Una integración profunda con el motor de ejecución de consultas para maximizar el rendimiento. D.Facilidad para leer los datos con cualquier editor de texto estándar.
C
75
¿Qué modelo de asignación de recursos permite a un sistema de data warehouse manejar cargas de trabajo variables sin necesidad de que el usuario aprovisione y pague por adelantado una capacidad fija? A.Modelo de licencia perpetua. B.Aprovisionamiento estático. C.Capacidad reservada obligatoria. D.Asignación bajo demanda.
D
76
La capacidad de consultar el estado de una tabla en un punto específico del pasado reciente (por ejemplo, hace 24 horas) se conoce como: A.Viaje en el tiempo (Time Travel). B.Copia de seguridad y restauración. C.Versionado de esquemas. D.Instantáneas (Snapshots) manuales.
A
77
Una consulta compleja que implica agregaciones y ordenamientos sobre una gran cantidad de datos se ejecuta típicamente en: A.Una única etapa monolítica para simplificar el proceso. B.Una etapa que solo lee los metadatos de la tabla. C.Un proceso que envía todos los datos a un único nodo para el cómputo final. D.Múltiples etapas, incluyendo fases de lectura, mezcla (shuffle) y agregación final.
D
78
¿Cuál es la orientación principal de las tablas de bases de datos relacionales tradicionales, en contraste con las tablas de BigQuery? A. Orientadas a la columna. B. Orientadas a la fila. C. Orientadas al bloque. D. Orientadas al índice.
B
79
¿Qué componentes utiliza BigQuery para almacenar sus archivos y metadatos? A. Cloud SQL para archivos tabulares. B. Cloud Spanner para metadatos. C. Colossus para archivos columnares. D. Google Drive para almacenamiento de conjuntos de datos.
B y C
80
En la arquitectura de BigQuery, ¿dónde se almacena la información de StorageSet (metadatos de la confirmación de datos)? A. En Colossus. B. En archivos columnares. C. En Spanner. D. En la memoria caché del nodo de consulta.
C
81
¿Qué tipo de información suele contener el metadato de un StorageSet? A. Información de la ruta en Colossus. B. El número total de consultas ejecutadas contra el conjunto de datos. C. Información sobre el tamaño y el rango de datos de las columnas. D. El estado del conjunto de datos (PENDING, COMMITTED, GARBAGE).
A, C y D
82
¿Cuál es el principal beneficio de particionar una tabla en BigQuery? A. Aumentar la latencia de escritura. B. Reducir el costo y la cantidad de datos leídos durante una consulta. C. Permitir la creación de índices secundarios. D. Facilitar la desnormalización de datos.
B
83
En el contexto del particionamiento, ¿cuándo se realiza la operación de particionamiento de los datos? A. Automáticamente solo durante las operaciones DML (Data Manipulation Language). B. Manualmente mediante un comando ALTER TABLE. C. Automáticamente en el momento de la escritura. D. Durante la ejecución de la consulta.
C
84
¿Qué características se cumplen respecto al particionamiento de tablas? A. El costo de la consulta es conocido de antemano. B. Cada partición se comporta como su propia tabla. C. El particionamiento está disponible en cualquier momento de la vida de la tabla. D. Los metadatos se mantienen para cada partición.
A, B y D
85
BigQuery soporta varios métodos de particionamiento. ¿Cuáles de los siguientes son métodos de particionamiento soportados? A. Particionamiento por fecha/hora de ingesta. B. Particionamiento por valor de columna. C. Particionamiento por tamaño de archivo. D. Particionamiento por rango de enteros.
A, B y D
86
Si una tabla está particionada por la fecha/hora de ingesta, ¿qué tipo de pseudo-columna(s) se puede(n) usar para filtrar? A. _ROW_NUMBER. B. _PARTITIONID. C. _PARTITIONDATE o _PARTITIONTIME. D. _INGESTION_DATE.
C
87
¿Cuál es el límite inicial de particiones por tabla en BigQuery, antes de solicitar un aumento? A. 1,000 particiones. B. 10,000 particiones. C. 4,000 particiones. D. 100,000 particiones.
C
88
¿Qué tipo de particionamiento se recomienda cuando los datos se distribuyen en un amplio rango de fechas o si los datos se añaden continuamente a lo largo del tiempo? A. Particionamiento por rango de enteros. B. Particionamiento Diario (Daily partitioning). C. Particionamiento por Hora (Hourly partitioning). D. Particionamiento Mensual o Anual.
B y D
89
¿Qué mecanismo de optimización se utiliza para clasificar automáticamente los datos basándose en los valores de columnas específicas, mejorando el rendimiento de la consulta, especialmente si la consulta incluye más de una columna de filtro? A. Indexación de filas. B. Particionamiento. C. Reagrupación (Clustering). D. Almacenamiento distribuido (Distributed storage).
C
90
En la comparación entre particionamiento y clustering, ¿cuáles de las siguientes afirmaciones son correctas? A. El particionamiento solo está disponible al momento de la creación de la tabla. B. El clustering solo está disponible para tablas ya existentes. C. Las directivas de clustering influyen en la disposición de los datos dentro de una tabla. D. El clustering debe usarse si la tabla no está ya particionada por una columna de tiempo o rango de enteros.
A y C
91
¿Cuál de las siguientes es una limitación en el análisis del rendimiento del clustering? A. El rendimiento de la reducción de datos siempre se puede evaluar antes de que comience la consulta. B. El ahorro de costes y rendimiento del clustering no se pueden evaluar antes de que comience la consulta. C. El clustering debe configurarse con al menos diez columnas para ser eficiente. D. El clustering solo funciona en tablas que contienen campos anidados.
B
92
Cuando los datos se agrupan por una columna (foo), ¿cuál es el efecto principal que se logra en las operaciones de agregación? A. Las filas se distribuyen uniformemente en el almacenamiento. B. Se reduce la cantidad de datos a agregar al colocar valores similares en los mismos bloques de almacenamiento. C. Se eliminan automáticamente los valores duplicados. D. Se fuerza el uso de la cláusula LIMIT en las consultas.
B
93
¿Cómo puede forzar un proceso de reclustering en BigQuery, incluso cuando el proceso es generalmente automatizado? A. Reiniciando el motor de BigQuery. B. Utilizando la cláusula FORCE CLUSTER. C. Ejecutando una operación DML (Data Manipulation Language) en la partición necesaria. D. Recreando la tabla sin particionamiento.
C
94
¿Cuántas columnas, como máximo, se pueden priorizar para el clustering? A. Dos columnas. B. Tres columnas. C. Cuatro columnas. D. Ilimitado, siempre que no sean campos anidados.
C
95
Las bases de datos transaccionales a menudo utilizan la forma normalizada. ¿Qué tipo de esquema se prefiere generalmente en los almacenes de datos grandes para mejorar el rendimiento de las consultas? A. Esquema muy normalizado. B. Esquema desnormalizado aplanado. C. Esquema desnormalizado con campos anidados y repetidos. D. Esquema orientado a índices.
C
96
¿Cuáles son desventajas asociadas al uso de esquemas desnormalizados aplanados, especialmente en BigQuery? A. No son óptimos en términos de almacenamiento (aunque BigQuery mitiga esto). B. Pueden requerir más tiempo de máquina o humano para mantener la integridad de los datos. C. Agrupar por un campo de relación uno-a-muchos puede causar el barajado (shuffling) de datos en la red. D. Las operaciones JOIN son menos costosas.
A, B y C
97
¿Qué concepto permite manejar múltiples niveles de granularidad de datos dentro de una misma tabla en BigQuery, evitando JOINs costosos? A. Indexación de la tabla. B. Particionamiento por rangos. C. Campos anidados y repetidos (STRUCTS y ARRAYS). D. El uso exclusivo de la forma normal.
C
98
En la terminología de BigQuery para esquemas, ¿qué tipo se corresponde con un STRUCT? A. REPEATED. B. RECORD. C. NULLABLE. D. STRING.
B
99
En la terminología de BigQuery para esquemas, ¿qué tipo se corresponde con un campo "repetido" (REPEATED)? A. STRUCT. B. ARRAY. C. RECORD. D. SINGLE.
B
100
Respecto a las estructuras de datos ARRAY en BigQuery, ¿qué afirmaciones son verdaderas? A. Son listas ordenadas de cero o más valores. B. Todos los valores dentro de un array pueden tener tipos de datos diferentes. C. El array debe tener el mismo tipo de datos para todos sus elementos. D. Se crean nativamente utilizando corchetes [ ].
A, C y D
101
Para acceder a un elemento en un array utilizando un índice basado en cero (0-based index), ¿qué función se utiliza en BigQuery SQL? A. ORDINAL(). B. ARRAY_INDEX(). C. OFFSET(). D. POSITION().
C
102
Para obtener el número de elementos contenidos en un array, ¿qué función se debe utilizar? A. COUNT_ELEMENTS(). B. ARRAY_SIZE(). C. ARRAY_LENGTH(). D. LENGTH().
C
103
Cuando se utiliza la función UNNEST() para aplanar un array, ¿cómo se puede recuperar el orden original de los elementos del array, que es 0-basado? A. Utilizando una subconsulta. B. Usando WITH ORDINAL. C. Usando WITH OFFSET. D. Especificando ORDER BY sin una columna de índice.
C
104
¿Qué operador se utiliza para aplanar un array en BigQuery, devolviendo una fila por cada elemento del array, generalmente en orden aleatorio? A. FLATTEN(). B. UNNEST(). C. EXPAND(). D. SPLIT().
B
105
¿Qué mecanismos de sintaxis se pueden utilizar para agregar datos en un array dentro de una consulta SQL de BigQuery? A. ARRAY_AGG(). B. GROUP BY ARRAY(). C. ARRAY() a partir de una subconsulta. D. COLLECT_ARRAY().
A y C
106
Respecto a los STRUCTs, ¿qué características son correctas? A. Son un contenedor de campos ordenados. B. Cada campo dentro del STRUCT requiere un tipo de datos. C. Un STRUCT puede contener múltiples tipos de datos, incluso arrays. D. Los STRUCTs no cumplen con el estándar SQL 2011.
A, B y C
107
En el contexto de estructuras anidadas, ¿cuál es una restricción fundamental con respecto a la anidación de arrays? A. Los STRUCTs no pueden contener arrays. B. Los arrays pueden contener otros arrays internamente. C. Los arrays dentro de arrays no están permitidos. D. Los STRUCTs no pueden anidarse.
C
108
Al diseñar un esquema óptimo para BigQuery, ¿cuáles son las directrices recomendadas con respecto a las tablas de dimensión (dimension table)? A. Si una tabla de dimensión es más pequeña de 10 GB, manténgala normalizada, a menos que se actualice o elimine con frecuencia. B. Si una tabla de dimensión es más grande de 10 GB, desnormalícela, a menos que los costos o la manipulación de datos superen los beneficios de la optimización de consultas. C. Priorizar las operaciones JOIN en lugar de los campos anidados. D. Aprovechar los campos anidados y repetidos en tablas desnormalizadas en lugar de las uniones (JOINs).
B y D
109
Cuando se generan claves subrogadas (Surrogate keys) sin significado comercial, ¿qué prácticas se deben preferir o evitar? A. Evitar el uso de ROW_NUMBER() para la generación. B. Preferir UUIDs en lugar de claves subrogadas secuenciadas. C. Preferir el Hashing para claves subrogadas deterministas derivadas de la clave comercial (business key). D. Las claves subrogadas deben ser campos de índice tradicionales.
A, B y C
110
En BigQuery, ¿qué mecanismo permite la eliminación automática de datos, como tablas y particiones, de acuerdo con las necesidades de control de ciclo de vida (regulatorias o de costos)? A. Las políticas de gestión de acceso (IAM policies). B. La configuración de expiración. C. La política de retención de Cloud Storage. D. La función DELETE programada.
B
111
¿Qué sucede con una tabla si es eliminada recientemente y se necesita recuperar? A. No hay forma de recuperar una tabla eliminada en BigQuery. B. Se generan eventos de auditoría (Audit events) cuando se elimina la tabla. C. Las tablas eliminadas recientemente pueden ser recuperadas (undeleted). D. Solo se pueden recuperar las particiones, no la tabla completa.
B y C
112
Para calificar para la estructura de precios de almacenamiento a largo plazo con descuento en BigQuery, ¿cuánto tiempo consecutivo no debe editarse una tabla o una partición individual? A. 30 días. B. 60 días. C. 90 días. D. 120 días.
C
113
¿Qué impacto tiene el asegurar que las tablas de origen y destino estén en la misma organización al realizar operaciones de lectura y escritura en BigQuery? A. No tiene ningún impacto en la latencia. B. La latencia de las operaciones de lectura y escritura se reduce significativamente. C. La latencia aumenta debido a las comprobaciones de seguridad interregionales. D. Solo afecta el rendimiento de las consultas DML.
B
114
¿Cómo se almacenan los datos en una tabla orientada a columnas? A) Cada fila se almacena como un solo bloque B) Cada columna se agrupa en archivos independientes C) Todas las columnas se almacenan juntas en un único archivo D) Cada celda se almacena en un archivo aparte
B
115
¿Cuál es una característica de los StorageSets en sistemas de almacenamiento de datos analíticos? A) Sólo contienen metadatos B) Pueden representar una partición lógica de una tabla C) No incluyen información de estado D) Sólo admiten almacenamiento de filas
B
116
¿Qué estados puede tener una partición de datos en sistemas gestionados? (Múltiple) A) PENDING B) LIVE C) GARBAGE D) INACTIVE
A, B y C
117
¿Qué ventaja principal ofrece una tabla particionada? A) Elimina la necesidad de índices B) Reduce el coste y la cantidad de datos leídos en las consultas C) Permite almacenar diferentes tipos de datos en la misma columna D) Aumenta la redundancia de los datos
B
118
¿Qué tipos de particionamiento admite un sistema analítico moderno? (Múltiple) A) Por fecha/hora de ingesta B) Por valor de una columna C) Por tamaño de archivo D) Por rango de enteros
A, B y D
119
¿Cuál es una limitación habitual del particionamiento por columnas? A) Solo se puede aplicar a tablas vacías B) Tiene un límite máximo de particiones por tabla C) Solo funciona con columnas de tipo BOOLEAN D) No puede usarse junto a clustering
B
120
¿Qué ocurre cuando una tabla se clústeriza por una columna frecuentemente filtrada en las consultas? A) Aumentan los costes de consulta B) Solo puede utilizarse con columnas tipo fecha C) Se optimiza el rendimiento filtrando segmentos de datos D) Se deshabilita la escritura en streaming
C
121
¿Cuándo es recomendable usar clustering junto con particionamiento? A) Cuando siempre se consulta el 100% de la tabla B) Cuando se requieren filtros sobre varias columnas dentro de la partición C) Solo cuando la tabla contiene menos de 1000 filas D) Cuando los datos varían de tipo constantemente
B
122
¿Qué acción obliga a reclusterizar una tabla de manera forzada? A) Usar comandos UPDATE sobre la partición necesaria B) Crear un índice secundario C) Añadir nuevas columnas D) Fusionar varias particiones
A
123
¿Qué ventaja aporta el uso de campos anidados (STRUCT) en los esquemas? A) Permiten almacenar múltiples tipos de datos de forma estructurada B) Obligan a denormalizar todas las tablas C) Limita la cantidad de registros por partición D) Impiden el almacenamiento de arrays
A
124
¿Cómo se almacena una relación uno-a-muchos de forma eficiente? A) Usando campos anidados y repetidos B) Normalizando en varias tablas C) Solo usando índices compuestos D) Es recomendable duplicar registros
A
125
¿Qué inconveniente puede suponer la denormalización total de tablas? (Múltiple) A) Ineficiencia en el almacenamiento B) Mayor coste en mantenimiento de la integridad C) Consultas menos óptimas D) Restricción en la longitud de las filas
A y B
126
En el modelado de datos analíticos, ¿qué permite la denormalización con campos repetidos? A) Consultas más rápidas al evitar joins B) Menor flexibilidad al consultar subniveles C) Mejorar la granularidad y jerarquía de datos D) Limitar los tipos de datos admisibles
A y C
127
¿Cuál es la sintaxis correcta para crear un ARRAY en SQL estándar? A) ARRAY [‘dato1’, ‘dato2’] B) ARRAY {‘dato1’, ‘dato2’} C) [‘dato1’, ‘dato2’] D) ARRAY(‘dato1’, ‘dato2’)
A
128
¿Para qué se utiliza la función UNNEST con arrays en consultas SQL? A) Convertir filas en columnas B) Transformar un array en varias filas, una por elemento C) Eliminar los valores nulos D) Renombrar los elementos del array
B
129
¿Qué devuelve la función ARRAY_LENGTH aplicada sobre un campo de tipo array? A) El primer elemento B) El número de elementos del array C) El índice máximo D) El último elemento
B
130
¿Qué sucede si accedes a una posición fuera del rango en un array con OFFSET? A) Devuelve un error y se cobra la consulta B) Retorna NULL sin coste de consulta C) Trunca el array D) Retorna siempre el último elemento
B
131
¿Qué permite un STRUCT respecto a los tipos de datos? (Múltiple) A) Contener múltiples tipos diferentes B) Tener nombres de campo para cada valor C) Incluir arrays como elementos D) Solo contener valores escalares
A, B y C
132
¿Se pueden almacenar arrays de STRUCTs dentro de otro array? A) Sí B) No C) Depende del tamaño del array D) Solo si todos los STRUCTs son del mismo tipo
B
133
¿Cuál es la mejor práctica para claves sustitutas (surrogate keys) en una tabla? (Múltiple) A) Preferir UUID sobre un contador secuencial B) Evitar ROW_NUMBER para claves globales C) Utilizar hasheado para obtener claves deterministas D) Compartir claves con sentido de negocio
A, B y C
134
¿Por qué conviene definir políticas de expiración de tablas o particiones? A) Liberar espacio y reducir costes automáticamente B) Impedir la consulta de datos históricos C) Obligar el recalculo periódico de datos D) Permitir duplicidad de registros
A
135
¿Qué ocurre con el precio del almacenamiento en tablas sin modificaciones durante más de 90 días? A) El coste aumenta B) El precio por almacenamiento es más bajo C) Se archiva automáticamente D) El acceso queda restringido
B
136
¿Por qué es recomendable que las tablas fuente y destino estén en la misma organización en soluciones cloud? A) Para facilitar la auditoría de accesos B) Para minimizar la latencia de operaciones C) Por compatibilidad de formatos D) Para poder aplicar claves foráneas
B
137
¿Cuál es una recomendación al modelar una tabla de dimensiones grande que raramente sufre UPDATE o DELETE? A) Normalizarla siempre B) Denormalizarla por motivos de rendimiento C) Dividirla en muchas tablas pequeñas D) No almacenarla en cloud
B
138
¿Qué herramienta ayuda a estimar costes antes de desplegar una solución analítica cloud? A) Pricing calculator B) Query Builder C) Data Profiler D) Job Scheduler
A
139
¿Cuál es la principal diferencia en la organización de datos entre una base de datos relacional tradicional y un sistema de almacenamiento orientado a columnas? A) Las bases de datos relacionales almacenan datos por columnas, mientras que los sistemas orientados a columnas lo hacen por filas. B) Las bases de datos relacionales almacenan cada fila de datos de forma contigua, mientras que los sistemas orientados a columnas almacenan todos los valores de una misma columna de forma contigua. C) No hay ninguna diferencia fundamental en la organización del almacenamiento físico. D) Los sistemas orientados a columnas no utilizan índices, a diferencia de las bases de datos relacionales.
B
140
En la arquitectura de almacenamiento de datos de BigQuery, ¿qué componentes se utilizan para guardar los datos de las columnas y los metadatos de las tablas, respectivamente? A) Los datos de las columnas se guardan en Cloud Spanner y los metadatos en Colossus. B) Tanto los datos de las columnas como los metadatos se guardan en Cloud Spanner. C) Los datos de las columnas se guardan en Colossus y los metadatos en Cloud Spanner. D) Tanto los datos de las columnas como los metadatos se guardan en Colossus.
C
141
¿Qué información contiene la metadata de un "StorageSet" en un sistema de almacenamiento de datos? (Selecciona múltiples respuestas) A) Información sobre la ruta de almacenamiento de los archivos. B) El número de archivos de columnas que componen el conjunto. C) El estado del commit de los datos (pendiente, confirmado, etc.). D) El código SQL de la última consulta que accedió a los datos.
A, B y C
142
¿Cuál es el principal beneficio de particionar una tabla en un data warehouse? A) Aumentar el tamaño total de la tabla. B) Reducir los costes y la cantidad de datos leídos al escanear solo las particiones relevantes para una consulta. C) Garantizar que todos los datos se almacenen en un único archivo físico. D) Mejorar la velocidad de las operaciones de escritura de datos.
B
143
Al consultar una tabla no particionada filtrando por un rango de fechas, ¿qué acción debe realizar el sistema? A) Escanear únicamente las filas que coinciden con el rango de fechas. B) Escanear la columna de fecha completa para encontrar las filas que coinciden con el criterio. C) Crear una partición temporal antes de ejecutar la consulta. D) Rechazar la consulta por ser ineficiente.
B
144
¿En qué momento se debe definir la estrategia de particionamiento para una tabla? A) En cualquier momento después de la creación de la tabla. B) Durante la ejecución de una consulta. C) Únicamente en el momento de la creación de la tabla. D) Al eliminar la tabla.
C
145
¿Qué tipos de columnas se pueden utilizar para la partición de tablas? (Selecciona múltiples respuestas) A) Columnas de tipo TIMESTAMP, DATE o DATETIME. B) Columnas de tipo STRING que contengan fechas. C) Columnas de tipo entero (integer). D) Columnas de tipo booleano.
A y C
146
¿Qué método de partición divide los datos basándose en el momento en que se cargan en la tabla? A) Partición por columna de tipo entero. B) Partición por tiempo de ingesta. C) Partición por columna de fecha/hora. D) Partición manual.
B
147
¿Cuándo es recomendable usar una partición con granularidad horaria en lugar de diaria? A) Cuando se tiene un volumen bajo de datos que abarca muchos años. B) Cuando se tiene un alto volumen de datos que abarca un rango de fechas corto (típicamente menos de 6 meses). C) Cuando las consultas no filtran por fecha. D) Cuando la tabla tiene menos de 1.000 filas.
B
148
Además de la partición, ¿qué otra técnica de optimización organiza los datos dentro de cada partición para mejorar el rendimiento de los filtros? A) Indexación. B) Normalización. C) Compresión. D) Clustering.
D
149
¿Cómo mejora el clustering el rendimiento de las consultas? A) Ordenando físicamente los datos dentro de un bloque de almacenamiento según los valores de una o más columnas, lo que permite omitir la lectura de bloques irrelevantes. B) Creando una copia de la tabla por cada columna de clustering. C) Reduciendo el número total de particiones en la tabla. D) Comprimiendo los datos de las columnas clusterizadas.
A
150
¿Cuál es el efecto de aplicar clustering a una tabla que ya está particionada? A) El clustering anula los beneficios de la partición. B) La partición limita el escaneo a particiones específicas, y el clustering refina aún más el escaneo dentro de esas particiones, reduciendo los datos leídos. C) No es posible aplicar clustering y particionamiento a la misma tabla. D) El sistema solo utilizará el clustering e ignorará la partición durante la ejecución de la consulta.
B
151
¿En qué escenario es más beneficioso usar clustering? A) Cuando las consultas no utilizan cláusulas WHERE. B) Cuando las consultas filtran o agregan frecuentemente por columnas que no son de partición. C) Cuando la tabla tiene muy pocos datos. D) Cuando se necesita ordenar los resultados de una consulta de forma ascendente únicamente.
B
152
¿Qué sucede con el orden de los datos en una tabla clusterizada que recibe inserciones de datos continuas (streaming)? A) El orden se mantiene perfecto indefinidamente. B) El orden puede degradarse con el tiempo, por lo que el sistema realiza un proceso de re-clustering automático para mantener la optimización. C) La tabla deja de estar clusterizada automáticamente. D) Es necesario eliminar y volver a crear la tabla para restaurar el orden.
B
153
¿Cuál es la principal diferencia entre la partición y el clustering en términos de cómo reducen los datos escaneados? A) La partición divide la tabla en segmentos más grandes (particiones), mientras que el clustering ordena los datos dentro de esos segmentos. B) El clustering es una forma de compresión, mientras que la partición es una forma de indexación. C) No hay diferencia; ambos términos se refieren al mismo proceso. D) La partición solo funciona con columnas de fecha, y el clustering solo con columnas de texto.
A
154
¿Qué es la denormalización en el contexto de un data warehouse? A) Es el proceso de dividir una tabla grande en múltiples tablas más pequeñas y relacionadas. B) Es el proceso de combinar datos de múltiples tablas en una sola tabla para evitar uniones (joins) costosas durante las consultas. C) Es un método para encriptar los datos. D) Es una técnica para eliminar datos duplicados.
B
155
¿Cuál es una desventaja potencial de trabajar con datos completamente aplanados (flattened) en una tabla denormalizada? A) Mejora el rendimiento de todas las consultas sin excepción. B) Requiere uniones complejas para recuperar información. C) Puede causar una gran cantidad de movimiento de datos en la red ("shuffling") al agrupar por campos que tienen una relación de uno a muchos. D) Reduce el espacio de almacenamiento necesario.
C
156
¿Qué estructuras permiten mantener relaciones de uno a muchos dentro de una sola fila, evitando la redundancia de datos de la denormalización tradicional? A) Vistas materializadas. B) Índices secundarios. C) Campos anidados (nested) y repetidos (repeated). D) Tablas temporales.
C
157
¿Qué tipo de campo se utiliza para almacenar una colección de valores del mismo tipo dentro de una única celda? A) STRUCT (o RECORD). B) ARRAY (o REPEATED). C) INTEGER. D) TIMESTAMP.
B
158
¿Qué tipo de campo se utiliza para agrupar múltiples campos, posiblemente de diferentes tipos, como una única unidad estructurada? A) STRUCT (o RECORD). B) ARRAY (o REPEATED). C) STRING. D) BOOLEAN.
A
159
¿Cuál es la principal ventaja de usar campos anidados y repetidos en lugar de uniones (joins) entre tablas? A) Aumenta la complejidad de las consultas. B) Permite un rendimiento de consulta superior al colocar los datos relacionados físicamente juntos, reduciendo el movimiento de datos. C) Facilita la actualización de registros individuales. D) Es el único método para almacenar datos jerárquicos.
B
160
¿Cómo se crea un ARRAY de strings en SQL estándar? A) CREATE ARRAY('a', 'b', 'c') B) ['a', 'b', 'c'] C) TO_ARRAY('a', 'b', 'c') D) STRING_ARRAY('a', 'b', 'c')
B
161
Para acceder al tercer elemento de un array, ¿qué función de indexación basada en cero se utiliza? A) ORDINAL(3) B) INDEX(3) C) POSITION(2) D) OFFSET(2)
D
162
¿Qué función se utiliza para "aplanar" un array, convirtiendo cada uno de sus elementos en una fila separada? A) FLATTEN() B) UNNEST() C) EXPAND() D) ARRAY_TO_ROWS()
B
163
¿Qué función de agregación se puede usar para combinar los valores de una columna de varias filas en un solo array? A) GROUP_AS_ARRAY() B) MERGE_ARRAY() C) ARRAY_AGG() D) COLLECT_LIST()
C
164
¿Qué es un STRUCT en SQL? A) Un contenedor de campos ordenados, donde cada campo tiene un tipo y, opcionalmente, un nombre. B) Una lista de valores que deben ser todos del mismo tipo de datos. C) Un sinónimo de una tabla física. D) Un tipo de datos para almacenar imágenes.
A
165
¿Es posible incluir un ARRAY como uno de los campos dentro de un STRUCT? A) No, los STRUCTs solo pueden contener tipos de datos simples. B) Sí, los STRUCTs son contenedores flexibles que pueden incluir ARRAYs. C) Solo si el ARRAY contiene un único elemento. D) Únicamente si el STRUCT no tiene otros campos.
B
166
¿Cuál es una práctica recomendada para diseñar esquemas en un data warehouse moderno orientado a columnas? A) Normalizar siempre los datos al máximo nivel posible. B) Evitar el uso de campos de fecha o timestamp. C) Utilizar campos anidados y repetidos para representar relaciones jerárquicas en lugar de uniones (joins) siempre que sea posible. D) Crear una tabla para cada atributo de una entidad.
C
167
¿Qué se recomienda para generar claves subrogadas (surrogate keys) que no tienen significado de negocio? A) Usar una función como ROW_NUMBER() para generar secuencias numéricas. B) Usar un identificador único universal (GENERATE_UUID()) o una función de hashing (ej. SHA256) sobre la clave de negocio. C) Concatenar varios campos de texto para crear una clave única. D) Dejar que la base de datos asigne una clave de forma aleatoria sin garantías de unicidad.
B
168
Para gestionar el ciclo de vida de los datos y controlar los costes, ¿qué funcionalidad se puede configurar a nivel de dataset o de tabla? A) Políticas de compresión de datos. B) Configuraciones de expiración automática para eliminar tablas o particiones después de un tiempo determinado. C) Límites en el número de filas que una tabla puede contener. D) Alertas de rendimiento cuando una consulta es lenta.
B
169
¿Cómo funciona el precio de almacenamiento a largo plazo en BigQuery? A) Se aplica un descuento a todas las tablas que tienen más de un año de antigüedad. B) Se aplica un precio reducido a las tablas o particiones que no han sido modificadas en 90 días consecutivos. C) Es un plan de precios que se debe contratar por separado. D) El almacenamiento a largo plazo es gratuito.
B
170
Para optimizar la latencia de las operaciones de lectura y escritura, ¿cuál es una recomendación clave con respecto a la ubicación de las tablas de origen y destino? A) Deben estar en regiones geográficas diferentes para mayor redundancia. B) Deben estar en la misma organización o proyecto. C) La ubicación no afecta la latencia de las operaciones. D) La tabla de destino debe estar siempre en una región de EE. UU.
B
171
¿Cuál es la orientación principal de las tablas en bases de datos relacionales tradicionales? A) Orientadas a columnas B) Orientadas a filas C) Orientadas a bloques D) Orientadas a particiones
B
172
¿Cómo se almacenan las tablas en BigQuery en comparación con las bases de datos relacionales? A) En formato row-oriented B) En formato column-oriented C) En formato híbrido D) En formato key-value
B
173
¿Dónde se almacenan los archivos columnarios en BigQuery? A) En Cloud Spanner B) En Colossus C) En Bigtable D) En Cloud Storage
B
174
¿Qué componente almacena los metadatos de las tablas en BigQuery? A) Colossus B) Cloud Spanner C) BigQuery Compute D) Dataflow
B
175
¿Qué información contiene el metadato de un StorageSet en BigQuery? A) Solo el estado de los datos B) Información de ruta en Colossus y número de archivos columnarios C) Solo estadísticas de datos D) Solo claves de encriptación
B
176
¿Cuál es la implicación de la clave de partición en un StorageSet? A) Un StorageSet por columna B) Un StorageSet por partición eventualmente C) Un StorageSet por fila D) Un StorageSet por consulta
B
177
¿Cuáles son los posibles estados de un StorageSet en BigQuery? (Selecciona todas las correctas) A) PENDING B) COMMITTED C) GARBAGE D) ACTIVE
A, B y C
178
¿Qué tipo de información incluyen las estadísticas de datos en un StorageSet? A) Solo tamaños de columnas B) Información de columnas, tamaños y rangos de datos C) Solo rutas de archivos D) Solo estados de partición
B
179
¿Qué beneficio principal ofrece la partición de tablas en BigQuery? A) Aumentar el tamaño de las tablas B) Reducir el costo y la cantidad de datos leídos C) Eliminar la necesidad de índices D) Cambiar el formato de almacenamiento
B
180
¿En una tabla no particionada, qué debe escanear una consulta con filtro en una columna de fecha? A) Solo las particiones relevantes B) Toda la tabla C) Solo las columnas seleccionadas D) Solo los metadatos
B
181
¿Cómo se divide una tabla particionada por una columna de fecha en BigQuery? A) En bloques por valor de fecha B) En bloques aleatorios C) En bloques por tamaño de fila D) En bloques por tipo de dato
A
182
¿Qué ocurre con los datos en una tabla particionada al escribir? A) Se particionan manualmente B) Se particionan automáticamente C) No se particionan D) Se duplican en todas las particiones
B
183
¿Qué garantías proporciona la partición en BigQuery respecto a los bytes escaneados? A) Garantías aproximadas B) Garantías estrictas C) Ninguna garantía D) Garantías solo para lecturas
B
184
¿Cuándo se puede aplicar la partición en BigQuery? A) Solo al crear la tabla B) En cualquier momento C) Solo después de cargar datos D) Solo en tablas existentes
A
185
¿Por qué una consulta en una tabla no particionada procesa más datos que en una particionada para métricas semanales? A) Porque debe evaluar cada valor de fecha B) Porque ignora los filtros C) Porque no usa agregaciones D) Porque las particiones no existen
A
186
¿Qué ventaja ofrece una tabla particionada para consultas con filtros en fechas? A) Escanea solo las particiones relevantes B) Duplica los datos C) Aumenta el costo D) Requiere joins adicionales
A
187
¿Qué comando se usa para crear una tabla particionada por fecha en BigQuery? A) CREATE TABLE ... PARTITION BY DATE(columna) B) ALTER TABLE ... PARTITION BY DATE(columna) C) INSERT INTO ... PARTITION BY DATE(columna) D) SELECT ... PARTITION BY DATE(columna)
A
188
¿Por qué una consulta en una tabla particionada puede procesar 0 bytes si no hay datos en el rango? A) Porque referencia la lista de particiones primero B) Porque ignora los datos C) Porque borra particiones D) Porque usa caché siempre
A
189
¿Cómo se visualizan las tablas particionadas en la interfaz de BigQuery? A) Como una sola tabla B) Con detalles de particiones en la UI C) Sin detalles específicos D) Como tablas separadas
B
190
¿Cómo interactúan las particiones con los StorageSets en BigQuery? A) Cada partición tiene su propio StorageSet eventualmente B) Todos comparten un StorageSet C) No interactúan D) StorageSets ignoran particiones
A
191
¿Cómo se escriben datos en una tabla particionada por fecha? A) Se agrupan por valor de partición B) Se escriben aleatoriamente C) Se duplican en particiones D) Se escriben solo en la última partición
A
192
¿Cuáles son las formas de particionar tablas en BigQuery? (Selecciona todas las correctas) A) Por tiempo de ingestión B) Por columna de tipo TIMESTAMP C) Por columna de tipo INTEGER D) Por columna de tipo STRING
A, B y C
193
¿Qué pseudo-columnas se usan para filtrar en particiones por tiempo de ingestión? A) _PARTITIONDATE y _PARTITIONTIME B) _DATE y _TIME C) _INGESTION_DATE y _INGESTION_TIME D) _COLUMN_DATE y _COLUMN_TIME
A
194
¿Cuáles son los tipos de columnas soportados para partición por columna? (Selecciona todas las correctas) A) TIMESTAMP B) DATE C) DATETIME D) INT64
A, B, C y D
195
¿Cuál es el límite estándar de particiones por tabla en BigQuery? A) 1000 B) 4000 C) 10000 D) Ilimitado
B
196
¿Cuándo se recomienda la partición diaria en BigQuery? A) Para datos en un rango corto de fechas B) Para datos extendidos en fechas amplias C) Para volúmenes bajos por día D) Para actualizaciones frecuentes en rangos amplios
B
197
¿Cuándo se recomienda la partición horaria? A) Para datos extendidos en fechas amplias B) Para volúmenes altos en rangos cortos C) Para datos pequeños por día D) Para actualizaciones en rangos amplios
B
198
¿Cuándo se recomienda la partición mensual o anual? A) Para volúmenes altos en rangos cortos B) Para datos pequeños por día en rangos amplios C) Para actualizaciones frecuentes D) Para datos extendidos en fechas amplias
B y C
199
Qué beneficio muestra una demo de consulta en tablas particionadas y clusterizadas? A) Mayor costo B) Menor tiempo y datos procesados C) Más joins requeridos D) Menos particiones
B
200
¿Qué diferencia hay entre v2 y v3 en un ejemplo de tablas en BigQuery? A) v2 es particionada, v3 es particionada y clusterizada B) v2 es clusterizada, v3 es particionada C) Ambas son iguales D) v3 no tiene particiones
A
201
¿Qué permite el auto-pruning en tablas particionadas y clusterizadas? A) Eliminación automática de datos irrelevantes antes de escanear B) Duplicación de datos C) Aumento de datos escaneados D) Ignorar filtros
A
202
¿Qué beneficio ofrece clustering además de partitioning? A) Ordenar datos en múltiples columnas B) Solo particionar por fecha C) Eliminar particiones D) Cambiar tipos de datos
A
203
¿En una tabla particionada y clusterizada, cómo se organizan los datos dentro de particiones? A) Aleatoriamente B) Ordenados por columnas de clustering C) Duplicados D) En bloques fijos
B
204
¿Cuándo se puede aplicar clustering en BigQuery? A) Solo al crear la tabla B) En tablas existentes C) Solo en particiones D) Nunca
B
205
¿Cuándo usar clustering en BigQuery? (Selecciona todas las correctas) A) Datos ya particionados por fecha o rango entero B) Filtros o agregaciones frecuentes en columnas específicas C) Tablas sin particiones D) Tablas con joins constantes
A y B
206
¿Cómo interactúa el clustering con los StorageSets? A) Almacena min y max por archivo en columnas clusterizadas B) Ignora min y max C) Duplica archivos D) Elimina StorageSets
A
207
¿Cómo reduce el clustering la cantidad de datos en agregaciones? A) Agrupando datos colocalizados B) Duplicando agregaciones C) Ignorando LIMIT D) Aumentando shuffles
A
208
¿Qué impacto tiene LIMIT en tablas clusterizadas para agregaciones? A) Mejora el rendimiento reduciendo datos leídos B) No afecta C) Aumenta datos leídos D) Elimina clustering
A
209
¿Cómo se escriben datos en una tabla particionada y clusterizada? A) Agrupados por partición y rangos min-max en clustering B) Aleatoriamente dentro de particiones C) Solo en la primera partición D) Sin rangos
A
210
¿Qué ocurre con el orden en tablas streaming clusterizadas con el tiempo? A) Se mantiene siempre B) Falla y requiere reclustering C) Se ignora D) Se duplica
B
211
¿Cómo se fuerza un reclustering en BigQuery? A) Usando DML en la partición necesaria B) Reiniciando la tabla C) Eliminando datos D) Cambiando schema
A
212
¿Qué describe el proceso de reclustering? A) Fusiona StorageSets superponiendo rangos B) Elimina todos los StorageSets C) Duplica datos D) Ignora cambios
A
213
¿Qué optimiza el clustering dentro de segmentos columnarios? A) Filtrado y colocalización de registros B) Solo particiones C) Joins externos D) Eliminación de datos
A
214
¿Cuántas columnas se pueden priorizar para clustering? A) Hasta 4 B) Ilimitadas C) Solo 1 D) Hasta 10
A
215
Qué tipos de partición existen en BigQuery? (Selecciona todas las correctas) A) Por pseudocolumna de tiempo B) Por columna de fecha/tiempo C) Por rango entero D) Por string
A, B y C
216
¿Qué caveat hay con clustering sin particiones en tablas grandes? A) Menos eficiente si hay muchos GB por partición B) Siempre más eficiente C) Elimina datos D) Requiere más columnas
A
217
¿Qué se usa en bases de datos transaccionales para estructurar datos? A) Forma normal B) Denormalización C) Clustering D) Particionamiento
A
218
¿Qué hacen los data warehouses a menudo con los datos? A) Denormalizan B) Normalizan estrictamente C) Eliminan D) Particionan solo
A
219
¿Qué mejora la denormalización en tablas grandes? A) Rendimiento de consultas B) Integridad de datos C) Tamaño de almacenamiento D) Joins
A
220
¿Cuáles son desventajas de la denormalización? (Selecciona todas las correctas) A) No óptima para almacenamiento B) Requiere más tiempo para mantener integridad C) Siempre más costosa D) Elimina datos
A y B
221
¿Qué causa shuffling en datos denormalizados flattenados al agrupar? A) Agrupar en campos 1-to-many B) Filtros simples C) Agregaciones básicas D) Ordenamientos
A
222
¿Qué mejoran los campos nested y repeated en datos relacionales? A) Eficiencia en BigQuery B) Normalización C) Tamaño D) Joins
A
223
¿Qué es GO-JEK en el contexto de ejemplos? A) Un servicio de ride booking B) Una base de datos C) Un algoritmo D) Un tipo de partición
A
224
Cómo se estructuran rides en un data warehouse escalable? A) En una tabla grande con nested fields B) En múltiples tablas separadas C) Solo en particiones D) Sin eventos
A
225
¿Qué problema evitan los nested y repeated fields en reporting? A) Joins costosos B) Datos repetidos C) Ambas D) Ninguna
A
226
¿Qué permiten los nested y repeated fields? A) Múltiples niveles de granularidad en una tabla B) Solo granularidad única C) Eliminación de datos D) Normalización
A
227
¿Qué se usa para almacenar datos complejos en BigQuery? A) Campos nested como ARRAYS B) Solo columnas simples C) Joins D) Particiones
A
228
¿Qué permiten los STRUCTs en reporting? A) Reportar todos los datos en un lugar B) Separar datos C) Eliminar campos D) Cambiar tipos
A
229
¿Qué permiten nested ARRAY y STRUCT en una tabla? A) Diferentes granularidades B) Solo granularidad fina C) Duplicación D) Normalización
A
230
¿Qué indica el tipo RECORD en un schema? A) STRUCTs B) ARRAYS C) Strings D) Integers
A
231
¿Qué indica el modo REPEATED en un schema? A) ARRAYS B) STRUCTs C) Nullables D) Requeridos
A
232
¿Qué son los STRUCTs y ARRAYS en recap? (Selecciona todas las correctas) A) STRUCTs son RECORD B) ARRAYS son REPEATED C) ARRAYS pueden estar en STRUCTs D) Una tabla puede tener muchos STRUCTs
A, B, C y D
233
¿Qué introduce la arquitectura de BigQuery para datos? A) Campos repeated B) Solo normalizados C) Joins obligatorios D) Menos rendimiento
A
234
¿Cómo se crea un array en SQL? A) Con corchetes [ ] B) Con paréntesis ( ) C) Con llaves { } D) Sin delimitadores
A
235
¿Qué son los arrays en BigQuery? A) Listas ordenadas de valores del mismo tipo B) Contenedores de tipos mixtos C) Campos únicos D) Particiones
A
236
¿Cómo maneja BigQuery la salida de arrays? A) Unflattened B) Flattened siempre C) Como strings D) Como integers
A
237
¿Puede BigQuery inferir tipos en arrays? A) Sí B) No C) Solo para strings D) Solo para números
A
238
¿Qué función accede a elementos de array por índice cero? A) OFFSET B) ORDINAL C) LENGTH D) AGG
A
239
¿Qué función accede a elementos de array por índice uno? A) ORDINAL B) OFFSET C) INDEX D) POSITION
A
240
¿Qué ocurre al acceder a un índice fuera de rango en array? A) Error B) Null C) Valor predeterminado D) Último valor
A
241
¿Qué función cuenta elementos en un array? A) ARRAY_LENGTH B) COUNT C) SIZE D) LEN
A
242
¿Cómo maneja BigQuery arrays en salida? A) Unflattened B) Siempre flattened C) Como tablas separadas D) Ignorados
A
243
¿Qué función flatten arrays? A) UNNEST B) FLATTEN C) EXPAND D) AGG
A
244
¿Cómo se recupera el orden en arrays unflattened? A) Con OFFSET como columna virtual B) Con ORDINAL C) Sin orden D) Con LENGTH
A
245
¿Qué función agrega valores en un array? A) ARRAY_AGG B) AGG_ARRAY C) COLLECT D) GROUP_ARRAY
A
246
¿Se permiten arrays dentro de arrays? A) No B) Sí C) Solo en STRUCTs D) Solo en REPEATED
A
247
¿Cómo se crea un array ordenado? A) Con ORDER BY en subquery B) Sin orden C) Con SORT D) Con AGG ORDER
A
248
¿Qué alternativa evita [ ] para arrays? A) ARRAY(subquery) B) STRUCT(subquery) C) UNNEST(subquery) D) OFFSET(subquery)
A
249
¿Cómo filtrar arrays con WHERE IN? A) Usando IN UNNEST(array) B) Usando IN array C) Usando CONTAINS D) Usando HAS
A
250
¿Qué es un STRUCT? A) Contenedor de campos ordenados con tipos B) Lista de valores iguales C) Campo simple D) Partición
A
251
¿Pueden STRUCTs contener arrays? A) Sí B) No C) Solo strings D) Solo integers
A
252
¿Pueden arrays contener STRUCTs? A) Sí B) No C) Solo en nested D) Solo en repeated
A
253
¿Qué guía el diseño óptimo de schema en BigQuery? A) Usar nested y repeated en lugar de joins B) Mantener tablas normalizadas siempre C) Denormalizar tablas pequeñas >10GB D) Normalizar tablas grandes
A
254
¿Cuándo mantener una tabla de dimensiones normalizada? A) Si es <10GB y sin updates/deletes frecuentes B) Siempre C) Si es >10GB D) Solo si particionada
A
255
¿Cuándo denormalizar una tabla de dimensiones? A) Si >10GB, a menos que manipulación cueste más B) Nunca C) Solo si <10GB D) Siempre
A
256
¿Qué se recomienda para surrogate keys? A) Usar UUID o hashing en lugar de ROW_NUMBER B) Siempre ROW_NUMBER C) Ignorarlas D) Usar secuencias
A
257
¿Qué funciones generan surrogate keys? (Selecciona todas las correctas) A) GENERATE_UUID() B) SHA256() C) ROW_NUMBER() D) MD5()
A y B
258
¿Qué permiten las configuraciones de expiración en BigQuery? A) Remover tablas y particiones innecesarias B) Duplicar datos C) Aumentar almacenamiento D) Ignorar costos
A
259
¿Qué niveles de expiración existen? (Selecciona todas las correctas) A) Por tabla B) Por dataset C) Por partición D) Por columna
A, B y C
260
¿Qué comando configura expiración por defecto en dataset? A) bq update --default_table_expiration B) bq alter --expiration C) bq set --table_expiration D) bq config --dataset_expiration
A
261
¿Qué comando establece expiración de particiones? A) bq update --time_partitioning_expiration B) bq set --partition_expiration C) bq alter --expiration_partition D) bq config --partition
A
262
¿Qué comando configura expiración para una tabla? A) bq update --expiration B) bq set --table_expiration C) bq alter --table_expiration D) bq config --expiration
A
263
Qué beneficio ofrece el almacenamiento a largo plazo en BigQuery? A) Precios más bajos después de 90 días sin ediciones B) Precios más altos C) Eliminación automática D) Duplicación
A
264
¿Cómo se considera el almacenamiento a largo plazo? A) Por partición separadamente B) Por tabla completa C) Por dataset D) Por columna
A
265
¿Qué mejora la latencia en operaciones de BigQuery? A) Usar la misma organización para source y destination B) Diferentes organizaciones C) Ignorar organizaciones D) Usar múltiples datasets
A
266
¿Qué herramienta estima costos en BigQuery? A) Pricing calculator B) Cost estimator C) Query planner D) Storage analyzer
A
267
Cuáles son objetivos de un lab sobre JSON y arrays en BigQuery? (Selecciona todas las correctas) A) Cargar JSON semi-estructurado B) Crear y query arrays C) Crear y query STRUCTs D) Query nested y repeated fields
A, B, C y D
268
Cuál es la principal diferencia en la organización de datos entre las bases de datos relacionales tradicionales y los sistemas de almacenamiento columnar? A.Las bases de datos relacionales organizan los datos en filas completas, mientras que los sistemas columnares agrupan los valores de cada columna por separado. B.Los sistemas columnares no pueden tener claves de índice, a diferencia de las bases de datos relacionales. C.Ambos sistemas utilizan un almacenamiento orientado a columnas, pero los relacionales añaden una clave de índice. D.Las bases de datos relacionales almacenan datos por columnas, mientras que los sistemas columnares lo hacen por filas.
A
269
En la arquitectura de almacenamiento de BigQuery, ¿qué componentes se utilizan para almacenar los datos de las tablas y sus metadatos correspondientes? A.Tanto los datos como los metadatos se almacenan en un único sistema llamado Colossus. B.Los datos se almacenan como archivos columnares en Colossus y los metadatos en Spanner. C.Los datos se guardan en la memoria RAM del clúster y los metadatos en discos de estado sólido. D.Los datos se guardan en Spanner y los metadatos en Colossus.
B
270
¿Qué beneficio principal se obtiene al particionar una tabla en un data warehouse como BigQuery? A.Reducir la cantidad de datos escaneados y, por lo tanto, el coste y el tiempo de las consultas. B.Mejorar la seguridad de los datos al aislarlos en diferentes segmentos. C.Simplificar la escritura de sentencias SQL al no requerir cláusulas WHERE. D.Aumentar la cantidad total de datos que se pueden almacenar en la tabla.
A
271
¿En qué momento se puede definir la estrategia de particionamiento para una tabla? A.En cualquier momento, usando un comando ALTER TABLE. B.Únicamente durante la creación de la tabla. C.Automáticamente, el sistema decide la mejor columna por la que particionar. D.Solo después de que la tabla contenga al menos 1 TB de datos.
B
272
¿Qué tipos de columnas se pueden usar para particionar una tabla en BigQuery? A.Solo se puede particionar por una pseudocolumna basada en el tiempo de ingesta. B.Columnas de tipo TIMESTAMP, DATE, DATETIME o INT64. C.Cualquier columna que sea clave primaria de la tabla. D.Cualquier columna de tipo STRING o BYTES.
B
273
¿Cuál es el propósito de la clusterización en una tabla de BigQuery? A.Comprimir los datos de la tabla para reducir el coste de almacenamiento. B.Dividir la tabla en particiones lógicas basadas en una columna. C.Crear una copia de la tabla en una ubicación geográfica diferente para la recuperación ante desastres. D.Ordenar físicamente los datos dentro de cada partición basándose en los valores de una o más columnas.
D
274
¿En qué escenario es más beneficioso utilizar la clusterización? A.Cuando la tabla es muy pequeña, con menos de 10,000 filas. B.Cuando se necesita garantizar que los datos se devuelvan siempre en un orden específico sin usar ORDER BY. C.Cuando las consultas siempre leen la tabla completa sin usar filtros. D.Cuando las consultas utilizan filtros sobre columnas de alta cardinalidad (muchos valores únicos).
D
275
¿Qué es la desnormalización en el contexto de un data warehouse? A.El proceso de dividir una tabla grande en múltiples tablas más pequeñas y relacionadas. B.La práctica de asegurar que los datos cumplan con las reglas de integridad referencial. C.La técnica de combinar datos de múltiples tablas en una sola para evitar operaciones de JOIN durante las consultas. D.Un proceso para eliminar datos duplicados y redundantes de una base de datos.
C
276
En BigQuery, ¿qué tipo de campo se utiliza para representar una relación de uno a muchos dentro de una misma fila, evitando la desnormalización tradicional aplanada? A.Un campo REPEATED (ARRAY). B.Un campo de tipo INTEGER con autoincremento. C.Un campo particionado. D.Un campo de tipo BOOLEAN.
A
277
¿Qué representa un campo de tipo STRUCT (o RECORD) en un esquema de BigQuery? A.Una referencia a otra tabla, similar a una clave foránea. B.Un contenedor que agrupa campos ordenados, cada uno con su propio nombre y tipo, como un objeto anidado. C.Un valor único y atómico, como un número o una cadena de texto. D.Una lista de valores del mismo tipo de dato.
B
278
Si tienes un campo ARRAY llamado `productos`, ¿cómo accederías al tercer elemento de la lista en SQL estándar de BigQuery? A.productos[3] B.productos[OFFSET(3)] C.productos[ORDINAL(3)] D.productos.get(3)
C
279
¿Qué función de SQL se utiliza para convertir un ARRAY en un conjunto de filas? A.UNNEST() B.EXPAND() C.FLATTEN() D.ARRAY_TO_ROWS()
A
280
¿Cuál es una práctica recomendada para generar claves sustitutas (surrogate keys) que no tienen significado de negocio? A.Usar la función ROW_NUMBER() para generar números secuenciales. B.Utilizar la función GENERATE_UUID() para crear identificadores únicos universales. C.Usar un número aleatorio entre 1 y 1,000,000. D.Concatenar el nombre del cliente y la fecha de la transacción.
B
281
¿Cómo se puede gestionar el ciclo de vida de los datos en BigQuery para eliminar automáticamente tablas o particiones antiguas? A.No es posible, la eliminación de datos siempre debe ser manual. B.Creando un script externo que se conecte diariamente a BigQuery para borrar datos antiguos. C.Configurando la fecha de expiración a nivel de tabla, partición o conjunto de datos. D.Moviendo los datos a un almacenamiento de "archivado" que se borra cada 30 días.
C
282
¿Qué sucede con el precio del almacenamiento de una tabla o partición en BigQuery si no se modifica durante 90 días consecutivos? A.El precio del almacenamiento se duplica debido a la inactividad. B.El precio del almacenamiento se reduce significativamente, pasando a la categoría de almacenamiento a largo plazo. C.No hay ningún cambio en el precio del almacenamiento. D.Los datos se eliminan automáticamente para liberar espacio.
B
283
¿Qué ventaja ofrece combinar particionamiento y clusterización en la misma tabla? A.El particionamiento primero reduce el conjunto de datos a escanear (p. ej., a un día específico) y la clusterización luego ordena los datos dentro de esa partición para acotar aún más la búsqueda. B.Hace que la tabla sea de solo lectura para garantizar la consistencia de los datos. C.Permite usar filtros en el doble de columnas que si se usaran por separado. D.Elimina por completo la necesidad de escanear datos, devolviendo los resultados instantáneamente.
A
284
En el esquema de una tabla, ¿cómo se identifica un campo que es un ARRAY de STRUCTs? A.El tipo es STRING y el modo es REPEATED. B.El tipo es RECORD y el modo es NULLABLE. C.El tipo es RECORD y el modo es REPEATED. D.El tipo es ARRAY y el modo es STRUCT.
C
285
¿Qué función de agregación crea un ARRAY a partir de los valores de una columna en un conjunto de filas? A.ARRAY_AGG() B.MAKE_ARRAY() C.COLLECT_LIST() D.GROUP_CONCAT()
A
286
¿Cuál es la característica principal que define la ingesta por lotes (Batch Ingestion)? A. Disponibilidad inmediata de la consulta desde un búfer. B. Ingesta continua utilizada para fuentes de datos en tiempo real (p. ej., aplicaciones móviles o puntos de venta). C. La llegada de los datos se basa en instantáneas: todos los datos llegan a la vez, o no llegan en absoluto. D. Utiliza exclusivamente el Legacy Streaming API
C
287
¿Qué característica es específica de la ingesta Streaming? A. Está optimizada para grandes volúmenes de datos históricos. B. Los resultados de la ingesta no están disponibles para consulta hasta que finaliza la carga completa. C. Permite la ingesta continua desde numerosas fuentes. D. Se realiza solo desde Cloud Storage o mediante HTTP POST
C
288
Además de la ingesta por lotes y la ingesta streaming, ¿qué otro método gestionado permite la ingesta de fuentes como Google Ads y YouTube, y soporta consultas programadas? A. Query Materialization. B. Federated Query. C. Data Transfer Service. D. Streaming Write AP
C
289
¿En qué escenario se recomendaría el enfoque Extract and Load (EL)? A. Cuando se necesita transformación y enriquecimiento antes de cargar los datos. B. Para conjuntos de datos experimentales donde se desconoce la transformación necesaria. C. Para la carga por lotes de datos históricos o cargas periódicas programadas de archivos de registro (e.g., una vez al día), siempre que los datos ya estén limpios y correctos. D. Cuando se integra con sistemas CI/CD
C
290
¿Qué afirmación describe mejor el modelo Extract, Load, and Transform (ELT) en BigQuery? A. La transformación se realiza externamente (e.g., usando Dataflow) antes de que los datos aterricen en BigQuery. B. Los datos se extraen de archivos en almacenamiento externo, se cargan en BigQuery, y la transformación se realiza mediante vistas o almacenamiento en nuevas tablas (usando SQL). C. Es el método recomendado para integraciones CI/CD. D. Es ideal para casos de uso que requieren streaming continuo
B
291
¿Cuál es la mejor práctica recomendada al decidir entre ELT y ETL al trabajar con BigQuery? A. Priorizar ETL para aprovechar las funciones de calidad de datos antes de la carga. B. Preferir ELT hacia BigQuery sobre ETL siempre que sea posible. C. Usar Dataflow para todas las tareas de transformación, independientemente del tamaño. D. Cargar siempre directamente en tablas de informes
B
292
¿Qué herramienta se recomienda para canalizaciones de streaming y para acelerar trabajos por lotes grandes y complejos, a menudo asociada con un enfoque ETL? A. Cloud Functions. B. Cloud Composer. C. Cloud Spanner. D. Dataflow
D
293
¿Qué formatos de archivo se mencionan como compatibles para la ingesta permanente de datos en BigQuery? (Respuesta Múltiple) A. CSV. B. JSON. C. Avro. D. Parquet
A, B, C y D
294
Respecto al rendimiento del formato de datos durante la ingesta, ¿cuál es el orden correcto de más rápido a más lento? A. CSV (Comprimido), JSON, Avro (Comprimido). B. Avro (Comprimido), Parquet/ORC, CSV. C. JSON (Comprimido), Parquet/ORC, Avro (Sin Comprimir). D. Parquet/ORC, CSV, Avro (Comprimido)
B
295
¿Cuáles son las características principales de la carga por lotes de datos en BigQuery? (Respuesta Múltiple) A. La carga por lotes tiene un costo asociado por petabyte transferido. B. La carga por lotes no consume capacidad de consulta. C. BigQuery soporta la carga de petabytes por día. D. El límite es de 1500 cargas por tabla por día para evitar el rápido aumento de metadatos debido al microbatching
B, C y D
296
¿Qué mecanismo utiliza BigQuery para el respaldo y la recuperación ante desastres a nivel de servicio? A. Backups manuales programados cada 24 horas. B. Replicación a múltiples regiones. C. Viaje en el tiempo (time travel) o instantánea de un punto en el tiempo (hasta 7 días). D. Uso obligatorio de Dataflow para replicar los datos
C
297
¿Qué permite a los usuarios de BigQuery consultar datos de streaming sin tener que esperar a que finalice una carga completa por lotes? A. El uso exclusivo de archivos ORC. B. El búfer de streaming. C. Las consultas federadas a Cloud Storage. D. El límite de 1500 cargas diarias
B
298
¿Cuál es la principal desventaja o semántica de la API de Streaming Legada (insertAll)? A. Semántica de entrega Exactly-once (exactamente una vez). B. Semántica de At-least-once (al menos una vez) y consistencia eventual. C. Garantía de deduplicación perfecta. D. Disponibilidad instantánea para lectores
B
299
Al usar el conector BigQueryIO de Dataflow, ¿qué característica se asocia con el método STREAMING_INSERTS? A. Optimizado para baja latencia. B. Totalmente gratuito. C. Sin riesgo de duplicación de datos. D. Uso del método FILE_LOADS
A
300
¿Cuál es una característica clave del modo BATCH_LOADS de BigQueryIO en Dataflow, en comparación con STREAMING_INSERTS? A. Se optimiza para el límite de 100K QPS por tabla. B. Es gratuito, aunque requiere más ajuste. C. Paga por cada inserción. D. Está diseñado para baja latencia y disponibilidad inmediata
B
301
¿Cuál es el límite máximo de ingesta de datos en streaming por segundo en las multirregiones de EE. UU. y la UE utilizando la API Legada de Streaming? A. 3 GB por segundo. B. 100 MB por segundo. C. 1 GB por segundo. D. 300 MB por segundo
C
302
¿Cuál es el objetivo principal del BigQuery Storage Write API? A. Extender el tiempo entre la ingesta y la disponibilidad para el análisis. B. Garantizar la entrega Exactly-once (exactamente una vez) sin lógica de deduplicación personalizada. C. Aumentar el costo de la ingesta de streaming. D. Ofrecer una API únicamente para procesos por lotes
B
303
¿Cuál es la abstracción central en la BigQuery Storage Write API para escribir datos en una tabla? A. Un buffer. B. Una vista. C. Una conexión gRPC. D. Un stream (flujo de escritura)
D
304
Dentro de la BigQuery Storage Write API, ¿qué tipos de stream (flujo) se pueden originar? (Respuesta Múltiple) A. El Default stream (flujo predeterminado). B. El Application-created stream (flujo creado por la aplicación). C. El External stream. D. El Legacy stream
A y B
305
¿Qué modo de stream es el más transaccional y requiere que el stream sea finalizado y comprometido (committed) antes de que los datos sean visibles? A. COMMITTED. B. DEFAULT. C. PENDING. D. BUFFERED
C
306
En el flujo de trabajo del modo PENDING, ¿qué paso es necesario para que los datos sean visibles después de que el stream ha sido finalizado? A. Usar la llamada FinalizeWriteStream (opcional en PENDING). B. Usar la operación FlushRows. C. Usar la llamada BatchCommitWriteStreams. D. Apéndice sin offset
C
307
¿Qué ocurre cuando un cliente intenta anexar registros en la Storage Write API antes del offset actual del stream? A. Se genera un error OUT_OF_RANGE. B. Se genera un error ALREADY_EXISTS. C. Los datos se insertan automáticamente sin offset. D. El stream se finaliza
B
308
¿Cuál es el tamaño máximo permitido para una solicitud AppendRows en la BigQuery Storage Write API? A. 3 GB. B. 10 TB. C. 10 MB. D. 1500 cargas
C
309
Respecto a las mejores prácticas de la Storage Write API, ¿qué recomendación se hace sobre las llamadas a AppendRows? A. Bloquear la ejecución en las llamadas a AppendRows. B. Limitar la tasa de creación de streams. C. No bloquear la ejecución en las llamadas a AppendRows. D. Usar un offset aleatorio
C
310
¿Qué sucede con los resultados de todas las consultas ejecutadas en BigQuery, independientemente de si el usuario guarda explícitamente los resultados? A. Los resultados se descartan si no se especifica una tabla de destino. B. Los resultados se guardan en una tabla temporal o permanente. C. Los resultados se guardan solo si se utiliza una consulta federada. D. Se guarda una copia en Cloud Storage
B
311
¿Cuál es la duración máxima de una tabla temporal creada automáticamente cuando no se especifica una tabla de destino para los resultados de la consulta? A. 7 días. B. 24 horas. C. 4 horas. D. Ilimitada
B
312
Al especificar una tabla de destino para los resultados de una consulta, ¿qué opciones de preferencia de escritura están disponibles si la tabla de destino ya existe? (Respuesta Múltiple) A. Escribir si está vacía (Write if empty). B. Anexar registros (Append records). C. Sobrescribir tabla (Overwrite table). D. Crear siempre una nueva tabla, incluso si ya existe
A, B y C
313
¿Qué permite la funcionalidad de consulta federada de BigQuery? A. Cargar datos permanentemente en BigQuery Managed Storage. B. Derivar resultados de consulta en forma de tablas anónimas. C. Consultar fuentes de datos externas (como Cloud Storage, Cloud SQL, o Bigtable) directamente, sin necesidad de cargar los datos en el almacenamiento gestionado de BigQuery. D. Garantizar consistencia total de los datos
C
314
¿Cuáles son los inconvenientes o limitaciones conocidos al consultar fuentes de datos externas directamente (consultas federadas)? (Respuesta Múltiple) A. Desventajas significativas en el rendimiento. B. La consistencia de los datos no está garantizada. C. No se pueden usar comodines de tabla (table wildcards). D. El uso de SQL DDL está prohibido
A, B y C
315
¿Cuál es el propósito fundamental del BigQuery Data Transfer Service? A. Ofrecer una solución de streaming de baja latencia. B. Simplificar y automatizar el movimiento de datos a BigQuery de forma programada y gestionada. C. Ejecutar transformaciones ETL complejas en la capa de almacenamiento. D. Gestionar la ingesta mediante bq load exclusivamente
B
316
El Data Transfer Service admite la transferencia automática de datos desde múltiples fuentes. ¿Qué ejemplos de fuentes se mencionan que son compatibles con DTS? (Respuesta Múltiple) A. Google Ads. B. YouTube. C. Amazon S3. D. Cloud Storage
A, B, C y D
317
¿Cuáles son las opciones de programación disponibles para los trabajos de transferencia de DTS? (Respuesta Múltiple) A. Diario. B. Semanal. C. Mensual. D. Bajo Demanda (On Demand)
A, B, C y D
318
¿Qué término se define como la configuración creada por los usuarios con credenciales, programa, destino de BigQuery y metadatos requeridos para programar la ejecución de las transferencias? A. Fuente de datos (Data source). B. Ejecución de transferencia (Transfer run). C. Configuración de transferencia (Transfer configuration). D. Job de consulta
C
319
¿Qué opciones se proporcionan para la notificación de fallas o el seguimiento de la ejecución de trabajos de transferencia? (Respuesta Múltiple) A. Correo electrónico. B. Tema de Pub/Sub. C. Llamadas telefónicas automáticas. D. Mensajes de texto SMS
A y B
320
¿Qué caracteriza a la ingesta por lotes en BigQuery? A. Los datos se reciben de forma continua B. Todos los datos llegan de una vez o no llegan C. Los datos se cargan sólo mediante streaming D. Requiere configuración de buffer manual
B
321
¿Cuál de las siguientes afirmaciones describe mejor la ingesta por streaming en BigQuery? A. Los datos se cargan sólo desde Cloud Storage B. Los datos no están disponibles hasta que termina el lote C. Los datos pueden consultarse inmediatamente desde el buffer D. Los datos deben transformarse antes de cargarse
C
322
¿Cuál de los siguientes servicios permite la ingesta gestionada de datos desde fuentes como Google Ads o YouTube? A. Cloud Composer B. Data Transfer Service C. Dataflow D. Cloud Storage
B
323
¿Qué opción es más adecuada si tus datos ya están limpios y sólo necesitas cargarlos? A. EL B. ELT C. ETL D. Streaming
A
324
¿Qué componente puede usarse para orquestar cargas periódicas de datos a BigQuery? A. Cloud Functions B. Cloud Composer C. Cloud Scheduler D. Cualquiera de los anteriores
D
325
¿En qué casos se recomienda ELT sobre EL o ETL? A. Cuando las transformaciones pueden expresarse en SQL B. Cuando el dataset está sucio C. Cuando los datos se transforman fuera de BigQuery D. Cuando no se necesitan transformaciones
A
326
¿Qué arquitectura usarías para transformar datos experimentales que aún no sabes cómo adaptar? A. EL B. ELT C. ETL D. Ninguna
B
327
¿Qué enfoque prioriza el documento como buena práctica en BigQuery? A. ETL B. EL C. ELT D. SQL transform
C
328
¿Qué servicio se recomienda para pipelines de streaming o grandes cargas complejas? A. Cloud Storage B. Cloud Composer C. Dataflow D. Dataprep
C
329
Qué característica tiene la carga por lotes en BigQuery? A. Tiene coste por inserción B. No consume capacidad de consulta C. No soporta transacciones ACID D. Sólo acepta JSON
B
330
¿Qué formatos de archivo son compatibles con cargas por lotes en BigQuery? A. CSV, JSON, Avro, Parquet, ORC B. XLSX, TXT, XML C. CSV, TXT, ZIP D. Avro, PDF, Parquet
A
331
¿Cuál es la mejor práctica en cuanto a formato de datos para cargas rápidas? A. JSON sin comprimir B. CSV comprimido C. Avro comprimido D. JSON comprimido
C
332
¿Cuál es el límite de cargas por tabla y día para evitar exceso de metadatos? A. 500 B. 1000 C. 1500 D. 2000
C
333
¿Qué herramienta permite restaurar un punto en el tiempo hasta 7 días atrás? A. Cloud Storage B. Cloud SQL C. BigQuery Time Travel D. Pub/Sub
C
334
¿Qué comando permite copiar una tabla en un estado anterior usando snapshot? A. bq copy B. bq load C. bq query D. bq cp
D
335
¿Cuál es la principal ventaja de la ingesta por streaming? A. Bajo coste B. Disponibilidad inmediata para consultas C. Requiere ETL previo D. Alta latencia
B
336
¿Qué API se utilizaba antes para ingesta por streaming y tiene semántica “al menos una vez”? A. Storage Write API B. Legacy Streaming API C. Dataflow API D. Load API
B
337
¿Qué problema presenta la API de streaming heredada? A. No admite formato Avro B. No es compatible con SQL C. Posibles duplicados D. Baja disponibilidad
C
338
¿Cuál es el límite aproximado de inserción por streaming en regiones US/EU? A. 100 MB/s B. 300 MB/s C. 1 GB/s D. 3 GB/s
C
339
¿Qué librería de cliente se usa en Python para la API de BigQuery? A. google-api-python B. google.cloud.bigquery C. bigquery.connector D. gcloud-core
B
340
¿Qué permiso es necesario para insertar datos mediante API? A. roles/viewer B. roles/owner C. roles/bigquery.dataEditor D. roles/bigquery.admin
C
341
¿Qué método de Dataflow usa inserciones directas con baja latencia? A. STREAMING_INSERTS B. FILE_LOADS C. TABLE_APPEND D. LOAD_BATCH
A
342
¿Qué método de Dataflow realiza cargas por lotes periódicas gratuitas? A. STREAMING_INSERTS B. FILE_LOADS C. BUFFERED_STREAMS D. STREAM_WRITES
B
343
¿Qué semántica garantiza exactamente una inserción por registro? A. At-least-once B. Exactly-once C. Best-effort D. Eventual
B
344
¿Qué protocolo usa la Storage Write API para eficiencia? A. HTTP B. REST C. gRPC D. SOAP
C
345
¿Qué tipo de stream se crea por defecto en todas las tablas? A. Buffered B. Pending C. Default D. Committed
D
346
En el modo BUFFERED, ¿cuándo se hacen visibles los datos? A. Al insertar B. Al finalizar el stream C. Al ejecutar FlushRows D. Tras 24 horas
C
347
En el modo PENDING, ¿qué acción es obligatoria para que los datos sean visibles? A. AppendRows B. FlushRows C. FinalizeWriteStream y BatchCommitWriteStreams D. CreateWriteStream
C
348
¿Qué error indica que se intenta escribir antes del offset actual? A. OUT_OF_RANGE B. ALREADY_EXISTS C. INVALID_OFFSET D. DUPLICATE_APPEND
B
349
¿Cuál es el tamaño máximo de una solicitud AppendRows? A. 1 MB B. 5 MB C. 10 MB D. 50 MB
C
350
¿Cuántas conexiones simultáneas se permiten en US/EU multi-región? A. 100 B. 1000 C. 5000 D. 10.000
D
351
¿Qué práctica se recomienda para lograr exactly-once? A. Reintentar sin control de offset B. Gestionar offsets de stream C. Usar AppendRows en paralelo sin control D. Bloquear en cada llamada
B
352
¿Qué ocurre con los resultados de cualquier consulta en BigQuery? A. Se pierden tras la ejecución B. Se guardan en una tabla temporal o permanente C. Se envían a Cloud Storage D. Se almacenan en memoria
B
353
¿Cuánto tiempo duran las tablas temporales creadas por consultas? A. 12 horas B. 24 horas C. 48 horas D. Hasta borrar el proyecto
B
354
¿Qué opción de escritura permite reemplazar el contenido de una tabla existente? A. Write if empty B. Write append C. Write truncate D. Overwrite
D
355
¿Qué diferencia hay entre CREATE OR REPLACE TABLE y CREATE TABLE IF NOT EXISTS? A. La primera reemplaza, la segunda sólo crea si no existe B. Ambas hacen lo mismo C. La segunda borra siempre la tabla D. La primera sólo se usa en scripts
A
356
¿Qué ventaja ofrece la consulta federada en BigQuery? A. Evita ETL al consultar directamente fuentes externas B. Mejora el rendimiento C. Permite modificar datos externos D. Requiere importar primero los datos
A
357
¿Cuáles son ejemplos de fuentes soportadas para federación? A. Cloud SQL, Cloud Spanner, Cloud Storage B. Bigtable, Pub/Sub, Firestore C. Dataproc, AI Platform, Vertex AI D. Solo Cloud Storage
A
358
¿Qué limitación tienen las consultas a fuentes externas? A. No permiten WHERE B. No soportan JOIN C. No garantizan consistencia ni alto rendimiento D. No devuelven resultados
C
359
¿Cuál es el propósito principal de BigQuery Data Transfer Service? A. Consultar datos externos B. Automatizar transferencias programadas C. Cargar datos manualmente D. Procesar transformaciones SQL
B
360
¿Qué tipo de tareas puede ejecutar el servicio? A. Transferencias programadas B. Backfills de datos C. Migraciones de data warehouse D. Todas las anteriores
D
361
¿Qué frecuencia se puede definir en un trabajo de transferencia? A. Cada minuto B. Diario, semanal, mensual, personalizado o bajo demanda C. Solo diaria D. Sólo semanal
B
362
¿Qué componentes intervienen en un flujo de Data Transfer Service? A. Data source, Transfer configuration, Transfer run B. Dataset, Job, Pub/Sub C. Storage, View, Table D. API, Trigger, Batch
A
363
¿Qué servicios SaaS están soportados? A. YouTube, Google Ads, Salesforce, Amazon S3 B. Sheets, Docs, Drive, Meet C. Vertex AI, Cloud Build D. Gmail, Maps
A
364
¿Cómo puede un usuario recibir notificaciones de errores en transferencias? A. Cloud Tasks B. Pub/Sub o correo electrónico C. Cloud Logging únicamente D. Stackdriver
B
365
¿Cuál es una ventaja clave de la ingestión por lotes frente al streaming en sistemas de almacén de datos? A) Permite la consulta inmediata de datos antes de finalizar el proceso. B) Consume menos capacidad de consulta y es gratuita. C) Garantiza duplicidad de registros en todos los casos. D) Es imprescindible para integraciones con Pub/Sub.
B
366
¿Cuáles de los siguientes métodos permiten la ingestión de datos en un almacén centralizado? (Múltiple) A) Ingestión por lotes (batch) B) Ingestión en streaming C) Materialización de consultas D) Transferencia gestionada de terceros
A, B , C y D
367
Cuando se usan flujos de datos continuos provenientes de aplicaciones web o móviles, ¿qué método de ingestión de datos se recomienda? A) ETL clásico B) Streaming C) Lote diario D) Ingestión por API REST solo
B
368
¿Qué combinación describe correctamente los modelos de ingestión basados en transformación? (Múltiple) A) EL: Extraer y cargar sin transformar B) ELT: Extraer, cargar y luego transformar con SQL C) ETL: Extraer, transformar y cargar D) LT: Cargar y transformar únicamente
A, B y C
369
En un proceso ELT, ¿dónde suelen residir los scripts de transformación? A) En la fuente original de datos B) En el motor de consultas del almacén C) Únicamente en sistemas externos D) En archivos comprimidos
B
370
¿Qué herramientas pueden utilizarse para orquestar cargas programadas de datos limpias a un almacén? (Múltiple) A) Cloud Functions B) Cloud Composer C) Consultas programadas D) UI scripts
A, B y C
371
¿Cuál de los siguientes formatos de archivo suele proporcionar mayor rendimiento para cargas masivas en almacenes de datos? A) JSON comprimido B) Avro comprimido C) CSV sin comprimir D) Parquet
B y D
372
En BigQuery, ¿qué práctica es recomendada antes de publicar datos en tablas de reporte? A) Cargar datos directamente en tablas finales B) Utilizar buffers y tablas en bruto o staging C) Evitar la transformación de datos D) Usar siempre el API de streaming legacy
B
373
¿Cuáles son características de los trabajos de carga por lotes? (Múltiple) A) Gratis y no consumen capacidad de consulta B) Aplican semánticas ACID C) Permiten cargas en múltiples formatos D) Apoyados por API REST y librerías cliente
A, B, C y D
374
¿Cuál es el límite diario de cargas por tabla para evitar incremento rápido de metadatos? A) 500 B) 1500 C) 10,000 D) 30,000
B
375
¿Qué funcionalidad permite restaurar el estado de una tabla a un punto concreto en el tiempo? A) Backup manual diario B) Snapshots (time travel) C) Incrementos automáticos D) Buffer temporal
B
376
Para realizar un backup de una tabla usando DDL SQL, ¿qué propiedad se debe especificar? A) SELECT * REPLACE B) FOR SYSTEM_TIME AS OF C) CREATE TABLE IF NOT EXISTS D) USING SNAPSHOT
B
377
¿En qué escenarios es preferible la ingestión por streaming sobre la ingestión por lotes? (Múltiple) A) Procesos que requieren insights en tiempo real B) Cuando los datos se generan continuamente C) Cuando la latencia no es relevante D) Procesos de carga histórica
A y B
378
¿Cuáles son características de la API de Streaming original (legacy)? (Múltiple) A) Semántica de al menos una vez (at-least-once) B) Consistencia eventual C) Deduplicación garantizada y automática D) Bajo costo en operación
A y B
379
¿Qué error devuelve el sistema si se intenta insertar registros en una posición ya ocupada del stream? A) NOT_FOUND B) ALREADY_EXISTS C) PERMISSION_DENIED D) OUT_OF_RANGE
B
380
¿Cuál es la principal ventaja de la BigQuery Storage Write API frente al insertAll legacy? A) Permite exactamente una vez (exactly-once) entrega B) Solo permite cargas programadas C) No detecta cambios de esquema D) Tiene costo superior
A
381
En la Storage Write API, ¿cuáles son los modos de escritura disponibles? (Múltiple) A) COMMITTED B) BUFFERED C) PENDING D) HISTORICAL
A, B y C
382
¿Qué operación es necesaria en el modo PENDING para que los datos sean visibles para consulta? A) FlushRows B) FinalizeWriteStream C) BatchCommitWriteStreams D) CreateWriteStream
B y C
383
¿Cuáles de los siguientes límites aplican para la Storage Write API? (Múltiple) A) Máximo 10,000 streams por tabla en cada commit B) Máximo 10 MB por solicitud AppendRows C) 30,000 streams creados por proyecto cada cuatro horas D) 100 conexiones concurrentes globales
A, B y C
384
¿Qué buenas prácticas son recomendadas al usar la Storage Write API? (Múltiple) A) Limitar el número de conexiones concurrentes B) Gestionar offsets correctamente C) No bloquear llamadas AppendRows D) Manejar actualizaciones de esquema
A, B, C y D
385
¿Qué sucede si no se especifica una tabla destino al ejecutar una consulta sobre datos? A) Se sobrescribe la tabla original B) Se crea una tabla temporal con los resultados C) Se eliminan los resultados D) Se produce un error
B
386
¿Cuánto tiempo permanecen los resultados de una consulta guardada en una tabla temporal? A) 1 hora B) 24 horas C) 7 días D) Permanentemente
B
387
¿Qué limitaciones existen al consultar directamente fuentes externas desde el motor de análisis? (Múltiple) A) Reducción de rendimiento B) Inconsistencia potencial de datos C) Imposibilidad de usar comodines en nombres de tabla D) Carga automática en almacenamiento gestionado
A, B y C
388
¿Qué herramientas suelen utilizarse para federar consultas entre sistemas nativos y externos? A) Conectores platform-specific B) Federated query C) Cloud SQL D) Buffer temporal
B y C
389
¿Cuáles son capacidades clave del servicio de transferencia gestionada de datos? (Múltiple) A) Transferencias programadas y automáticas B) Más de 100 conectores SaaS soportados C) Soporte para notificaciones vía correo y Pub/Sub D) Transformación y parametrización de rutas
A, B, C y D
390
En el Data Transfer Service, ¿qué componente determina credenciales, destino y horario de ejecución? A) Data source B) Transfer configuration C) Transfer run D) Destination dataset
B
391
¿Cuál es el flujo típico de trabajo de un servicio programado de transferencia de datos? (Múltiple) A) Selección de fuente de datos B) Creación de configuración de transferencia C) Ejecución de transfer run D) Procesamiento en staging antes de almacenamiento
A, B, C y D
392
¿Cuál de las siguientes opciones describe mejor el propósito de la ingesta por lotes (Batch Ingestion)? A. Ingesta continua de datos desde múltiples fuentes en tiempo real. B. Carga de grandes volúmenes de datos que han sido recopilados durante un período de tiempo. C. Ejecución de consultas sobre fuentes de datos externas sin cargarlas previamente. D. Creación de tablas a partir de los resultados de una consulta SELECT.
B
393
¿Qué método de ingesta es más adecuado para datos que llegan de forma continua desde aplicaciones móviles o sistemas de punto de venta? A. Ingesta por lotes (Batch Ingestion). B. Ingesta en tiempo real (Streaming Ingestion). C. Materialización de consultas (Query Materialization). D. Servicio de Transferencia de Datos (Data Transfer Service).
B
394
¿Qué servicio gestionado se especializa en la ingesta programada y automatizada de datos desde fuentes como Google Ads, YouTube o aplicaciones SaaS de terceros? A. API de Streaming. B. Materialización de consultas. C. Servicio de Transferencia de Datos (Data Transfer Service). D. Carga por lotes desde almacenamiento en la nube.
C
395
En un proceso de datos, ¿qué significa el patrón "EL" (Extract and Load)? A. Los datos se extraen, se transforman en un sistema intermedio y luego se cargan en el destino. B. Los datos se extraen de la fuente y se cargan directamente en el destino sin transformaciones previas. C. Los datos se cargan primero en el destino y luego se utilizan las capacidades del sistema de destino para transformarlos. D. Los datos se extraen y se mantienen en una caché para consultas rápidas.
B
396
¿En qué escenario es más apropiado utilizar un enfoque "EL" (Extract and Load)? A. Cuando los datos de origen requieren un enriquecimiento y limpieza complejos antes de ser analizados. B. Para cargas periódicas programadas de archivos de registro que ya están limpios y en el formato correcto. C. En conjuntos de datos experimentales donde aún no se conocen las transformaciones necesarias. D. Cuando la transformación de los datos debe expresarse en un lenguaje de programación complejo.
B
397
¿Cuál es la principal característica de un pipeline de datos "ELT" (Extract, Load, and Transform)? A. La transformación de los datos ocurre antes de que lleguen al data warehouse. B. Se utiliza un servicio intermedio como Dataflow para realizar todas las transformaciones. C. Los datos se cargan primero en el data warehouse en su formato original y se transforman posteriormente usando el motor de consultas del propio warehouse. D. Se enfoca exclusivamente en la carga de datos sin ninguna transformación.
C
398
¿Para qué tipo de conjunto de datos es especialmente útil el enfoque "ELT"? A. Para datos que requieren control de calidad estricto antes de la carga. B. Para conjuntos de datos de producción donde las transformaciones pueden expresarse eficientemente en SQL. C. Para casos de uso que requieren streaming de baja latencia. D. Únicamente para la carga de archivos pequeños y limpios.
B
399
¿Cuándo se recomendaría construir un pipeline "ETL" (Extract, Transform, and Load) tradicional? A. Cuando los datos ya están limpios y no se necesita ninguna transformación. B. Cuando se requiere un control de calidad, enriquecimiento o transformaciones complejas antes de que los datos sean cargados en el data warehouse. C. Cuando se quiere aprovechar la potencia de cómputo del data warehouse para las transformaciones. D. Para cargas de datos históricas que se realizan una sola vez.
B
400
¿Cuál es una de las mejores prácticas recomendadas al elegir entre ETL y ELT para la ingesta de datos en un data warehouse moderno? A. Siempre preferir ETL porque garantiza la mejor calidad de los datos. B. Usar exclusivamente ETL para streaming y ELT para lotes. C. Preferir el enfoque ELT siempre que sea posible para aprovechar la escalabilidad del data warehouse. D. Evitar el uso de SQL para transformaciones en ambos enfoques.
C
401
¿Cuál es una práctica recomendada al trabajar con pipelines de datos complejos? A. Publicar los datos directamente en las tablas de reporting finales. B. Cargar los datos en tablas "raw" o de "staging" antes de procesarlos y publicarlos en las tablas finales. C. Realizar todas las transformaciones en la fuente de datos original. D. Evitar el uso de herramientas de orquestación.
B
402
¿Cuál de las siguientes afirmaciones sobre la carga de datos por lotes (bulk loading) en BigQuery es cierta? A. Tiene un costo asociado basado en la cantidad de datos cargados. B. Consume capacidad de consulta (slots) durante el proceso. C. Es un servicio gratuito. D. Está limitado a cargar solo unos pocos gigabytes por día.
C
403
¿Qué propiedad garantiza que una operación de carga de datos se complete en su totalidad o no se complete en absoluto, manteniendo la consistencia? A. Cumplimiento de SQL:2011. B. Semántica ACID. C. Replicación multirregional. D. Cifrado en reposo.
B
404
Desde una perspectiva de rendimiento, ¿cuál de los siguientes formatos de archivo se considera generalmente el más rápido para la ingesta de datos por lotes? A. JSON (Comprimido). B. CSV (Comprimido). C. Avro (Comprimido). D. CSV (Sin comprimir).
C
405
¿Cuál de los siguientes formatos de archivo es de tipo columnar, lo que puede ofrecer un buen rendimiento de carga y consulta? (Seleccione dos) A. CSV. B. Parquet. C. ORC. D. JSON.
B y C
406
¿Cuál es el límite predeterminado de trabajos de carga por lotes que se pueden ejecutar por tabla y por día? A. 100 cargas. B. 1,000 cargas. C. 1,500 cargas. D. No hay límite.
C
407
¿Qué función de BigQuery permite recuperar datos de una tabla tal como existían en un punto específico en el pasado, útil para la recuperación de desastres? A. Instantáneas de tabla (Table Snapshots). B. Viaje en el tiempo (Time Travel). C. Vistas materializadas. D. Replicación de tablas.
B
408
¿Cuál es el principal beneficio de la ingesta por streaming en comparación con la ingesta por lotes? A. Es gratuita. B. Permite que los datos estén disponibles para su consulta casi inmediatamente después de ser enviados. C. No tiene límites de cuota. D. Soporta más formatos de datos.
B
409
¿Cuál de las siguientes es una característica de la API de streaming "legacy" (heredada)? A. Semántica de entrega "exactamente una vez" (exactly-once). B. Consistencia inmediata. C. Semántica de añadido "al menos una vez" (at-least-once) y consistencia eventual. D. Deduplicación de datos garantizada y sin costo.
C
410
Al utilizar Dataflow para escribir en BigQuery, ¿qué método está optimizado para la baja latencia pero puede incurrir en costos por cada inserción y potencialmente duplicar datos? A. withMethod(FILE_LOADS) B. withTriggeringFrequency(...) C. withMethod(STREAMING_INSERTS) D. withMethod(BATCH_LOADS)
C
411
Al utilizar el conector de Dataflow para BigQuery, ¿qué método de escritura es gratuito y garantiza que no haya duplicados, pero requiere más ajuste y no ofrece baja latencia? A. STREAMING_INSERTS B. BATCH_LOADS / FILE_LOADS C. LEGACY_STREAMING D. API_INSERT
B
412
¿Cuál es el principal objetivo al buscar una semántica de entrega "exactamente una vez" (exactly-once) en la ingesta de datos? A. Acelerar la velocidad de ingesta. B. Reducir los costos de almacenamiento. C. Asegurar que los datos estén limpios, sin duplicados, y disponibles rápidamente para el análisis. D. Simplificar la configuración del pipeline.
C
413
¿Cuáles son las ventajas clave de la API BigQuery Storage Write en comparación con la API de streaming heredada? (Seleccione todas las que apliquen) A. Costo significativamente más bajo. B. Semántica de ingesta "exactamente una vez". C. Unifica la ingesta por lotes y por streaming. D. Utiliza un protocolo gRPC eficiente.
A, B, C y D
414
¿Cuál es la abstracción principal en la API Storage Write para escribir datos en una tabla? A. Un trabajo (Job). B. Una transacción (Transaction). C. Un flujo (Stream). D. Un búfer (Buffer).
C
415
Dentro de la API Storage Write, ¿qué tipo de flujo (stream) está presente en todas las tablas por defecto y confirma automáticamente los datos a medida que se procesan? A. Flujo creado por la aplicación (Application-created stream). B. Flujo PENDING. C. Flujo BUFFERED. D. Flujo por defecto (Default stream).
D
416
¿Qué modo de flujo (stream mode) en la API Storage Write es el más transaccional, requiriendo que el flujo sea finalizado y confirmado explícitamente antes de que los datos sean visibles? A. COMMITTED. B. BUFFERED. C. PENDING. D. DEFAULT.
C
417
En el modo de flujo "COMMITTED" de la API Storage Write, ¿cuándo se hacen visibles los datos? A. Después de una llamada explícita a FlushRows. B. Automáticamente a medida que las solicitudes son procesadas por el backend. C. Solo después de que el flujo se finaliza y se confirma en un lote. D. Después de un retraso de varios minutos.
B
418
¿Qué se requiere en cada solicitud de añadido (append request) a un flujo en la API Storage Write para garantizar la semántica "exactamente una vez"? A. Un ID de transacción. B. Un offset de añadido. C. Una marca de tiempo. D. El esquema de la tabla.
B
419
Al usar la API Storage Write, ¿qué error ocurre si un cliente intenta añadir registros en una posición (offset) que ya ha sido escrita? A. OUT_OF_RANGE. B. SCHEMA_MISMATCH. C. ALREADY_EXISTS. D. PERMISSION_DENIED.
C
420
¿Qué llamada a la API es necesaria en el modo PENDING para hacer que los datos de un grupo de flujos estén disponibles para su lectura de forma atómica? A. AppendRows. B. FinalizeWriteStream. C. CreateWriteStream. D. BatchCommitWriteStreams.
D
421
¿Cuál es el tamaño máximo de una solicitud AppendRows en la API Storage Write? A. 1 MB. B. 10 MB. C. 100 MB. D. 1 GB.
B
422
¿Cuál de las siguientes es una de las mejores prácticas al utilizar la API Storage Write? A. Crear un nuevo flujo para cada registro individual que se va a escribir. B. Limitar la tasa de creación de flujos y reutilizarlos cuando sea posible. C. Bloquear el proceso mientras se espera la respuesta de cada llamada a AppendRows. D. Ignorar las actualizaciones de esquema durante la ingesta.
B
423
¿Qué sucede con los resultados de CUALQUIER consulta ejecutada en BigQuery? A. Se muestran en pantalla pero no se guardan en ningún sitio. B. Se guardan siempre en una tabla permanente especificada por el usuario. C. Se guardan en una tabla, ya sea temporal o permanente. D. Se envían por correo electrónico al usuario.
C
424
Si se ejecuta una consulta sin especificar una tabla de destino, ¿qué ocurre con los resultados? A. La consulta falla. B. Se crea automáticamente una tabla temporal para almacenar los resultados, que dura 24 horas. C. Los resultados se pierden una vez que se cierra la sesión. D. Se solicita al usuario que guarde los resultados en un archivo local.
B
425
¿Cuál es la diferencia fundamental entre una sentencia CREATE OR REPLACE TABLE y CREATE TABLE IF NOT EXISTS? A. La primera siempre crea una tabla nueva, mientras que la segunda falla si la tabla ya existe. B. La primera sobrescribirá la tabla si ya existe, mientras que la segunda no hará nada si la tabla ya existe. C. Ambas son idénticas en funcionalidad. D. La primera se usa para vistas y la segunda para tablas.
B
426
¿Qué capacidad permite a BigQuery ejecutar consultas directamente sobre datos almacenados en Cloud Storage, Cloud SQL o Spanner sin cargarlos primero en el almacenamiento gestionado de BigQuery? A. Vistas materializadas. B. Consultas federadas (Federated Queries). C. Ingesta por streaming. D. Carga por lotes.
B
427
¿Cuáles son algunas de las limitaciones o desventajas de consultar directamente fuentes de datos externas? (Seleccione todas las que apliquen) A. Peor rendimiento en comparación con las tablas nativas. B. La consistencia de los datos no está garantizada. C. No se pueden usar comodines (wildcards) de tabla. D. Es más caro que consultar tablas nativas.
A, B y C
428
¿Cuál es el propósito principal del BigQuery Data Transfer Service (DTS)? A. Proporcionar una API de baja latencia para la ingesta de eventos. B. Simplificar y automatizar el movimiento de datos desde aplicaciones SaaS y otras fuentes a BigQuery de forma programada. C. Transformar datos utilizando pipelines complejos de Dataflow. D. Permitir la consulta de datos en tiempo real sin moverlos.
B
429
¿Qué tipo de funcionalidad ofrece el BigQuery Data Transfer Service? (Seleccione todas las que apliquen) A. Transferencias automáticas y programadas. B. Rellenado de datos históricos (backfills). C. Es un servicio totalmente gestionado. D. Soporte para más de 100 aplicaciones SaaS.
A, B, C y D
430
En la terminología del Data Transfer Service, ¿qué es una "Configuración de transferencia" (Transfer configuration)? A. El trabajo programado que se ejecuta en un momento específico. B. La fuente de donde se leen los datos. C. La definición creada por el usuario que incluye credenciales, programación y destino de los datos. D. El registro de una ejecución de transferencia exitosa o fallida.
C
431
En el flujo de trabajo del BigQuery Data Transfer Service, ¿qué entidad es responsable de crear las tablas y vistas en el conjunto de datos de destino? A. El usuario debe crear las tablas manualmente. B. El propio Data Transfer Service ejecuta trabajos de BigQuery para crear el esquema. C. La aplicación SaaS de origen. D. Un pipeline de Dataflow independiente.
B
432
What are the primary methods for ingesting data into a cloud data warehouse like BigQuery? A. Batch ingestion from cloud storage B. Streaming ingestion from various sources C. Query materialization from SELECT results D. Managed ingestion using a data transfer service
A, B, C y D
433
In batch ingestion, what characteristic describes the data arrival process? A. Continuous and immediate B. Snapshot-based where all data arrives at once C. Deferred until buffer is full D. Dependent on query execution
B
434
Which ingestion method provides immediate query availability from a buffer? A. Batch ingestion B. Streaming ingestion C. Query materialization D. Data transfer service
B
435
What is a key feature of query materialization in data ingestion? A. Yields data in tables from SELECT results B. Requires external file uploads C. Focuses on real-time streaming only D. Limited to anonymous destinations
A
436
Which option involves managed ingestion from sources like Google Ads or YouTube? A. Batch ingestion B. Streaming ingestion C. Query materialization D. Data transfer service
D
437
When choosing a data loading method, what factor primarily influences the decision? A. The amount of transformation needed B. The color scheme of the user interface C. The number of users accessing the data D. The geographic location of the server
A
438
In an extract and load (EL) process, what is typically extracted from cloud storage? A. Transformed data ready for reporting B. Data from files loaded into native storage C. Streaming data from mobile apps D. Query results from external sources
B
439
What tools can trigger an extract and load process? A. Cloud Functions B. Cloud Composer C. Scheduled queries D. All of the above
D
440
When is an extract and load (EL) approach most suitable? A. For batch loads of historical data B. When data is already clean and correct C. For scheduled periodic loads of log files D. All of the above
A, B, y C
441
For which scenarios is ELT recommended? A. Experimental datasets with uncertain transformations B. Production datasets where transformations are SQL-expressible C. When data requires complex non-SQL processing D. Both A and B
D
442
In an extract, load, and transform (ELT) process, where does transformation occur? A. Before loading into storage B. Using views or new tables after loading C. During streaming ingestion D. In external data sources
B
443
What command can be used to upload files to cloud storage for loading? A. gsutil -m cp B. bq load C. SELECT * FROM D. MERGE INTO
A
444
In an extract, transform, and load (ETL) process, when is transformation performed? A. After loading into the warehouse B. Before loading into the warehouse C. During query execution D. Only in batch mode
B
445
What tools are used to build ETL pipelines? A. Dataflow for streaming and batch B. Cloud Data Fusion C. Pub/Sub for messaging D. All of the above
A, B y C
446
When would you use ETL over other methods? A. For quality control before loading B. Continuous data loading requiring streaming C. Integration with CI/CD systems D. All of the above
D
447
What is a best practice for ELT/ETL in data warehousing? A. Prefer ELT over ETL where possible B. Use federated queries to load and transform in one step C. Load into raw and staging tables before reporting D. All of the above
D
448
In best practices, what tool is recommended for streaming pipelines? A. Dataflow B. Cloud Functions C. Scheduled queries D. External tables
A
449
How should you get started with streaming using templates? A. Use Google-Provided Dataflow Templates B. Build custom code from scratch C. Rely on legacy APIs only D. Avoid open source modifications
A
450
What is a key component of BigQuery architecture for ingestion? A. High-availability compute cluster B. Streaming ingest C. Free bulk loading D. All of the above
D
451
Which formats can be ingested permanently into BigQuery? A. CSV B. JSON C. Avro D. All of the above
D
452
What are features of load jobs in BigQuery? A. Batch loading is free B. ACID semantics C. Load petabytes per day D. All of the above
D
453
Which sources can provide data for loading into BigQuery tables? A. Files from SaaS B. Dataflow C. BigQuery Data Transfer Service D. All of the above
D
454
In terms of performance, which data format is fastest for ingestion into BigQuery? A. Avro (Compressed) B. CSV C. JSON D. Parquet/ORC
A
455
What command loads data from cloud storage into BigQuery? A. gsutil -m cp B. bq load C. CREATE TABLE D. INSERT INTO
B
456
In batch ingestion, what happens after a client submits a job? A. Job server processes it B. Data is read from cloud storage C. Query engine ingests and recodes D. All of the above
D
457
What formats are supported for batch ingestion? A. CSV, JSON, Avro B. Parquet, ORC C. Both A and B D. Only compressed JSON
C
458
What is a limit on batch loads per table per day? A. 500 B. 1000 C. 1500 D. 2000
C
459
How can you query a point-in-time snapshot in BigQuery? A. Using FOR SYSTEM_TIME AS OF B. With TIMESTAMP_SUB C. Both A and B D. Only via export
C
460
What command restores a table copy using snapshots? A. bq cp B. gsutil cp C. SELECT * FROM D. MERGE INTO
A
461
In BigQuery, how long can you go back for time travel recovery? A. Up to 7 days B. Up to 30 days C. Up to 1 year D. Indefinitely
A
462
What is an alternative to batch loading for real-time data? A. Streaming ingestion B. Query materialization C. Federated queries D. Data transfer jobs
A
463
In streaming ingestion, where is data initially held? A. Columnar storage B. Streaming buffer C. Extraction workers D. Query engine
B
464
What enables instant availability in streaming? A. Live readers B. Deferred creation C. Batch loads D. External tables
A
465
What network scale supports BigQuery's architecture? A. Petabit network B. Gigabit network C. Terabit network D. Megabit network
A
466
Why is streaming useful for large datasets? A. All large datasets are generated over time B. Batch is insufficient for petabytes C. Queries are slower without it D. Storage is cheaper
A
467
What allows querying data without a full batch load? A. Streaming record inserts B. Load jobs C. Federated sources D. Materialized views
A
468
What are pros of the legacy streaming system? A. Simple contract B. At-least-once semantics C. Eventual consistency D. Only A
D
469
What problems exist with legacy streaming? A. At-least-once append semantics B. Eventual consistency C. Best-effort deduplication D. All of the above
D
470
What is the streaming limit per second in US/EU multi-regions? A. 100 MB B. 300 MB C. 1 GB D. 3 GB
C
471
In Python, how do you insert streaming data into BigQuery? A. Create a client B. Get table reference C. Insert rows D. All of the above
D
472
What permissions are needed for streaming inserts? A. Cloud IAM permissions B. Read-only access C. No permissions required D. Admin only
A
473
In Dataflow BigQueryIO, what mode optimizes for low latency? A. STREAMING_INSERTS B. FILE_LOADS C. BATCH_LOADS D. TRIGGERING_FREQUENCY
A
474
What is a consideration for batch loads in Dataflow? A. Free of cost B. No duplicates C. Requires tuning D. All of the above
D
475
Why are exactly-once semantics useful in streaming? A. Guarantees no duplicates B. Makes data available faster C. Avoids custom deduplication D. All of the above
D
476
What protocol does BigQuery Storage Write API use? A. gRPC B. HTTP C. REST D. SOAP
A
477
What is a benefit of BigQuery Storage Write API over legacy? A. Exactly-once ingestion B. Lower cost C. Detects schema changes D. All of the above
D
478
What is the core abstraction in Storage Write API? A. Stream B. Table C. Buffer D. Offset
A
479
What types of streams exist in Storage Write API? A. Default stream B. Application-created stream C. Both A and B D. Only buffered streams
C
480
In COMMITTED mode, how is data made visible? A. Automatically as processed B. After flush C. After commit D. Manually
A
481
What is used in streams for ordering appends? A. Offset B. Timestamp C. ID D. Name
A
482
Can multiple streams write to the same table? A. Yes B. No C. Only in buffered mode D. Only in pending mode
A
483
What error occurs when appending before stream offset? A. ALREADY_EXISTS B. OUT_OF_RANGE C. SCHEMA_MISMATCH D. INVALID_STREAM
A
484
In COMMITTED mode API flow, what is optional? A. CreateWriteStream B. AppendRows C. FinalizeWriteStream D. BatchCommit
C
485
In BUFFERED mode, what makes rows available? A. FlushRows B. FinalizeWriteStream C. BatchCommit D. AppendRows
A
486
In PENDING mode, what is required to make data visible? A. FinalizeWriteStream B. BatchCommitWriteStreams C. Both A and B D. Only AppendRows
C
487
What client libraries support Storage Write API? A. Java B. Python C. Both A and B D. None
C
488
In Java, what writer objects are available? A. StreamWriter B. JSONStreamWriter C. Both A and B D. ProtoWriter only
C
489
For at-least-once semantics, which stream is used? A. Default stream B. Committed stream C. Buffered stream D. Pending stream
A
490
For exactly-once semantics, what stream type is used? A. COMMITTED B. BUFFERED C. PENDING D. DEFAULT
A
491
In Dataflow, what method uses Storage Write API? A. STORAGE_WRITE_API B. STREAMING_INSERTS C. FILE_LOADS D. BATCH_LOADS
A
492
What is the max commit per BatchCommitWriteStream call? A. 1,000 streams B. 10,000 streams C. 100,000 streams D. Unlimited
B
493
What is the max AppendRows request size? A. 1 MB B. 10 MB C. 100 MB D. 1 GB
B
494
How many CreateWriteStream calls per 4 hours per project? A. 3,000 B. 30,000 C. 300,000 D. Unlimited
B
495
What is the streaming limit per project in US/EU? A. 300 MBps B. 1 GBps C. 3 GBps D. 10 GBps
C
496
Best practices for Storage Write API include: A. Limit concurrent connections B. Manage stream offsets C. Handle schema updates D. All of the above
D
497
In query materialization, where are all query results saved? A. Temporary or permanent table B. External file C. Streaming buffer D. Cache only
A
498
How long do temporary tables last? A. 24 hours B. 7 days C. 30 days D. Indefinitely
A
499
To create a permanent table from a query, what steps are involved? A. Write SQL query B. Specify destination table C. Choose write preference D. All of the above
D
500
If forgetting to specify a table, how can you store results? A. Use SAVE RESULTS B. Re-run the query C. Export to file D. Use views only
A
501
What SQL statement creates a new table from data? A. CREATE OR REPLACE TABLE B. SELECT * FROM C. INSERT INTO D. MERGE
A
502
What is the difference between CREATE OR REPLACE TABLE and CREATE TABLE IF NOT EXISTS? A. REPLACE overwrites if exists B. IF NOT EXISTS skips if exists C. Both can be used interchangeably D. Both A and B
D
503
In querying external data, what can BigQuery access directly? A. Cloud Storage B. Google Drive C. Bigtable D. All of the above
D
504
What simplifies ETL pipelines with external connections? A. Federated queries B. Streaming APIs C. Load jobs D. Materialized views
A
505
Which databases support federated queries? A. Cloud SQL (Postgres, MySQL, SQL Server) B. Cloud Spanner C. Both A and B D. Only Oracle
C
506
What feature allows live updates from spreadsheets? A. Querying external data sources B. Streaming ingestion C. Batch loads D. Data transfer
A
507
What are limitations of querying external data? A. Performance disadvantages B. No data consistency guarantee C. Can't use table wildcards D. All of the above
D
508
If data is usable as is, what method is simplest? A. Just load it (EL) B. Transform first (ETL) C. Use views (ELT) D. Stream it
A
509
What does Data Transfer Service provide? A. Managed service B. Automatic transfers C. Scheduled jobs D. All of the above
D
510
What powers scheduled queries in Data Transfer Service? A. Flexible infrastructure B. Cloud Storage mirroring C. Recurring copy jobs D. All of the above
D
511
How many SaaS apps does Data Transfer Service support? A. Over 50 B. Over 100 C. Over 200 D. Over 500
B
512
Examples of supported sources in Data Transfer Service include: A. YouTube B. Google Ads C. Salesforce D. All of the above
D
513
What options does Data Transfer Service offer? A. Automatic transfers from multiple sources B. Scheduled as daily, weekly, etc. C. Wildcard support for URIs D. All of the above
D
514
What are terminologies in Data Transfer Service? A. Data source B. Transfer configuration C. Transfer run D. All of the above
D
515
How does Data Transfer Service handle transfers? A. Repeats on schedule B. Pulls from source C. Applies transformations D. All of the above
D
516
What notification options are available in Data Transfer Service? A. Email B. Pub/Sub topic C. Both A and B D. None
C
517
¿Cuál de las siguientes opciones describe mejor un método de ingesta de datos donde la información se carga en grandes bloques de una sola vez? A.Consultas federadas B.Ingesta por streaming C.Ingesta en lote (batch) D.Materialización de consultas
C
518
En el paradigma de movimiento de datos ELT, ¿cuándo ocurre la fase de transformación? A.Antes de que los datos sean extraídos del sistema de origen. B.En un sistema intermedio antes de llegar al destino final. C.Después de que los datos han sido cargados en el sistema de destino. D.Durante la transferencia de datos al sistema de destino.
C
519
¿Qué patrón de movimiento de datos es más adecuado cuando se requiere una limpieza, enriquecimiento o control de calidad significativo antes de que los datos lleguen al almacén de datos? A.ELT (Extraer, Cargar y Transformar) B.EL (Extraer y Cargar) C.ETL (Extraer, Transformar y Cargar) D.Consultas federadas
C
520
Desde una perspectiva de rendimiento, ¿cuál de los siguientes formatos de archivo se considera generalmente más rápido para cargar en un sistema de análisis columnar? A.XML B.Avro C.CSV D.JSON (comprimido)
B
521
Al utilizar una API de ingesta por streaming, ¿cuál es el principal beneficio en comparación con la carga por lotes? A.Menor coste de ingesta B.Soporte para un mayor número de formatos de archivo C.Semántica de transacciones ACID garantizada D.Disponibilidad de datos para consulta casi inmediata
D
522
¿Qué característica de una API de escritura de almacenamiento moderna permite evitar registros duplicados durante la ingesta de datos por streaming? A.Balanceo de carga entre trabajadores de ingesta B.Compresión automática de datos C.Validación de esquema en tiempo real D.Semántica de entrega 'exactamente una vez' (exactly-once)
D
523
En el contexto de la ingesta de datos, ¿qué es la 'materialización de una consulta'? A.Guardar el conjunto de resultados de una consulta como una nueva tabla permanente. B.Ejecutar una consulta sobre una fuente de datos externa sin cargar los datos. C.Transmitir los resultados de una consulta en tiempo real a una aplicación externa. D.Optimizar una consulta antes de su ejecución para que use menos recursos.
A
524
¿Cuál es una desventaja potencial de consultar directamente una fuente de datos externa (consulta federada) en lugar de ingerir los datos primero? A.Los datos deben estar siempre en formato Avro. B.No se pueden realizar uniones (JOINs) con tablas nativas. C.Requiere la creación de pipelines ETL complejos. D.El rendimiento de la consulta puede ser inferior.
D
525
Un servicio de transferencia de datos automatizado es más útil para: A.La creación de copias de seguridad puntuales de tablas específicas. B.La carga programada y recurrente de datos desde aplicaciones SaaS de terceros. C.La transformación de datos complejos que requieren lógica personalizada en SQL. D.La ingesta de datos de baja latencia desde dispositivos IoT.
B
526
En una API de escritura de almacenamiento por streaming que utiliza 'offsets', ¿para qué se utiliza principalmente el offset? A.Para indicar el número total de registros en el lote actual. B.Para lograr la semántica de 'exactamente una vez' y prevenir duplicados. C.Para especificar la partición de la tabla donde se escribirán los datos. D.Para cifrar el contenido del registro antes de la transmisión.
B
527
¿Cuál de los siguientes modos de flujo en una API de escritura de almacenamiento requiere una acción explícita de 'commit' para que los datos sean visibles? A.PENDING B.COMMITTED C.AUTO D.BUFFERED
A
528
Al cargar datos en lote, se menciona un límite de cargas diarias por tabla. ¿Cuál es la razón principal de este límite? A.Para limitar el uso de la CPU del motor de consultas. B.Para evitar un rápido incremento y fragmentación de los metadatos de la tabla. C.Para reducir los costes de almacenamiento a corto plazo. D.Para garantizar que los datos pasen por un proceso de validación de calidad.
B
529
¿Qué representa la capacidad de 'viaje en el tiempo' (time travel) en un sistema de almacenamiento de datos? A.La habilidad de predecir valores futuros de los datos usando machine learning. B.La capacidad de consultar el estado de una tabla en un punto específico del pasado. C.La optimización automática de consultas que se ejecutan frecuentemente. D.La capacidad de replicar datos automáticamente entre diferentes zonas horarias.
B
530
¿Cuál es la principal diferencia entre una tabla temporal y una tabla permanente creada a partir de los resultados de una consulta? A.Las tablas permanentes son gratuitas, mientras que las temporales tienen un coste. B.Las tablas temporales tienen un ciclo de vida limitado y se eliminan automáticamente. C.Solo se pueden crear tablas temporales desde la línea de comandos, no desde la interfaz de usuario. D.Las tablas temporales no pueden ser consultadas, solo las permanentes.
B
531
¿Cuál es una propiedad fundamental que se aplica a todas las modificaciones de tablas en entornos de Data Warehouse como BigQuery? A. Las modificaciones deben ser consistentes con la prioridad de las cargas de trabajo analíticas. B. Todas las modificaciones de tablas cumplen con la propiedad ACID. C. Las modificaciones solo se permiten en tablas que utilizan ventanas deslizantes. D. Se prioriza la baja latencia sobre la durabilidad.
B
532
¿Qué factor puede influir en la puntualidad (timeliness) de los datos en un sistema de BigQuery? A. La estrategia de actualización de esquemas mediante view switching. B. La elección entre cargas periódicas (periodic loads) y la ingesta por streaming (streaming ingest). C. La implementación de mascaramiento de datos (data masking). D. El uso de la cláusula REPLACE en sentencias MERGE.
B
533
Respecto a la retención de datos antiguos en BigQuery, ¿cuál es un beneficio clave que permite al sistema mantener estos datos? A. La capacidad de ejecutar DML simultáneo en más de 20 particiones. B. La aplicación automática de SCD Tipo 3. C. El beneficio de los precios de almacenamiento a largo plazo de BigQuery. D. La obligatoriedad de utilizar vistas para las consultas analíticas.
C
534
Cuando es necesario eliminar datos antiguos, ¿qué mecanismo se puede configurar en BigQuery? A. La reescritura completa de la tabla cuando se actualizan unas pocas filas. B. El uso de la estrategia de view switching para la eliminación de datos. C. Configurar el vencimiento automático de tablas o particiones. D. Implementar SCD Tipo 2 utilizando una columna VERSION.
C
535
En el contexto de la evolución de Data Warehouses, ¿cómo deben gestionarse típicamente los cambios de esquema para evitar afectar a los usuarios? A. Mediante la aplicación inmediata de sentencias UPDATE DML. B. Utilizando la estrategia de carga de partición in-place. C. Generalmente se programan como actualizaciones de versión (version upgrades). D. Se resuelven utilizando sentencias MERGE complejas.
C
536
En un esquema de almacén de datos (Data Warehouse), ¿qué tipo de tabla generalmente contiene atributos descriptivos utilizados para restringir consultas? A. Tablas de hechos (Fact Tables). B. Tablas de dimensiones (Dimension Tables). C. Tablas temporalizadas. D. Tablas desnormalizadas.
B
537
¿Cuál de las siguientes afirmaciones describe correctamente las características de una tabla de hechos (Fact Table)? A. Contiene datos relativamente estáticos que cambian lentamente e impredeciblemente. B. Contiene métricas, medidas o hechos sobre un proceso de negocio. C. Sus columnas son exclusivamente atributos descriptivos. D. Ejemplos comunes incluyen datos de clientes y productos.
B
538
¿Cuál es el objetivo principal del concepto de Dimensiones de Cambio Lento (Slowly Changing Dimensions - SCD) en el almacenamiento de datos analíticos? A. Acelerar las sentencias UPDATE DML. B. Garantizar la disponibilidad del servicio (service availability). C. Permitir el aspecto histórico de los datos en un sistema analítico. D. Reducir la latencia de commit después de una operación DML.
C
539
¿Cómo se maneja la modificación de un valor de atributo en una Dimensión de Cambio Lento (SCD) de Tipo 1? A. Se añade una nueva fila con fechas de inicio y fin. B. Se utiliza una columna de versión para el seguimiento. C. Se añade una columna para almacenar el valor anterior. D. Se sobrescribe el valor del atributo directamente.
D
540
¿Cuáles son métodos válidos para mantener el historial de cambios de atributos en una Dimensión de Cambio Lento (SCD) de Tipo 2? (Seleccione todas las que apliquen) A. Uso de fechas de inicio y fin (START_DATE, END_DATE) para definir la validez de la fila. B. Uso de un número de versión (VERSION). C. Sobrescritura directa del valor anterior. D. Uso de una fecha de efectividad (EFFECTIVE_DATE) y un indicador de fila actual (CURRENT_FLAG).
A, B y D
541
En la implementación de SCD Tipo 2 utilizando fechas (START_DATE/END_DATE), ¿cómo se puede crear una vista para que las consultas analíticas solo utilicen los registros dimensionales vigentes (actuales)? A. Filtrando la dimensión por las filas que tengan START_DATE distinto de NULL. B. Seleccionando la fila con el número de versión más alto. C. Filtrando la dimensión por las filas donde la fecha de finalización (END_DATE) es NULL. D. Utilizando una sentencia UPDATE para marcar la fila como actual.
C
542
¿Qué caracteriza a la Dimensión de Cambio Lento (SCD) de Tipo 3 como método de mantenimiento de historial? A. Se utiliza el patrón DELETE + INSERT para la implementación. B. Se mantiene el historial añadiendo columnas a la tabla base para guardar el valor anterior. C. Se reescribe la partición completa sin modificar la estructura de la tabla. D. Se realiza una inserción de una nueva fila utilizando un ordinal de la categoría.
B
543
Cuando se consideran las implicaciones de rendimiento de las de conmutación de vistas (View switching)? A. No permite cero tiempo de inactividad (zero down-time). B. Las operaciones DML en la vista principal (main view) podrían ser problemáticas. C. Solo se aplica a tablas normalizadas. D. Requiere el uso de legacy SQL obligatoriamente.
B
544
El método de carga de partición in-place (In-place partition loading) se utiliza para: A. Actualizar datos en múltiples particiones simultáneamente sin el uso de la cláusula REPLACE. B. Reemplazar datos en una partición de destino con datos de una consulta (usando --replace). C. Ejecutar sentencias UPDATE sin reescribir la partición completa. D. Aislar cambios en tablas de dimensiones pequeñas.
B
545
¿Cómo se implementa la Dimensión de Cambio Lento (SCD) de Tipo 1 utilizando la sintaxis DML en BigQuery? A. Mediante una sentencia INSERT con el nuevo valor y un número de versión. B. Mediante la sentencia UPDATE para sobrescribir el valor del atributo. C. Mediante MERGE sin una cláusula WHEN MATCHED. D. Mediante una sentencia DELETE seguida de una INSERT.
B
546
¿Para qué tipo de tablas es particularmente útil implementar una unión condicional a través de una vista, conocida como Update data masking? A. Tablas de hechos que solo cambian lentamente. B. Tablas de dimensiones que utilizan SCD Tipo 3. C. Tablas con datos que pueden cambiar con frecuencia, incluso en el transcurso de un día. D. Tablas particionadas por tiempo de ingesta.
C
547
En BigQuery, ¿cómo se implementa internamente una sentencia UPDATE en una fila existente? A. Utilizando una reescritura de metadatos solamente. B. Como un DELETE de la fila antigua seguido de un INSERT de la fila actualizada. C. Como una sentencia MERGE optimizada por el motor. D. Sobrescribiendo el valor en el mismo archivo subyacente.
B
548
Para implementar SCD Tipo 2 donde se requiere el seguimiento de la historia (por ejemplo, actualizando una fecha de finalización e insertando una nueva fila), ¿qué sentencias DML son necesarias? A. Solamente una sentencia INSERT. B. Solamente una sentencia MERGE sin cláusulas WHEN MATCHED. C. Una sentencia UPDATE (para marcar la fila antigua) y una sentencia INSERT (para la nueva fila). D. Una sentencia DELETE seguida de una UPDATE.
C
549
La sentencia MERGE en BigQuery permite la combinación de qué operaciones DML sobre una sola tabla en una única sentencia? A. SELECT, UPDATE y DELETE. B. INSERT, UPDATE y DELETE. C. CREATE, ALTER y DROP. D. INSERT, SELECT y UPDATE.
B
550
¿Cuál es el límite máximo de sentencias DML mutantes (UPDATE, DELETE, MERGE) que BigQuery intenta ejecutar concurrentemente en una tabla? A. Hasta 1500 sentencias. B. Hasta 20 sentencias. C. Hasta 2 sentencias. D. El límite es ilimitado si se utilizan tablas particionadas.
C
551
¿Qué sucede con las sentencias DML mutantes que exceden el límite de ejecución concurrente de 2 por tabla? A. Fallan inmediatamente debido a un conflicto. B. Se convierten automáticamente a sentencias INSERT. C. Se ejecutan secuencialmente. D. Hasta 20 son puestas en cola como PENDIENTES (PENDING).
D
552
¿Cuándo se produce un conflicto de sentencias DML mutantes que se ejecutan concurrentemente en una tabla? A. Cuando las sentencias intentan acceder a la misma tabla. B. Cuando las sentencias intentan mutar (modificar) la misma partición. C. Cuando la tasa de actualización de metadatos supera el límite. D. Cuando se utiliza la sintaxis legacy SQL.
B
553
¿Cuál es una práctica recomendada para las operaciones DML si las actualizaciones o eliminaciones generalmente ocurren sobre datos antiguos o datos localizados por fecha? A. Evitar el uso de tablas particionadas. B. Utilizar clustering sin particionamiento. C. Usar tablas particionadas. D. Ejecutar operaciones DML de una sola fila para una mejor amortización de costos.
C
554
¿Cuáles son prácticas recomendadas para optimizar el rendimiento de las operaciones DML? (Seleccione todas las que apliquen) A. Evitar particionar tablas si las actualizaciones modifican una gran fracción de las particiones. B. Agrupar las operaciones DML en operaciones más grandes para amortizar el costo. C. Usar actualizaciones sobre tablas agrupadas (clustered tables) si hay localidad de agrupación en las filas modificadas. D. Utilizar patrones de inserciones o actualizaciones de una sola fila.
A, B y C
555
Respecto a las consideraciones de rendimiento y concurrencia de DML, ¿cuál de los siguientes patrones se considera generalmente indeseable? A. Agrupar sentencias DML. B. Utilizar tablas con clustering. C. Inserciones o actualizaciones de una sola fila. D. Limitar el número de particiones.
C
556
¿Cuál es una consecuencia de actualizar filas sin localidad (sin clustering o particionamiento efectivo), por ejemplo, si se actualizan pocas filas de todos los archivos subyacentes? A. El commit time se vuelve más corto que el tiempo de ejecución real. B. Se activa un control de cuota de facturación ("Byte Counting Query"). C. Provoca la reescritura de la tabla completa, incluso si hay particiones. D. El trabajo DML pasa inmediatamente al estado PENDING.
C
557
Un posible cuello de botella de rendimiento (performance bottleneck) para las operaciones DML puede estar relacionado con: A. Que el sistema intente volver a ejecutar las declaraciones fallidas hasta diez veces. B. El tiempo de latencia de commit después de que finaliza el trabajo, especialmente con un gran número de particiones. C. El límite de concurrencia de 1500 sentencias INSERT durante un periodo de 24 horas. D. La necesidad de utilizar siempre la estrategia de view switching.
B
558
¿Cuál de las siguientes afirmaciones describe correctamente la gestión de la disponibilidad en BigQuery? A. El usuario es responsable de la disponibilidad del servicio. B. BigQuery gestiona la disponibilidad del servicio. C. La disponibilidad depende del número de usuarios concurrentes. D. La disponibilidad solo se garantiza con prioridad alta.
B
559
¿Qué factor puede afectar la puntualidad (timeliness) de los datos en BigQuery? A. La cantidad de memoria asignada a la consulta. B. El número de columnas de la tabla. C. La prioridad de los trabajos de carga frente a los trabajos analíticos. D. La existencia de claves foráneas.
C
560
¿Cuál es una práctica recomendada al gestionar datos históricos en BigQuery? A. Eliminar datos antiguos regularmente. B. Usar ventanas deslizantes basadas en un campo de partición. C. Almacenar todos los datos en una sola partición. D. Comprimir los datos antiguos manualmente.
B
561
¿Qué ventaja ofrece el almacenamiento a largo plazo de BigQuery? A. Coste reducido por datos inactivos. B. Mejora la velocidad de consulta. C. Permite actualizaciones automáticas. D. Incrementa el rendimiento de streaming.
A
562
¿Cómo se pueden automatizar eliminaciones de datos antiguos en BigQuery? A. Usando scripts manuales. B. Con Cloud Functions. C. Configurando la caducidad automática de tablas o particiones. D. Usando vistas temporales.
C
563
¿Por qué es importante poder modificar esquemas y datos sin afectar a los usuarios? A. Porque BigQuery no soporta cambios en producción. B. Porque los almacenes de datos evolucionan constantemente. C. Porque las vistas no se actualizan automáticamente. D. Porque las consultas dependen de la versión del esquema.
B
564
¿Cómo suelen programarse los cambios de esquema en un data warehouse? A. Como migraciones automáticas en caliente. B. Como actualizaciones paralelas planificadas. C. Como reemplazos directos del esquema. D. Como particiones adicionales.
B
565
En un data warehouse, ¿qué tipo de datos suelen cambiar lentamente y de forma impredecible? A. Datos de hechos. B. Datos de dimensión. C. Datos agregados. D. Datos de streaming.
B
566
¿Qué tipo de tabla almacena métricas y mediciones de un proceso de negocio? A. Tabla de dimensión. B. Tabla de hechos. C. Tabla temporal. D. Tabla de control.
B
567
¿Qué característica describe mejor una tabla de dimensión? A. Contiene datos de eventos transaccionales. B. Se actualiza en tiempo real. C. Contiene atributos descriptivos para filtrar o agrupar. D. No puede contener claves foráneas.
C
568
En un esquema en estrella (Star Schema), ¿qué rol tienen las tablas de hechos? A. Contienen los atributos descriptivos. B. Conectan múltiples esquemas independientes. C. Contienen las medidas y claves que apuntan a las dimensiones. D. Actúan como índices de las dimensiones.
C
569
¿Qué objetivo persigue el manejo de Slowly Changing Dimensions (SCD)? A. Aumentar la velocidad de carga de datos. B. Permitir la evolución histórica de atributos. C. Reducir el tamaño del almacenamiento. D. Sincronizar tablas externas.
B
570
¿Qué sucede en un SCD Tipo 1? A. Se inserta una nueva fila y se actualiza la anterior. B. Se sobreescribe el valor anterior sin mantener historial. C. Se mantienen múltiples versiones del atributo. D. Se agregan columnas para cada cambio.
B
571
¿Qué técnica se usa en SCD Tipo 2? A. Sobrescribir valores antiguos. B. Crear una nueva fila para cada cambio con fechas de vigencia. C. Agregar una columna por versión. D. Modificar las claves primarias.
B
572
¿Qué campo indica el registro actual en un SCD Tipo 2 basado en fechas? A. START_DATE B. END_DATE con valor NULL C. VERSION = 1 D. CURRENT_FLAG = N
B
573
En un diseño con SCD Tipo 2, ¿cómo se puede identificar el registro activo si se usa un flag? A. CURRENT_FLAG = Y B. CURRENT_FLAG = N C. END_DATE = CURRENT_DATE D. VERSION = 0
A
574
¿Cuál es una forma alternativa de implementar un SCD Tipo 2? A. Usar un campo VERSION B. Sobrescribir la fila existente C. Usar columnas adicionales D. Eliminar la fila anterior
A
575
En un esquema desnormalizado, ¿qué sucede con las filas de la tabla de hechos ante cambios en dimensiones? A. Se actualizan automáticamente. B. Permanecen sin cambios. C. Se eliminan. D. Se recalculan los hechos.
B
576
Qué hace una vista que filtra END_DATE IS NULL en un SCD Tipo 2? A. Devuelve todas las versiones históricas. B. Devuelve solo los registros actuales. C. Devuelve los registros caducados. D. Elimina duplicados.
B
577
¿Qué característica define al SCD Tipo 3? A. Sobrescribe el valor anterior. B. Agrega una nueva fila por cambio. C. Añade columnas adicionales para valores históricos. D. Crea una tabla auxiliar.
C
578
¿Qué ventaja ofrece usar vistas en la gestión de SCD? A. Permite aislar la lógica de selección de registros actuales. B. Mejora el rendimiento de carga. C. Elimina la necesidad de índices. D. Garantiza la atomicidad.
A
579
¿Qué criterio se debe considerar al elegir una técnica SCD? A. La longitud del campo clave. B. El impacto en el rendimiento y la frecuencia de cambios. C. El tamaño de la tabla de hechos. D. El tipo de almacenamiento (row vs columnar).
B
580
¿Qué opción permite aplicar cambios sin downtime en BigQuery? A. Reescritura directa de tablas. B. View switching. C. Eliminación masiva y recarga. D. Update incremental.
B
581
En el enfoque "View Switching", ¿cuál es la secuencia general? A. Deallocar → Cargar → Cambiar vista B. Cargar nueva tabla → Cambiar vista → Eliminar antigua C. Cambiar vista → Cargar → Eliminar D. Insertar nueva tabla → Actualizar vista
B
582
¿Qué comando reemplaza datos de una partición con resultados de una consulta? A. bq extract B. bq query --replace C. bq update D. bq patch
B
583
¿Qué permite el uso de bq load --replace? A. Agregar filas a una partición. B. Sobrescribir una partición desde Cloud Storage. C. Fusionar particiones. D. Eliminar datos duplicados.
B
584
¿Qué propósito cumple el enfoque de "Update Data Masking"? A. Ocultar datos sensibles. B. Aplicar actualizaciones condicionales mediante una vista. C. Unir múltiples tablas físicas. D. Reescribir la tabla completa.
B
585
¿Qué sentencia se usa en un SCD Tipo 1 para sobrescribir un valor? A. INSERT B. UPDATE C. MERGE D. DELETE
B
586
¿Qué sentencia se usa para insertar una nueva versión en un SCD Tipo 2? A. UPDATE B. INSERT C. DELETE D. MERGE
B
587
En BigQuery, ¿cómo se implementa internamente una instrucción UPDATE? A. Solo modifica el valor en disco. B. DELETE + INSERT C. REPLACE directo. D. Crea una nueva partición.
B
588
¿Qué instrucción permite combinar operaciones de INSERT, UPDATE y DELETE en una sola? A. UPSERT B. MERGE C. UNION D. APPLY
B
589
¿Qué tipo de DML puede ejecutar BigQuery hasta 1500 veces concurrentemente por tabla? A. INSERT B. UPDATE C. MERGE D. DELETE
A
590
¿Cuántas operaciones DML mutantes (UPDATE, DELETE, MERGE) se pueden ejecutar en paralelo por tabla? A. 1 B. 2 C. 10 D. 20
B
591
¿Qué ocurre si dos DML intentan modificar la misma partición? A. Se fusionan automáticamente. B. Generan conflicto y pueden reintentarse hasta tres veces. C. Se ejecutan secuencialmente. D. Se ignoran los cambios duplicados.
B
592
¿Qué tipo de tablas se recomienda usar si las actualizaciones afectan a datos históricos por fecha? A. Tablas no particionadas. B. Tablas particionadas. C. Tablas temporales. D. Tablas sin clustering.
B
593
¿Qué práctica mejora el rendimiento en actualizaciones con localización de filas? A. Usar tablas clustering. B. Usar vistas materializadas. C. Usar datasets distintos. D. Deshabilitar transacciones.
A
594
¿Por qué se recomienda agrupar operaciones DML pequeñas en operaciones más grandes? A. Para reducir los conflictos de bloqueo. B. Para amortizar los costes de ejecución. C. Para reducir el número de particiones. D. Para evitar latencias de commit.
B
595
¿Qué ocurre si se actualiza una gran fracción de las particiones? A. Mejora el rendimiento. B. Las particiones se combinan. C. La partición deja de ser eficiente. D. Se crean nuevas particiones.
C
596
¿Cuál es el número máximo de trabajos DML no insertables que pueden estar en cola por tabla? A. 2 B. 10 C. 20 D. 100
C
597
¿Qué patrón de actualización se considera ineficiente en BigQuery? A. Actualizaciones en bloque. B. Inserciones por lotes. C. Actualizaciones de una sola fila. D. Particiones por fecha.
C
598
¿Qué efecto tiene actualizar filas sin localidad de clustering? A. Se reescribe toda la tabla. B. Se reduce el tamaño del archivo. C. Mejora el rendimiento. D. Crea una nueva partición.
A
599
¿Por qué el tiempo de commit puede ser superior al tiempo de ejecución? A. Por la validación de cuotas de facturación. B. Por conflictos de red. C. Por compresión de resultados. D. Por exceso de paralelismo.
A
600
¿Qué tipo de mutaciones pueden ser más lentas si los archivos subyacentes son grandes? A. Amplias. B. Angostas (narrow mutations). C. Clustering. D. Streaming.
B
601
¿Qué afirmación describe mejor la gestión de la disponibilidad del servicio en BigQuery? A) El usuario controla la infraestructura física de BigQuery. B) BigQuery gestiona la disponibilidad del servicio, pero el usuario controla la duración y la actualidad de los conjuntos de datos. C) Los usuarios no pueden controlar el tiempo de retención de datos. D) La disponibilidad depende exclusivamente de los usuarios.
B
602
¿Cuál es una ventaja de la retención de datos a largo plazo en BigQuery? A) Los datos viejos se eliminan automáticamente. B) No existen beneficios económicos por retener más datos. C) Se accede a precios especiales de almacenamiento a largo plazo. D) Se requieren scripts manuales para calcular los costos.
C
603
¿Cómo se puede eliminar automáticamente datos antiguos en BigQuery? A) Borra manualmente las filas. B) Usa el vencimiento automático de tablas o particiones. C) Sobrescribe la tabla diariamente. D) Usa funciones de particionamiento por tiempo.
B
604
¿Cuál es una recomendación al realizar cambios en un esquema de almacén de datos? A) Modificar siempre la tabla principal en producción sin pruebas. B) Programar cambios como atualizaciones de versión y probar en paralelo. C) Eliminar versiones previas tan pronto se haga el cambio. D) Realizar migraciones en caliente.
B
605
¿Qué función principal tienen las tablas de hechos en un almacén de datos? A) Mantener claves externas de otras tablas. B) Almacenar mediciones, métricas o hechos de un proceso de negocio. C) Describir entidades de negocio con pocos cambios. D) Guardar solo datos históricos irrelevantes.
B
606
¿Cómo se caracteriza principalmente una tabla de dimensión? A) Solo contiene transacciones. B) Sus atributos cambian rápidamente de forma agendada cada día. C) Contiene atributos descriptivos que pueden cambiar lentamente y de manera impredecible. D) Solo guarda identificadores numéricos.
C
607
¿Qué ocurre en el enfoque de SCD Tipo 1? A) Se mantiene el historial de los valores modificados. B) Se sobrescribe el valor del atributo sin guardar el historial anterior. C) Se crea una nueva fila con cada cambio. D) Se añade una columna nueva para cada versión.
B
608
¿Cuál es la característica clave del SCD Tipo 2? A) Solo se modifican registros existentes sin historial. B) Se añade una fila nueva por cada cambio, manteniendo el historial de versiones anteriores. C) Se elimina el registro anterior tras cada cambio. D) Todas las filas permanecen inalteradas.
B
609
¿Cómo se puede identificar el registro actual en un esquema SCD Tipo 2? A) Con un campo de bandera de registro actual o una columna de fecha fin nula. B) Por el ID numérico máximo. C) Siempre buscando la versión 0. D) Por el tamaño del registro.
A
610
¿Qué método se utiliza en SCD Tipo 3 para mantener el historial? A) Crear tablas de hechos adicionales. B) Añadir columnas específicas para almacenar ciertos valores históricos. C) Sobrescribir los datos. D) Crear una tabla para cada versión.
B
611
¿Cuál NO es una opción para manejar SCD en BigQuery? A) Cambio de vistas (“view switching”). B) Carga en partición en el lugar (“in-place partition loading”). C) Redefinir el esquema a diario. D) Enmascaramiento de datos mediante vistas condicionales.
C
612
¿Qué sentencia se usa para sobrescribir un valor de atributo en una tabla de dimensión siguiendo SCD Tipo 1? A) INSERT B) DELETE C) UPDATE D) MERGE
C
613
¿Cuál es la forma recomendada de mantener el historial en SCD Tipo 2? A) Reemplazar todas las filas. B) Agregar un nuevo registro con cada cambio de atributo. C) Eliminar todos los registros viejos. D) Actualizar solo una columna.
B
614
¿Qué afirmación es cierta respecto al comportamiento de la sentencia UPDATE en BigQuery? A) Solo actualiza datos, nunca elimina filas. B) Internamente, UPDATE se implementa como DELETE de la fila antigua más INSERT de la fila modificada. C) UPDATE sólo afecta los metadatos. D) UPDATE no es compatible con tablas particionadas.
B
615
¿Para qué tipo de operaciones se usa la sentencia MERGE en BigQuery? (Respuesta múltiple) A) UPDATE B) INSERT C) DELETE D) Todas las anteriores
D
616
¿Cuál es el límite de sentencias DML de tipo INSERT que pueden ejecutarse de forma concurrente en una tabla durante 24 horas? A) 2 B) 20 C) 1500 D) No hay límite
C
617
¿Cuántas sentencias DML de actualización, eliminación o MERGE (“mutating DML statements”) pueden ejecutarse en paralelo en una misma tabla? A) 1 B) 2 C) 10 D) 1500
B
618
¿Qué hace BigQuery si varias sentencias DML intentan modificar la misma partición al mismo tiempo? A) Todas las sentencias fallan. B) Sólo las sentencias que no modifican la misma partición pueden tener éxito. C) Solo se permite un máximo de 100 sentencias por hora. D) No hay conflictos posibles.
B
619
¿Qué mecanismo implementa BigQuery en caso de conflicto de sentencias DML mutantes? A) Aborta permanentemente. B) Lanza una advertencia y continúa. C) Intenta relanzar las sentencias fallidas hasta tres veces. D) Elimina filas afectadas.
C
620
¿Qué práctica se recomienda para obtener mejor rendimiento en actualizaciones o borrados localizados en particiones por fecha? A) Usar tablas clusterizadas en vez de particionadas. B) Utilizar tablas particionadas según el campo de fecha relevante. C) Actualizar solo una fila por vez. D) Evitar las tablas particionadas.
B
621
¿Cuál es una práctica desaconsejada al trabajar con DML en BigQuery? A) Agrupar operaciones DML en lotes grandes. B) Realizar inserciones o actualizaciones de filas individuales frecuentemente. C) Usar tablas clusterizadas cuando haya localidad. D) Monitorizar la latencia de commit.
B
622
¿Qué puede causar que el tiempo de commit sea superior al de ejecución real del DML? A) La existencia de muchas particiones en la tabla. B) El uso de almacenamiento local. C) Consultas muy pequeñas. D) La ausencia de índices.
A
623
¿Qué ocurre si se actualizan filas dispersas sin localidad en una tabla particionada? A) Solo se reescribe la partición afectada. B) Se reescribe toda la tabla, incluso los datos en otras particiones. C) No se producen modificaciones de datos. D) Se lanza un error de sintaxis.
B
624
¿Qué ocurre si se supera el límite de trabajos DML no-insert pendientes en una tabla? A) Los trabajos se ejecutan en segundo plano. B) Los trabajos adicionales fallan. C) Todos los trabajos esperan indefinidamente. D) No hay consecuencias.
B
625
¿Qué característica define las modificaciones de tablas en un entorno de data warehouse gestionado como BigQuery? A) Son siempre inmediatas y no tienen latencia. B) Cumplen con las propiedades ACID (Atomicidad, Consistencia, Aislamiento, Durabilidad). C) Priorizan siempre los trabajos de análisis sobre los de carga. D) No garantizan la consistencia de los datos durante cargas concurrentes.
B
626
¿Qué factores pueden afectar la "oportunidad" (timeliness) o disponibilidad de los datos recién cargados para el análisis? (Selecciona todas las que apliquen) A) Si la ingesta es mediante cargas periódicas o streaming. B) El cumplimiento de las propiedades ACID. C) La prioridad de los trabajos de carga frente a los trabajos de análisis. D) El uso de almacenamiento a largo plazo.
A y C
627
En lugar de eliminar datos antiguos, ¿qué estrategias permiten retenerlos de manera eficiente en un data warehouse moderno? A) Utilizar ventanas deslizantes basadas en campos de partición y aprovechar precios de almacenamiento a largo plazo. B) Convertir todas las tablas de hechos en tablas de dimensiones. C) Desnormalizar todos los esquemas para reducir el volumen de datos. D) Realizar actualizaciones de tipo SCD 1 en todos los registros históricos.
A
628
Si es estrictamente necesario eliminar datos antiguos por políticas de retención, ¿cuál es el mecanismo recomendado? A) Ejecutar sentencias DELETE manuales diariamente. B) Configurar el vencimiento (expiry) automático de tablas o particiones. C) Utilizar view switching para ocultar los datos antiguos. D) Sobrescribir los datos antiguos con valores NULL.
B
629
¿Cuál es el objetivo principal al realizar cambios de esquema y datos en un data warehouse en evolución? A) Detener todas las cargas de trabajo de análisis para garantizar la integridad. B) Realizar los cambios sin afectar a los usuarios ni interrumpir el servicio. C) Obligar a los usuarios a actualizar sus consultas inmediatamente. D) Eliminar siempre la versión anterior del esquema antes de implementar la nueva.
B
630
¿Cómo se suelen programar y gestionar los cambios de esquema importantes? A) Como actualizaciones de versión, diseñando y probando en paralelo mientras la versión anterior sigue sirviendo cargas de trabajo. B) Mediante la ejecución directa de sentencias DDL en el entorno de producción durante las horas pico. C) Aplicando cambios de tipo SCD 1 a la estructura de la tabla. D) Utilizando data masking para ocultar las nuevas columnas hasta que estén listas.
A
631
¿Cuál de las siguientes afirmaciones describe mejor una tabla de hechos? A) Contiene atributos descriptivos utilizados para restringir consultas (ej. clientes, productos). B) Sus datos son relativamente estáticos y cambian de forma impredecible. C) Almacena mediciones, métricas o hechos sobre un proceso de negocio y claves foráneas. D) Se utiliza principalmente para mantener el historial de cambios de atributos descriptivos.
C
632
¿Qué características definen a una tabla de dimensiones? (Selecciona todas las que apliquen) A) Contiene métricas transaccionales de alto volumen. B) Contiene atributos descriptivos (ej. nombre del cliente, categoría de producto). C) Sus datos son relativamente estáticos pero pueden cambiar lenta e impredeciblemente. D) Sus cambios siempre siguen un cronograma regular y predecible.
B y C
633
¿Cuál es el propósito principal del concepto de Dimensiones Lentamente Cambiantes (SCD) en data warehousing? A) Acelerar el rendimiento de las consultas en tablas de hechos. B) Habilitar el aspecto histórico de los datos en un sistema analítico. C) Evitar que los atributos descriptivos cambien con el tiempo. D) Normalizar completamente el esquema de la base de datos.
B
634
¿En qué consiste una Dimensión Lentamente Cambiante (SCD) de Tipo 1? A) Se añaden nuevas columnas para rastrear el valor anterior y el actual. B) Se crea una nueva fila para cada cambio, manteniendo el historial completo. C) Se sobrescribe el valor del atributo, sin mantener historial del valor anterior. D) Se utiliza una vista para unir los cambios pendientes con la tabla base.
C
635
¿Cómo gestiona una SCD de Tipo 2 los cambios en los atributos? A) Sobrescribiendo el registro existente. B) Añadiendo columnas adicionales a la fila existente. C) Creando un nuevo registro para el nuevo valor y marcando el registro anterior como inactivo (ej. usando fechas de inicio/fin o banderas de versión). D) Ignorando el cambio si el registro ya existe.
C
636
Cuando se utiliza SCD Tipo 2 con fechas de vigencia (start_date, end_date), ¿cómo se suele construir una vista para consultas analíticas que solo necesitan el estado actual? A) Seleccionando todas las filas donde la fecha de inicio no sea NULL. B) Seleccionando las filas donde la fecha de fin es NULL (o indica vigencia actual). C) Realizando un promedio de todos los valores históricos. D) Utilizando una sentencia MERGE en tiempo de consulta.
B
637
¿Qué ventaja ofrece un esquema desnormalizado con respecto a los cambios en las dimensiones? A) Reduce el espacio de almacenamiento necesario. B) Es posible que no se necesiten cambios en las filas de la tabla de hechos anteriores si los datos de dimensión están embebidos. C) Facilita la implementación de SCD Tipo 3. D) Elimina la necesidad de utilizar sentencias DML.
B
638
Además de usar fechas de inicio y fin, ¿qué otros métodos existen para mantener el historial en SCD Tipo 2? (Selecciona todas las que apliquen) A) Utilizar números de versión secuenciales para cada registro. B) Utilizar una fecha de vigencia única y una bandera (flag) de "actual" (Y/N). C) Sobrescribir los atributos y usar una copia de seguridad de la tabla. D) Añadir nuevas columnas a la tabla para cada cambio de valor.
A y B
639
¿Qué define a una implementación de SCD Tipo 3? A) El historial se mantiene añadiendo nuevas columnas para almacenar valores anteriores específicos (ej. categoría actual y categoría previa). B) El historial se mantiene insertando nuevas filas. C) No se mantiene ningún historial. D) El historial se gestiona mediante tablas particionadas separadas por fecha.
A
640
¿Por qué no existe una solución única para manejar los cambios de datos (SCD) en todos los escenarios? A) Porque las propiedades ACID varían entre tablas. B) Debido a las diferentes implicaciones de rendimiento de las operaciones DML según el esquema (normalizado vs. desnormalizado). C) Porque SCD Tipo 1 es siempre la solución más eficiente. D) Porque las tablas de hechos no admiten cambios.
B
641
¿Qué estrategia para manejar cambios es adecuada para tablas desnormalizadas y busca lograr "cero tiempo de inactividad"? A) Actualización de enmascaramiento de datos (Data Masking). B) View Switching (Cambio de vistas). C) Ejecución de sentencias UPDATE fila por fila. D) SCD Tipo 3.
B
642
¿Cuáles son los pasos básicos en la técnica de "View Switching"? A) Borrar tabla antigua -> Crear tabla nueva -> Cargar datos -> Crear vista. B) Asignar nueva tabla -> Cargar nuevos datos -> Redefinir la vista para apuntar a la nueva tabla -> Desasignar tabla antigua. C) Ejecutar UPDATE en la vista -> Confirmar cambios. D) Cargar datos en una tabla temporal -> Usar MERGE con la tabla principal.
B
643
¿Qué consideración se debe tener en cuenta al usar la estrategia de View Switching? A) Requiere un tiempo de inactividad significativo. B) Es el método preferido para actualizaciones de filas individuales. C) Realizar operaciones DML directamente sobre la vista principal puede ser problemático. D) No se puede aplicar a tablas con particiones personalizadas.
C
644
¿En qué consiste la carga de particiones "in-place" (en el lugar)? A) Reemplazar datos en una partición destino con datos de una consulta o una carga desde almacenamiento externo de forma atómica. B) Actualizar fila por fila dentro de una partición existente. C) Eliminar la partición y esperar a que se regenere automáticamente. D) Mover datos de una partición antigua a una nueva usando sentencias INSERT.
A
645
¿Para qué escenario es ideal la estrategia de "Update data masking" (enmascaramiento de actualizaciones mediante vistas)? A) Para cargas masivas de datos históricos una vez al mes. B) Para tablas donde los datos cambian frecuentemente, incluso durante el transcurso de un día (intraday). C) Exclusivamente para implementar SCD Tipo 1 en tablas de hechos. D) Para eliminar datos antiguos permanentemente.
B
646
¿Cómo implementa técnicamente la estrategia de "Update data masking" los cambios frecuentes? A) Usando sentencias MERGE continuas cada minuto. B) Mediante una unión condicional (LEFT OUTER JOIN e IFNULL) en una vista entre la tabla base y una tabla de "actualizaciones pendientes". C) Reemplazando particiones completas cada vez que cambia una fila. D) Bloqueando la tabla para lectura mientras se aplican los cambios.
B
647
¿Qué sentencia DML se utiliza principalmente para implementar SCD Tipo 1 (sobrescritura)? A) INSERT B) MERGE (solo cláusula de no coincidencia) C) UPDATE D) DELETE
C
648
Para mantener el historial de filas en SCD Tipo 2, ¿qué operación DML es fundamental para registrar el nuevo estado? A) DELETE B) UPDATE (exclusivamente) C) INSERT D) TRUNCATE
C
649
Lógicamente, ¿cómo se implementa a menudo una operación UPDATE, especialmente en el contexto de mantener historial (SCD Tipo 2)? A) Modificando el bloque de datos existente en el disco. B) Como una operación DELETE de la fila antigua + INSERT de la fila actualizada (o nueva versión). C) Simplemente cambiando un puntero en los metadatos. D) Moviendo la fila a una tabla de archivo.
B
650
¿Qué permite realizar la sentencia DML MERGE? A) Solo insertar nuevos registros que no existen en la tabla destino. B) Combinar operaciones INSERT, UPDATE y DELETE sobre una sola tabla en una única sentencia basada en condiciones de coincidencia. C) Unir dos tablas para crear una tercera tabla de solo lectura. D) Reemplazar particiones completas de manera atómica sin evaluar filas individuales.
B
651
En una sentencia MERGE, ¿qué cláusulas definen las acciones a tomar? (Selecciona todas las que apliquen) A) WHEN MATCHED THEN... B) WHEN NOT MATCHED THEN... C) WHEN NOT MATCHED BY SOURCE THEN... D) WHEN TABLE IS FULL THEN...
A, B y C
652
Con respecto a la concurrencia de DML en BigQuery, ¿cómo se tratan las sentencias INSERT? A) Se ejecutan estrictamente una tras otra (serializadas). B) Solo se permite 1 INSERT concurrente por tabla. C) Un gran número (ej. las primeras 1500 en 24h) pueden ejecutarse concurrentemente. D) Tienen menor prioridad que las sentencias UPDATE.
C
653
¿Cómo se denominan las sentencias UPDATE, DELETE y MERGE y cuál es su límite de concurrencia típico por tabla? A) Sentencias de Carga; ilimitada. B) Sentencias DML Mutantes; bajo número de ejecuciones concurrentes (ej. hasta 2), con capacidad de encolar algunas más. C) Sentencias de Lectura; alta concurrencia. D) Sentencias Administrativas; solo 1 a la vez en todo el sistema.
B
654
¿Qué ocurre si se envían sentencias DML mutantes adicionales una vez que se han alcanzado los límites de concurrencia y longitud de cola? A) Se ejecutan inmediatamente con prioridad baja. B) Las sentencias fallan. C) El sistema aumenta automáticamente la capacidad de concurrencia. D) Se convierten automáticamente en sentencias INSERT.
B
655
¿Cuándo se producen conflictos entre sentencias DML mutantes que se ejecutan concurrentemente en una tabla? A) Siempre que dos sentencias se ejecutan al mismo tiempo, independientemente de los datos. B) Cuando las sentencias intentan mutar la misma partición. C) Solo cuando una es UPDATE y la otra es DELETE. D) Cuando las sentencias leen de la misma tabla fuente.
B
656
¿Cuál es el comportamiento del sistema ante un conflicto de DML por mutación de la misma partición? A) Ambas sentencias fallan inmediatamente sin reintento. B) La primera sentencia gana y la segunda se descarta silenciosamente. C) Las sentencias solo tienen éxito si no modifican la misma partición; el sistema intenta reejecutar las fallidas un número limitado de veces (ej. hasta 3). D) Se bloquea la tabla completa hasta que un administrador resuelve el conflicto.
C
657
¿Cuándo es una buena práctica utilizar tablas particionadas para DML? A) Cuando las actualizaciones o eliminaciones ocurren generalmente en datos antiguos o localizados por fecha. B) Cuando cada actualización modifica filas dispersas aleatoriamente por toda la tabla. C) Cuando la cantidad de datos en cada partición es muy pequeña. D) Cuando no se utiliza ningún campo de fecha o timestamp.
A
658
¿Qué optimización se recomienda para mejorar el rendimiento de UPDATEs cuando hay localidad en las filas modificadas (no necesariamente basada en fecha)? A) Usar tablas desnormalizadas sin particionar. B) Usar actualizaciones sobre tablas en clúster (clustered tables). C) Convertir todos los UPDATEs en DELETEs seguidos de INSERTs manuales. D) Deshabilitar la verificación de cuota de facturación.
B
659
¿Cuál es una mejor práctica general respecto al tamaño de las operaciones DML? A) Ejecutar muchas operaciones pequeñas (fila por fila) para minimizar bloqueos. B) Agrupar operaciones DML en otras más grandes para amortizar el costo de ejecución. C) Evitar DML y usar siempre recargas completas de tabla. D) Usar siempre la API de streaming para actualizaciones.
B
660
¿En qué situación se debe EVITAR particionar tablas para operaciones DML? A) Cuando la tabla es muy grande (Petabytes). B) Cuando las consultas suelen filtrar por fecha. C) Cuando la cantidad de datos en cada partición es pequeña Y cada actualización modifica una gran fracción de las particiones. D) Cuando se necesita usar el vencimiento automático de datos.
C
661
¿Qué patrón de uso de DML se considera generalmente "indeseable" por su ineficiencia? A) Inserciones o actualizaciones de una sola fila (single row). B) Reemplazos de particiones completas. C) Uso de MERGE para cargas masivas. D) View switching para tablas grandes.
A
662
¿Qué puede causar una reescritura completa de la tabla durante una operación DML, incluso si está particionada? A) Actualizar filas con alta localidad en una sola partición. B) Actualizar filas sin localidad (ej. unas pocas filas dispersas en todos los archivos/particiones). C) Usar una cláusula WHERE en el UPDATE. D) Tener demasiadas columnas en la tabla.
B
663
¿Por qué el tiempo de confirmación (commit latency) de un trabajo DML puede ser a veces más largo que su tiempo de ejecución real? A) Porque el sistema está esperando a que los usuarios se desconecten. B) Debido a la ejecución de una "Byte Counting Query" requerida para la verificación de cuota de facturación, lo cual empeora con muchas particiones. C) Porque las sentencias INSERT tienen prioridad sobre el commit. D) Porque los datos deben ser indexados antes de confirmar.
B
664
¿Por qué las mutaciones "estrechas" (pocas filas) con localidad podrían no ser tan rápidas como se espera? A) Porque DML no soporta localidad. B) Porque los archivos subyacentes que contienen esas filas pueden ser muy grandes. C) Porque siempre provocan una reescritura completa de la tabla. D) Porque entran en conflicto con las operaciones de lectura.
B
665
¿Qué garantiza BigQuery respecto a las modificaciones de tablas? A. No garantiza atomicidad en operaciones concurrentes B. Proporciona compatibilidad ACID en modificaciones de tablas C. Solo garantiza consistencia eventual para DML D. Requiere bloqueo manual para lograr atomicidad
B
666
¿Cuál de los siguientes factores puede afectar la oportunidad (timeliness) de los datos en BigQuery? A. Prioridad de trabajos de carga frente a trabajos analíticos B. Cantidad de columnas en una tabla C. Lenguaje SQL usado en las consultas D. Tamaño del nombre de la tabla
A
667
¿Por qué no es obligatorio borrar datos antiguos en BigQuery? A. Porque BigQuery impone un límite de retención de 7 días B. Por la posibilidad de usar ventanas deslizantes sobre particiones y precios de almacenamiento a largo plazo C. Porque las consultas ignoran datos antiguos automáticamente D. Porque las tablas no ocupan espacio con datos antiguos
B
668
¿Cuál es una práctica recomendada si es necesario eliminar datos antiguos? A. Ejecutar DELETE sin particionar B. Configurar expiración automática de tablas o particiones C. Volcar datos antiguos a tablas temporales sin expiración D. Renombrar tablas para ocultar datos antiguos
B
669
Al planificar cambios en esquema (schema changes), ¿cuál es el enfoque recomendado? A. Cambiar esquema en producción directamente durante ventana de mantenimiento sin pruebas B. Programar versiones y desarrollar/probar la actualización en paralelo mientras la versión anterior sirve consultas C. Hacer cambios incrementales sin coordinar con consumidores D. Eliminar la versión anterior inmediatamente después de subir la nueva
B
670
¿Cuál es la principal diferencia entre una tabla de hechos y una tabla de dimensión? A. Las tablas de hechos contienen atributos descriptivos; las dimensiones contienen métricas B. Las tablas de hechos almacenan mediciones y claves foráneas; las dimensiones contienen atributos descriptivos y relativamente estáticos C. Las dimensiones nunca cambian; las tablas de hechos siempre se reescriben D. Las tablas de hechos son siempre no particionadas; las dimensiones siempre particionadas
B
671
¿Qué caracteriza a las dimensiones que cambian lentamente (SCD)? A. Cambian con frecuencia cada minuto B. Son datos relativamente estáticos que pueden cambiar de forma lenta e impredecible C. No necesitan historización porque nunca cambian D. Se actualizan únicamente por operaciones de streaming
B
672
En un esquema desnormalizado, ¿qué suele suceder con las filas de hechos previas cuando cambia una dimensión (SCD)? A. Siempre deben actualizarse todas las filas de hechos históricas B. Es posible que no sea necesario cambiar las filas de hechos previas si la dimensión se historiza por separado C. Las filas de hechos se borran y reinsertan automáticamente D. Las filas de hechos se archivan fuera de BigQuery
B
673
¿Cuál es la característica principal de SCD Tipo 1? A. Mantener historial creando nuevas filas con fechas de vigencia B. Sobrescribir el valor del atributo sin mantener historia C. Mantener versiones numeradas y banderas de vigencia D. Añadir columnas para almacenar valores anteriores
B
674
¿Cuál es el resultado típico de aplicar un UPDATE para SCD Tipo 1 en una dimensión? A. Se insertan dos filas nuevas por cambio B. El valor del atributo se sobrescribe en la fila existente C. Se agrega una columna para el valor anterior D. Se marca la fila como inactiva y se crea otra con la misma clave natural
B
675
En SCD Tipo 2, ¿qué técnicas comunes permiten mantener el historial? (selección múltiple) A. Uso de fechas de inicio y fin (effective start/end) con END_DATE NULL para la fila actual B. Uso de un flag de vigencia (current_flag) y fechas efectivas C. Sobrescribir el registro sin insertar nuevos (igual que SCD Tipo 1) D. Uso de versión numérica por fila para diferenciar historiales
A, B y D
676
¿Cuál es una forma práctica de exponer solo los registros actuales para análisis cuando se usa SCD Tipo 2? A. Aplicar filtros en cada consulta por END_DATE NULL o current_flag = 'Y' usando una vista B. Ejecutar DELETE periódicos sobre filas antiguas C. Mantener solo la versión con mayor número en la tabla base sin vistas D. Copiar todos los registros a una tabla de sólo lectura sin historiales
A
677
¿Qué describe SCD Tipo 3? A. Mantener historial completo por filas múltiples con fechas de vigencia B. Añadir columnas en la misma fila para almacenar valores anteriores o historial limitado C. No registrar ningún cambio D. Usar MERGE exclusivamente para historizar
B
678
Si se implementa SCD Tipo 3 con un arreglo de categorías, ¿cómo se obtiene la categoría actual en una vista? A. Usando la primera posición del arreglo siempre B. Extrayendo el elemento con índice igual a la longitud del arreglo (último elemento) C. Haciendo JOIN contra otra tabla de historia D. No es posible con arreglos, solo con columnas separadas
B
679
¿Cuál es el propósito de la estrategia "view switching"? A. Ejecutar DML directamente sobre la vista para aplicar cambios B. Crear una nueva tabla con datos actualizados, redefinir la vista para apuntar a la nueva tabla y luego eliminar la antigua para evitar downtime C. Hacer streaming de cada fila de dimensión al view en tiempo real D. Particionar la vista por fecha
B
680
¿Qué consideración importante tiene view switching? A. Garantiza que DML en la vista siempre sea rápido y concurrente B. Puede lograr cero tiempo de inactividad si se gestiona correctamente, pero DML sobre la vista principal podría ser problemático C. No funciona con vistas materializadas D. Obliga a usar tablas no particionadas
B
681
¿Qué permite la opción de carga "in-place partition loading"? A. Reemplazar los datos de una partición destino con el resultado de una consulta o con datos cargados desde Cloud Storage sin reescribir toda la tabla B. Particionar automáticamente cada fila en su propia partición C. Solo funciona para tablas no particionadas D. Evita la necesidad de definir una tabla de destino
A
682
¿Cuál de estos comandos describe la idea de reemplazar una partición cargando desde Cloud Storage? A. bq query --replace ... destination_table$YYYYMMDD select ... B. bq shell --append destination_table select ... C. bq export --replace destination_table gs://... D. bq partition --create gs://...
A
683
¿Qué busca resolver la técnica de "update data masking" mediante una vista condicional? A. Ocultar completamente columnas sensibles en la tabla base B. Aplicar valores actualizados en tiempo de consulta combinando la tabla base con una tabla de actualizaciones pendientes usando LEFT JOIN e IFNULL para priorizar actualizaciones C. Evitar que se realicen actualizaciones por DML en la tabla base D. Reemplazar MERGE en todos los flujos de ETL
B
684
¿Qué operación se recomienda para sobrescribir un atributo en SCD Tipo 1? A. INSERT con la misma clave natural B. UPDATE sobre la fila existente C. MERGE sin condición D. DELETE y luego COPY de la tabla completa
B
685
Para SCD Tipo 2, ¿qué combinación de operaciones es habitual para mantener historia? A. Solo UPDATE sobre la fila histórica B. UPDATE para cerrar la fila vigente (SET END_DATE o CURRENT_FLAG) y INSERT de la nueva fila vigente C. MERGE que siempre hace DELETE sin insertar D. INSERT duplicando la fila vigente y borrando la anterior
B
686
¿Qué comportamiento describe la implementación interna de UPDATE en BigQuery? A. UPDATE modifica bytes en el archivo original sin reescritura B. UPDATE se implementa conceptualmente como DELETE de la fila antigua seguido de INSERT de la fila actualizada C. UPDATE siempre convierte la tabla a partición única D. UPDATE es una operación puramente lógica sin efectos físicos
B
687
¿Qué es MERGE en BigQuery? A. Una sentencia que sólo realiza INSERTs B. Una operación que combina INSERT, UPDATE y DELETE en una sola sentencia basada en una condición de coincidencia entre source y target C. Un comando para particionar tablas automáticamente D. Un tipo de vista especial que une tablas
B
688
En una operación MERGE típica para SCD Tipo 1, ¿qué acciones se suelen especificar? A. WHEN MATCHED THEN UPDATE; WHEN NOT MATCHED THEN INSERT B. WHEN MATCHED THEN INSERT; WHEN NOT MATCHED THEN UPDATE C. WHEN MATCHED THEN DELETE; WHEN NOT MATCHED THEN DELETE D. Solo WHEN NOT MATCHED THEN SELECT
A
689
¿Cuál es una ventaja de usar MERGE para actualización de dimensiones? A. Reduce la necesidad de operaciones separadas de UPDATE e INSERT al combinar lógica de coincidencia y no coincidencia en una sola sentencia B. Garantiza que no haya latencia de commit C. Elimina límites de concurrencia para DML D. Hace las consultas más lentas por diseño
A
690
¿Cuántas sentencias INSERT pueden ejecutarse concurrentemente sobre una tabla durante un periodo de 24 horas según el documento? A. Hasta 100 B. Las primeras 1500 sentencias INSERT se ejecutan concurrentemente C. No hay límite para INSERTs concurrentes D. Solo 2 INSERT concurrentes permitidos
B
691
¿Cómo denomina BigQuery a UPDATE, DELETE y MERGE? A. Operaciones no mutables B. Sentencias mutantes o mutating DML statements C. Consultas de solo lectura D. Trabajos en modo batch únicamente
B
692
¿Cuál es el límite de concurrencia para sentencias mutating (UPDATE/DELETE/MERGE) por tabla? A. BigQuery permite 10 mutating DML concurrentes por tabla sin cola B. Se ejecutan hasta 2 concurrentes; luego hasta 20 quedan en cola como PENDING C. No hay colas; las sentencias siguientes siempre fallan inmediatamente D. Se ejecutan 100 concurrentes por tabla
B
693
¿Qué ocurre si múltiples sentencias mutating intentan modificar la misma partición simultáneamente? A. Todas se ejecutan sin conflicto gracias a bloqueo de fila B. Se producen conflictos; las sentencias solo tendrán éxito si no modifican la misma partición; BigQuery reintenta fallos hasta tres veces C. BigQuery fusiona automáticamente cambios de partición en orden aleatorio D. Las sentencias se transforman en INSERTs automáticos
B
694
¿Cuándo se recomienda usar tablas particionadas respecto a DML? A. Cuando las actualizaciones o borrados ocurren en datos antiguos o localizados por fecha B. Siempre, incluso si cada partición contiene pocos datos y las actualizaciones abarcan muchas particiones C. Nunca; las particiones siempre degradan rendimiento de DML D. Solo para tablas con menos de 1 GB de datos
A
695
¿Por qué usar clustering puede mejorar el rendimiento de UPDATEs? A. Porque el clustering evita cualquier reescritura de archivos B. Porque permite localidad en las filas modificadas, reduciendo la cantidad de datos reescritos C. Porque elimina los límites de concurrencia de DML D. Porque impide que se ejecuten DELETEs en la tabla
B
696
¿Cuál es una recomendación respecto a agrupar operaciones DML? A. Ejecutar muchos DML pequeños individuales para menor latencia por operación B. Agrupar operaciones en bloques más grandes para amortizar el coste y evitar patrones de una sola fila C. Evitar agrupar porque incrementa la latencia general D. Ejecutar cada modificación en una transacción separada para maximizar concurrencia
B
697
¿En qué caso NO es recomendable particionar una tabla? A. Cuando las actualizaciones se concentran en una sola partición de fecha B. Cuando cada partición contiene poca cantidad de datos y las actualizaciones modifican una gran fracción de particiones C. Cuando se requiere locality para updates frecuentes D. Cuando se esperan delete masivos por rango de fecha
B
698
¿Cuál es una causa común de que la operación commit tarde más que la ejecución real? A. Byte Counting Query requerido para Billing Quota Check y gran número de particiones que incrementan latencias de commit B. Falta de índices en la tabla C. Uso de SELECT * en consultas de lectura D. Número de columnas mayor a 50
A
699
¿Qué ocurre si se actualizan filas sin localidad (no-locality) en una tabla particionada? A. Solo se reescribe la partición afectada B. Puede provocar la reescritura de la tabla completa aun reuniendo particiones, impactando rendimiento C. BigQuery optimiza y no reescribe nada D. Se convierte automáticamente la tabla a no particionada
B
700
¿Por qué las mutaciones estrechas (narrow mutations) pueden no ser tan rápidas como se espera? A. Porque siempre implican recrear índices globales B. Porque los archivos subyacentes pueden ser grandes, por lo que incluso mutaciones pequeñas requieren reescrituras costosas C. Porque BigQuery aplica compresión adicional que ralentiza todo D. Porque causan bloqueo global de proyecto
B
701
¿Cuál es el patrón generalmente indeseable en DML que se debe evitar? A. Insertar en lote millones de filas a la vez B. Inserts o updates de una sola fila repetidos (patrón de una sola fila) C. Agrupar actualizaciones por partición D. Usar MERGE para sincronizaciones periódicas
B
702
¿Qué control de tasa se aplica al insertar trabajos respecto a metadatos? A. No existe control, los jobs se aceptan siempre B. Se aplica un límite de tasa de actualización de metadatos al momento de insertar el job C. Solo se comprueba la cuota al finalizar el job D. Se bloquean todos los jobs si hay más de 10 pendientes
B
703
¿Qué puede empeorar la latencia de commit tras ejecutar DMLs? A. Tener pocas particiones en la tabla B. Tener un gran número de particiones en la tabla C. Ejecutar solo insert masivos sin DML D. Usar solo tablas no particionadas
B
704
Al diseñar la gestión de cambios para una dimensión que cambia frecuentemente varias veces al día, ¿qué combinación de estrategias podría ser más adecuada? (selección múltiple) A. Usar update data masking mediante una vista que combine fact_table con tabla de actualizaciones pendientes B. Aplicar exclusivamente SCD Tipo 3 con columnas adicionales para cada posible cambio de día C. Usar particionado y cargas in-place para reemplazar particiones que contienen los cambios diarios D. Implementar MERGE para sincronizar cambios si la carga proviene de una tabla temporal o staging
A, C y D
705
Un equipo reporta que muchas actualizaciones pequeñas sobre una tabla están provocando reescrituras masivas y lentitud. ¿Qué recomendaciones proceden? (selección múltiple) A. Implementar clustering en las columnas con localidad de actualización para reducir reescrituras B. Convertir todas las operaciones a single-row updates para reducir coste C. Agrupar actualizaciones en operaciones más grandes en lugar de ejecutar muchas pequeñas D. Evaluar si particionar la tabla es beneficioso o si está ocasionando overhead por particiones pequeñas
A, C y D
706
¿Cuál es una limitación operacional que debe considerarse al ejecutar muchas sentencias mutating simultáneas sobre una tabla? A. BigQuery permite simultáneamente 100 mutating DML por partición sin cola B. Sólo 2 mutating DML se ejecutan concurrentemente por tabla y hasta 20 se ponen en cola; operaciones adicionales pueden fallar C. Las sentencias mutating no causan conflictos en particiones separadas D. BigQuery convierte automáticamente mutating DML en SELECT para evitar conflictos
B
707
What compliance standard do all table modifications in a managed data warehouse service adhere to? A. ACID-compliant B. BASE-compliant C. CAP-compliant D. RAID-compliant
A
708
Which factors can influence the timeliness of datasets in a data warehouse? A. Periodic loads versus streaming ingest B. Priority of load jobs versus analytics jobs C. Both A and B D. Neither A nor B
C
709
In a cost-effective data warehouse, what approach allows retaining older data without deletion? A. Using sliding windows based on partition fields B. Benefiting from long-term storage pricing C. Both A and B D. Implementing immediate data purging
C
710
If deletion of older data is required in a data warehouse, what method can automate the process? A. Setting up automatic table or partition expiry B. Manual daily checks C. Increasing storage capacity indefinitely D. Ignoring data age entirely
A
711
Why must changes in data warehouses be made without impacting users? A. Data warehouses evolve constantly due to new functionality and data needs B. Users require uninterrupted access C. Both A and B D. Changes are optional and can be delayed
C
712
How are schema changes typically handled in data warehouses? A. Scheduled as version upgrades B. Developed and tested in parallel to the current version C. Both A and B D. Applied directly without testing
C
713
In data warehousing, what typically remains unchanged compared to dimensional attributes? A. Facts B. Metrics C. Both A and B D. Descriptive attributes
C
714
What does a fact table primarily contain? A. Measurements, metrics, or facts about a business process B. Descriptive attributes for query constraining C. Static customer data D. Employee records only
A
715
Which columns are found in a fact table? A. Columns containing facts B. Foreign keys to dimension tables C. Both A and B D. Only descriptive text fields
C
716
What characterizes a dimension table? A. Contains descriptive attributes used as query constraints B. Holds relatively static data that changes slowly and unpredictably C. Both A and B D. Focuses on real-time transactions
C
717
Examples of dimension table data include which of the following? A. Customer data B. Employee data C. Product data D. All of the above
D
718
In a star schema, what role does the fact table play? A. Central table connected to multiple dimension tables B. Holds transaction details like IDs and dates C. Both A and B D. Acts as a peripheral table only
C
719
Dimension tables in a star schema might include fields for which entities? A. Product with description and category B. Customer with name and type C. Store with location and hours D. All of the above
D
720
What is the purpose of slowly changing dimensions in data warehousing? A. To enable the historic aspect of data in analytical systems B. To overwrite all historical records C. To delete old data immediately D. To ignore changes in attributes
A
721
In SCD Type 1, how is an attribute change handled? A. Overwriting the existing attribute value B. Adding a new row for history C. Adding new columns D. Deleting the row entirely
A
722
What happens to historical data in SCD Type 1? A. It is lost due to overwriting B. It is preserved in new rows C. It is moved to a separate table D. It remains unchanged
A
723
For SCD Type 2, what is added to maintain history when changing an attribute? A. Start and end dates B. A new row with updated value and null end date C. Both A and B D. Overwriting without dates
C
724
How can a view be created to show only current records in SCD Type 2 with dates? A. Selecting where end date is null B. Selecting all records regardless of dates C. Deleting old records D. Overwriting dates
A
725
In a denormalized schema using SCD Type 2, what might not require changes? A. Previous fact table rows B. All fact table rows C. Dimension table keys only D. No rows at all
A
726
Alternative methods for SCD Type 2 include which options? A. Using version numbers B. Using effective date and current flag C. Both A and B D. Overwriting without flags
C
727
In SCD Type 3, how is history maintained? A. By adding new columns for changes B. By creating new rows C. By overwriting values D. By deleting old columns
A
728
For SCD Type 3, how can a view extract the current value from array-like columns? A. Using array length to select the last element B. Selecting the first element C. Ignoring arrays D. Deleting arrays
A
729
Why is there no universal solution for handling slowly changing dimensions? A. Due to performance implications of data modifications B. Changes vary by schema type C. Both A and B D. All solutions are identical
C
730
In denormalized tables for SCD, which techniques can isolate changes? A. View switching B. In-place partition loading C. Both A and B D. Direct overwriting
C
731
What is a step in the view switching method for handling changes? A. Allocating a new table B. Loading new data C. Redefining the view D. All of the above
D
732
After redefining the view in view switching, what happens to the old table? A. It is deallocated B. It remains active C. It is merged D. It is overwritten
A
733
What are considerations for using view switching? A. Zero downtime B. Potential issues with DML on the main view C. Applicable to custom partitions D. All of the above
D
734
In in-place partition loading, how can data in a target partition be replaced? A. Using a query from another table B. Loading from cloud storage C. Both A and B D. Manual insertion only
C
735
What command flag is used to replace data in partition loading? A. --replace B. --append C. --delete D. --merge
A
736
For frequently changing data, what technique uses a conditional join in a view? A. Update data masking B. Direct updates C. Deletion of changes D. Ignoring updates
A
737
In update data masking, what function handles null values in joins? A. IFNULL B. COALESCE C. Both A and B could be used, but IFNULL is exemplified D. DELETE
A
738
For SCD Type 1, which DML statement overwrites values? A. UPDATE B. INSERT C. DELETE D. MERGE
A
739
In SCD Type 2, what DML is used to add a new record for history? A. INSERT B. UPDATE C. DELETE D. SELECT
A
740
How is an UPDATE statement implemented internally? A. As DELETE old row plus INSERT updated row B. As a direct overwrite without delete C. As a merge only D. As an append
A
741
For SCD Type 2, what combination of DML maintains history? A. UPDATE to change flags or dates B. INSERT for the new row C. Both A and B D. DELETE only
C
742
What does a MERGE statement combine in one operation? A. INSERT B. UPDATE C. DELETE D. All of the above
D
743
In a MERGE statement, what clause specifies actions when matched? A. WHEN MATCHED THEN B. WHEN NOT MATCHED THEN C. Both A and B D. ON clause only
C
744
For SCD Type 1 using MERGE, what action updates matched rows? A. UPDATE SET B. INSERT VALUES C. Both A and B D. DELETE
C
745
What is the daily limit for concurrent INSERT statements on a table? A. First 1500 run concurrently B. Unlimited C. Only 2 D. 20 queued
A
746
Which DML statements are considered mutating? A. UPDATE B. DELETE C. MERGE D. All of the above
D
747
How many mutating DML statements run concurrently? A. Up to 2 B. Up to 1500 C. Unlimited D. None
A
748
After concurrent limit, how many mutating DML are queued as pending? A. Up to 20 B. Up to 2 C. 1500 D. None
A
749
What causes DML statement conflicts? A. Concurrent mutating DML on the same partition B. Different partitions only C. INSERT statements D. SELECT queries
A
750
How many retry attempts does the system make for failed DML due to conflicts? A. Up to 3 B. Unlimited C. 1 D. None
A
751
Best practices for DML include using what type of tables for updates on older data? A. Partitioned tables B. Clustered tables for locality C. Both A and B D. Non-partitioned only
C
752
Why group DML operations into larger ones? A. To amortize the cost of smaller operations B. To increase conflicts C. To reduce performance D. To avoid queuing
A
753
When should partitioning be avoided in tables for DML? A. If data per partition is small and updates affect many partitions B. Always use partitioning C. Only for large data D. Irrelevant to DML
A
754
What is the maximum concurrent non-insert DML jobs per table? A. 2 B. 1500 C. 20 D. Unlimited
A
755
After queuing limit, what happens to additional non-insert DML? A. They fail B. They run concurrently C. They are delayed indefinitely D. They are converted to INSERT
A
756
When is the metadata update rate limit applied? A. At job insert time B. After execution C. During commit D. Never
A
757
What can cause long commit latency after DML job completion? A. Large number of partitions B. Small tables only C. INSERT statements D. No impact
A
758
Why are single row inserts or updates undesirable? A. Inefficient pattern B. Cause full table rewrites C. Both A and B D. Always efficient
C
759
What happens when updating rows without locality? A. Rewrites the entire table B. Even with partitions C. Suggests using clustering D. All of the above
D
760
Why might commit time exceed execution time in DML? A. Due to byte counting for billing quota check B. Small operations only C. No reason D. Always equal
A
761
What slows down narrow mutations or deletions with locality? A. Underlying large files B. Small files C. No impact D. Clustering absence only
A
762
¿Qué propiedad garantiza que todas las modificaciones de tablas en un sistema de base de datos se procesen de manera fiable? A.Latencia de ingesta B.Conformidad BASE C.Disponibilidad del servicio D.Conformidad ACID
D
763
¿Cuál de las siguientes es una tabla que contiene atributos descriptivos y relativamente estáticos que se utilizan para filtrar y agrupar datos? A.Tabla de preparación (Staging table) B.Tabla de hechos (Fact table) C.Vista materializada (Materialized view) D.Tabla de dimensiones (Dimension table)
D
764
En el contexto de las Dimensiones de Lento Crecimiento (SCD), ¿qué implica la estrategia de 'Tipo 1'? A.Añadir una nueva fila con los datos actualizados, manteniendo la fila antigua. B.Sobrescribir el valor del atributo antiguo con el nuevo valor, perdiendo el historial. C.Añadir una nueva columna para almacenar el valor anterior del atributo. D.Crear una tabla separada para registrar el historial de cambios.
B
765
¿Cuál es el propósito principal de usar campos como 'fecha_inicio' y 'fecha_fin' en una tabla de dimensiones? A.Para implementar el particionamiento de la tabla por fecha. B.Para optimizar el rendimiento de las consultas sobre rangos de fechas. C.Para implementar la estrategia SCD Tipo 2, manteniendo el historial de cambios. D.Para facilitar la eliminación automática de datos antiguos.
C
766
¿Qué estrategia se puede utilizar en un esquema desnormalizado para aplicar cambios de datos a gran escala sin tiempo de inactividad para los usuarios? A.Implementar el cambio de vistas (view switching). B.Realizar una carga de partición en el lugar (in-place partition loading). C.Ejecutar sentencias UPDATE en pequeños lotes. D.Usar el enmascaramiento de datos condicional con una vista.
A
767
¿Qué sentencia DML en BigQuery combina las operaciones INSERT, UPDATE y DELETE en una sola declaración atómica? A.MERGE B.TRUNCATE C.UPDATE D.INSERT
A
768
En BigQuery, ¿qué sucede si se ejecutan simultáneamente dos sentencias DML (por ejemplo, dos UPDATE) que intentan modificar la misma partición de una tabla? A.Se crea una copia temporal de la partición para cada sentencia. B.Ambas sentencias se ejecutan correctamente en paralelo. C.Se produce un conflicto de sentencias DML y al menos una de ellas fallará. D.La segunda sentencia espera a que la primera termine y luego se ejecuta.
C
769
¿Cuál de las siguientes es una práctica recomendada para optimizar las operaciones DML en BigQuery? A.Realizar inserciones y actualizaciones fila por fila para un mayor control. B.Evitar el uso de tablas particionadas, ya que añaden complejidad. C.Agrupar múltiples operaciones DML pequeñas en una sola operación más grande. D.Utilizar siempre tablas no clusterizadas para mayor flexibilidad.
C
770
Internamente, ¿cómo se implementa una operación UPDATE en BigQuery? A.Como una operación de DELETE de la fila antigua seguida de un INSERT de la fila nueva. B.Modificando directamente el bloque de almacenamiento donde reside la fila. C.Creando un nuevo índice para la fila actualizada. D.Añadiendo un registro de 'delta' que se aplica durante la lectura.
A
771
¿En qué escenario el uso de tablas clusterizadas ofrece una mejora de rendimiento significativa para las sentencias UPDATE? A.Cuando las filas modificadas tienen una alta localidad gracias al clustering. B.Cuando la sentencia UPDATE modifica un pequeño porcentaje de filas en cada partición. C.Cuando la sentencia UPDATE utiliza una subconsulta compleja no correlacionada. D.Cuando la tabla es muy pequeña y no está particionada.
A
772
¿Cuál es el beneficio principal de ejecutar una consulta idéntica dos veces consecutivas en un entorno de Big Data? A. Se aprovecha la caché de consultas para una respuesta más rápida. B. Se fuerza la reescritura de la consulta para optimizar los planes de ejecución. C. Se garantiza el uso de funciones no determinísticas. D. Se activa el modo de lectura de alta capacidad (High Throughput Reads).
A
773
¿Qué elementos se consideran típicamente para generar el hash que determina la validez o el nombre de una entrada en la caché de consultas? (Respuesta Múltiple) A. La cadena de la consulta (query string). B. Los tiempos de modificación de los datos. C. Las tablas utilizadas. D. El formato de serialización binaria (gRPC).
A, B y C
774
¿Bajo qué condición el sistema de caché generalmente omite la devolución de un resultado almacenado? A. Si se utiliza una función no determinística (por ejemplo, NOW()). B. Si la consulta se ejecuta con una prioridad de lote (batch priority). C. Si la consulta tiene un LIMIT de 10 o menos filas. D. Si la caché de consultas está configurada para ser por usuario
A
775
¿Qué otra situación, además del uso de funciones no determinísticas o la modificación de tablas, provoca que se omita el uso de la caché de consultas? (Respuesta Múltiple) A. Si se solicita una tabla de resultados permanente. B. Si las tablas fuente tienen búferes de streaming. C. Si las vistas materializadas no se están utilizando. D. Si las tablas referenciadas o vistas han cambiado
A, B y D
776
Si solo se desea inspeccionar un número limitado de filas en una tabla sin ejecutar una consulta completa, ¿qué funcionalidad de interfaz se recomienda utilizar? A. El motor BI Engine. B. La característica de Vista Previa (Preview feature). C. Una vista materializada temporal. D. La BigQuery Storage Read API.
B
777
¿Qué característica define mejor una Vista Materializada? A. Son un método de acceso paginado para pequeños conjuntos de resultados. B. Son vistas precomputadas que almacenan periódicamente los resultados de una consulta para mejorar el rendimiento y la eficiencia. C. Son tablas temporales que solo existen durante la ejecución de una sesión. D. Son archivos de exportación masiva almacenados en Cloud Storage.
B
778
¿Cómo interactúa el optimizador de consultas con las vistas materializadas? A. El optimizador ignora las vistas materializadas a menos que el usuario las referencie explícitamente. B. Las vistas deben ser mantenidas manualmente para que el optimizador las considere. C. El optimizador puede redirigir automáticamente las consultas aplicables a la vista materializada para una ejecución más rápida. D. Solo se utilizan si la tabla base está disponible.
C
779
Respecto al mantenimiento y frescura de los datos en vistas materializadas, ¿cuál de las siguientes afirmaciones es correcta? A. La vista materializada se invalida si la tabla base cambia, lo que requiere la intervención manual del usuario para forzar una nueva lectura. B. Si la vista materializada queda invalidada por un cambio en la tabla base, el sistema leerá directamente de la tabla base. C. La vista materializada sólo se actualiza si el usuario la consulta. D. El usuario debe ejecutar un ALTER VIEW para indicar que los datos han cambiado
B
780
Si solo una parte de una consulta dirigida a la tabla fuente puede resolverse mediante la consulta de una vista materializada, ¿cómo reacciona el sistema? A. La consulta siempre se ejecuta completamente en la tabla base para garantizar la consistencia. B. El sistema utiliza únicamente la vista materializada y descarta los datos faltantes. C. El sistema utiliza el ajuste inteligente (Smart tuning) y redirige la consulta para usar la vista materializada en la parte que pueda resolverse. D. La consulta falla y requiere reescritura.
C
781
¿Qué beneficios se obtienen al utilizar vistas materializadas para el reporte en BigQuery? (Respuesta Múltiple) A. Mejorar la eficiencia de la consulta (uso de slots y bytes procesados). B. Reducir el tiempo de ejecución para consultas complejas con funciones de agregación. C. Proporcionar agregación en tiempo real. D. Garantizar que se utilice el formato de serialización binaria (gRPC
A, B y C
782
Al crear una vista materializada que utiliza particionamiento, ¿cuál es un requisito obligatorio? A. La columna de partición debe ser una columna que no sea agregada. B. La columna de partición de la vista debe ser una columna de partición de la tabla base. C. Solo se permite el clustering, no el particionamiento. D. La columna de partición debe ser utilizada también para el clustering.
B
783
¿Cuáles de las siguientes operaciones no están soportadas en la definición de una vista materializada? (Respuesta Múltiple) A. El uso de WITH statements (Common Table Expressions). B. JOINS externos u JOINS de auto-referencia (self JOINS). C. Funciones analíticas. D. Consultas que filtren o computen basándose en un valor agregado
B, C y D
784
Al diseñar vistas materializadas con JOINs que soporten consultas incrementales y refresco, ¿qué tabla debe priorizarse o colocarse primero en la consulta? A. La tabla menos frecuentemente cambiante. B. La tabla que contenga menos filas. C. La tabla más grande o la que cambia más frecuentemente. D. La tabla más a la derecha en la cláusula FROM
C
785
¿Cuál es la configuración predeterminada para el refresco automático de las vistas materializadas? A. Se refrescan automáticamente cada 5 minutos, sin excepción. B. Se refrescan automáticamente dentro de los 5 minutos posteriores a un cambio en la tabla base, pero no más frecuentemente de cada 30 minutos. C. El refresco automático debe ser activado mediante una sentencia ALTER MATERIALIZED VIEW. D. El refresco automático se trata con prioridad interactiva
B
786
¿Qué opción DDL se utiliza para modificar parámetros de gestión de una vista materializada, como el intervalo de refresco? A. UPDATE MATERIALIZED VIEW SET OPTIONS. B. CALL BQ.REFRESH_MATERIALIZED_VIEW. C. CREATE OR REPLACE MATERIALIZED VIEW. D. ALTER MATERIALIZED VIEW SET OPTIONS
D
787
En relación con el costo del mantenimiento de las vistas materializadas, ¿a qué proyecto se factura el costo del refresco manual? A. Al proyecto donde reside la vista materializada. B. Al proyecto donde reside la tabla base. C. Al proyecto en el que se ejecuta el trabajo de refresco manual. D. El costo del refresco manual es cero.
C
788
¿Cuál es el objetivo principal del motor BigQuery BI Engine? A. Facilitar la exportación masiva de datos a Cloud Storage. B. Proporcionar acceso paralelo de alto rendimiento para sistemas de terceros. C. Permitir el análisis interactivo en tiempo real a escala, logrando tiempos de respuesta sub-segundo para consultas de inteligencia de negocios (BI). D. Garantizar la consistencia de snapshot durante sesiones de lectura prolongadas
C
789
¿Cómo logra BI Engine su rendimiento de baja latencia para consultas de dashboard? A. Almacenando los resultados de consultas frecuentes en vistas materializadas persistentes. B. Mediante el almacenamiento en caché de datos en memoria (In-memory data caching) ubicado junto al procesamiento de consultas vectorizado. C. Requiriendo a los usuarios que administren cubos OLAP separados. D. Utilizando consultas REST API paginadas
B
790
¿Cuál es la función principal de la arquitectura de lecturas de alta capacidad (High Throughput Reads)? A. Optimizar las consultas interactivas con BI Engine. B. Proporcionar acceso paralelo y de alto rendimiento a datos para sistemas de terceros. C. Gestionar metadatos de trabajos de BigQuery. D. Permitir la consulta directa de fuentes de datos externas sin cargar
B
791
¿Qué herramientas o plataformas se benefician al utilizar la arquitectura de lecturas de alta capacidad de BigQuery? (Respuesta Múltiple) A. Dataflow (a través de BigQueryIO Connector). B. Herramientas OSS a través de Dataproc (como Spark, Presto o Hive). C. TensorFlow IO para entrenamiento distribuido de modelos de Machine Learning. D. Looker con BI Engine activado
A, B y C
792
Para acceder a datos de una tabla de BigQuery, ¿cuál es el método preferido para la lectura de datos a gran escala (at scale)? A. La exportación masiva a Cloud Storage a través de trabajos de extracción. B. El uso de la Storage Read API. C. El acceso paginado basado en registros (tabledata.list). D. La lectura directa de la caché de consultas.
B
793
¿Qué método de acceso a datos de BigQuery es más adecuado para conjuntos de resultados pequeños y se utiliza en la interfaz web? A. BigQuery Storage Read API. B. Acceso paginado basado en registros, utilizando métodos REST API como tabledata.list. C. Exportación masiva de datos. D. Vistas materializadas.
B
794
La BigQuery Storage Read API utiliza un protocolo específico para la transferencia de datos. ¿Cuál es? A. JSON HTTP. B. Protocolo REST con formato CSV. C. Protocolo gRPC utilizando un formato de serialización binaria. D. Protocolo estándar SQL.
C
795
¿Qué características ofrece la BigQuery Storage Read API para mejorar el rendimiento? (Respuesta Múltiple) A. Column projection, que permite seleccionar un subconjunto de columnas para leer. B. Múltiples streams para que los consumidores puedan leer conjuntos de filas disjuntos. C. Column filtering, que admite predicados de filtro simples en el lado del servidor. D. Reemplazar la necesidad de CREATE MATERIALIZED VIEW.
A, B y C
796
¿Cómo maneja la BigQuery Storage Read API la consistencia de los datos leídos durante una sesión? A. La consistencia no está garantizada, dependiendo de la mutabilidad de la tabla. B. Se garantiza la consistencia de snapshot (aislamiento) basada en el momento de la creación de la sesión. C. La consistencia se garantiza si se utilizan vistas materializadas. D. La consistencia depende únicamente de si se utiliza AVRO como formato de datos.
B
797
¿Cuál es el orden correcto de los tres pasos clave al utilizar la BigQuery Storage Read API a través de las bibliotecas cliente? A. Decodificar bloques de filas, Crear una sesión, Leer desde un stream. B. Leer desde un stream, Decodificar bloques de filas, Crear una sesión. C. Crear una sesión, Leer desde un stream de la sesión, Decodificar bloques de filas. D. Leer desde un stream, Crear una sesión, Procesar datos
C
798
¿Qué ventaja principal ofrece la consulta directa de datos de código abierto (OSS) en su lugar original, sin necesidad de cargarlos en el sistema? A. Garantía de consistencia de datos. B. La conveniencia para cargas de trabajo ETL, exploración de datos y casos de uso de migración (lift and shift). C. Eliminación de las limitaciones de mutabilidad. D. Uso garantizado de wildcards de tabla
B
799
¿Cuáles son las desventajas o advertencias al consultar datos directamente desde fuentes de datos externas? (Respuesta Múltiple) A. El rendimiento sufre de fuertes desventajas. B. La consistencia de los datos no está garantizada. C. No se pueden utilizar wildcards de tabla. D. Se reduce el costo de almacenamiento de las vistas materializadas.
A, B y C
800
When you run the exact same query twice in BigQuery, what feature helps improve performance? A) Query parallelization B) Query cache C) Materialized view D) Query federation
B
801
The BigQuery query cache is skipped when: A) Tables used haven’t changed B) Query is deterministic C) Non-deterministic functions like NOW() are used D) Tables have no streaming buffers
C
802
What element is not included in the cache hash used by BigQuery? A) Tables used B) Query string C) Data modification times D) Query cost estimate
D
803
BigQuery query cache is stored: A) Per dataset B) Per table C) Per user D) Globally
C
804
Which of the following will invalidate the query cache? A) Query with LIMIT B) Query with deterministic UDFs C) Requesting a permanent result table D) Querying only preview mode
C
805
What is the main purpose of a materialized view? A) To store raw data B) To precompute and cache query results C) To visualize dashboards D) To store external data
B
806
Materialized views in BigQuery are: A) Updated manually by default B) Automatically refreshed C) Created as temporary tables D) Only used for joins
B
807
Which of the following is a benefit of materialized views? A) They reduce query speed B) They increase maintenance overhead C) They allow incremental updates automatically D) They are slower than base tables
C
808
What happens if a base table changes and invalidates a materialized view? A) Query fails B) BigQuery reads directly from the base table C) Materialized view stops updating D) Query cache is cleared
B
809
Which statement is true about BigQuery’s query optimizer and materialized views? A) It ignores materialized views B) It only uses them if explicitly referenced C) It can reroute applicable queries automatically D) It requires manual query rewrite
C
810
Using dry runs with materialized views allows you to: A) Force refresh B) Get a cost estimate C) Disable refresh D) Create partitions
B
811
Which is not a supported feature for materialized views? A) WITH clauses B) Partitioning C) Clustering D) Outer joins
D
812
Which of these operations is unsupported in BigQuery materialized views? A) SUM and COUNT B) Non-deterministic functions C) INNER JOIN D) GROUP BY
B
813
Materialized views cannot be: A) Based on other materialized views B) Partitioned C) Clustered D) Queried directly
A
814
To create a materialized view, you must use: A) CREATE TABLE B) CREATE MATERIALIZED VIEW C) CREATE VIEW D) CREATE INDEX
B
815
What is the default refresh behavior for materialized views in BigQuery? A) Manual only B) Within 5 minutes of change, not more frequent than every 30 minutes C) Every hour D) Upon query execution only
B
816
The refresh interval of a materialized view can be modified using: A) ALTER MATERIALIZED VIEW B) UPDATE MATERIALIZED VIEW C) SET REFRESH INTERVAL D) REFRESH MATERIALIZED VIEW
A
817
To manually refresh a materialized view, you can use: A) REFRESH MATERIALIZED VIEW B) CALL BQ.REFRESH_MATERIALIZED_VIEW C) UPDATE MATERIALIZED VIEW D) RELOAD MATERIALIZED VIEW
B
818
The cost of automatic refresh is billed to: A) The project running the job B) The project where the view resides C) The base table’s project D) The billing account
B
819
To optimize materialized views with joins, the largest or most changing table should be: A) Last in the join B) First in the join C) Excluded from join D) Unpartitioned
B
820
When designing materialized views, joining on clustering keys should be avoided because: A) It increases storage B) BigQuery already optimizes such joins C) It causes invalidations D) Clustering keys can’t be joined
B
821
What does setting enable_refresh=TRUE do? A) Enables cache refresh B) Enables automatic view refresh C) Enables query rewrite D) Enables clustering
B
821
What type of queries benefit most from materialized views? A) Simple SELECT queries B) Analytical queries with aggregates C) Queries without filters D) External table queries
B
822
What are the main cost factors for materialized views? A) Querying, maintaining, and storing them B) Only querying them C) Only storing them D) Only refreshing them manually
A
823
BigQuery BI Engine is designed to: A) Store external data B) Improve dashboard performance C) Replace BigQuery storage D) Run ETL jobs
B
824
BI Engine enables: A) Real-time OLAP cubes B) In-memory analysis for sub-second query response C) Manual caching of queries D) Batch-only processing
B
825
BI Engine integrates with: A) Sheets and Looker B) Cloud Functions C) Cloud Storage D) Compute Engine
A
826
Which is a characteristic of BI Engine’s design? A) Disk-based query processing B) In-memory vectorized query execution C) External data federation D) Manual job scheduling
B
827
Managing OLAP cubes is necessary when using BI Engine. A) True B) False
B
828
BI Engine’s caching is: A) Co-located with query execution B) Stored in Cloud Storage C) User-defined D) External
A
829
BI Engine integrates with which type of BigQuery data refresh? A) Manual B) Streaming C) Scheduled D) Partitioned
B
830
High throughput reads in BigQuery allow: A) Sequential data access B) Parallel data access for external systems C) Manual job scheduling D) Only read via SQL
B
831
Which tool does not use high throughput reads? A) Dataflow B) Spark C) Hadoop D) Cloud Functions
D
832
The BigQuery Storage Read API is used for: A) Batch exports B) Parallel, scalable reads C) Previewing rows D) Manual ETL
B
833
Which storage layer is optimized for reading in BigQuery? A) WOS B) ROS C) Spanner D) Colossus tables
B
834
Which method provides record-based paginated access? A) tabledata.list B) extract job C) Storage Read API D) copy job
A
835
Bulk data export uses: A) REST API B) Extract jobs C) gRPC D) Streaming API
B
836
The BigQuery Storage Read API uses: A) JSON serialization B) Binary gRPC serialization C) CSV format D) REST only
B
837
Which is an advantage of the Storage Read API? A) Single-threaded execution B) Built-in parallelism C) Requires manual sharding D) Limited to small datasets
B
838
The Storage Read API allows selecting specific columns via: A) Projection B) Filter C) Aggregation D) Join
A
839
Column filtering in Storage Read API: A) Happens client-side B) Happens server-side C) Requires UDFs D) Uses dry runs
B
840
Snapshot consistency in Storage Read API ensures: A) Eventual consistency B) Snapshot isolation C) Strong consistency D) No isolation
B
841
Default snapshot time for a session is: A) Query execution time B) Session creation time C) Latest commit time D) User-defined
B
842
What are the 3 main steps when using the Storage Read API? A) Create session, read stream, decode rows B) Connect, load data, export results C) Query, aggregate, export D) Schedule, join, filter
A
843
The max_stream_count parameter controls: A) Concurrency B) Storage C) Caching D) Partitions
A
844
Querying OSS data in place is convenient for: A) Real-time dashboards B) ETL and lift-and-shift workloads C) Transactional updates D) Cache operations
B
845
Which is not a caveat of querying external data sources? A) Performance B) Consistency C) Mutability D) Scalability
D
846
What is a limitation of querying external data sources directly? A) Strong performance B) Data consistency guaranteed C) Cannot use table wildcards D) Fast queries
C
847
Which statement is true about querying external data sources? A) Data is always consistent B) Loading is required C) Loading is optional D) Queries are cached
C
848
¿Qué ventaja ofrece el uso de la caché de BigQuery al ejecutar dos veces la misma consulta? A) Los resultados siempre cambian B) Reduce el tiempo de ejecución usando resultados almacenados C) Se saltan restricciones de seguridad D) Se ignoran funciones deterministas
B
849
¿En qué caso se omite el uso de la caché de BigQuery al ejecutar una consulta? A) Cuando solo se utiliza LIMIT B) Si los datos fuente han cambiado C) Cuando se usan funciones deterministas D) Si se solicita una tabla permanente de resultados
B y D
850
¿Cuál de los siguientes NO activa el salto de caché en BigQuery? A) Uso de funciones no deterministas como NOW() B) Solicitud de tabla permanente de resultados C) Tablas base modificadas D) Uso exclusivo de SELECT fijo
D
851
¿Qué es una vista materializada en BigQuery? A) Una vista que permite conectividad externa B) Una vista que almacena los resultados precalculados de una consulta periódicamente C) Una vista que necesita mantenimiento manual D) Una vista que siempre lee directamente de la base de datos
B
852
¿Por qué es recomendable emplear vistas materializadas para informes en BigQuery? A) Mejoran la eficiencia de consulta y reducen los bytes procesados B) Obligan a leer siempre la tabla base C) Requieren actualización constante por el usuario D) Producen informes sin agregados
A
853
¿Qué sucede si una tabla base cambia y puede invalidar los resultados de una vista materializada? A) BigQuery sigue usando la vista materializada B) Solo lee los cambios desde la tabla base C) Lee directamente de la tabla base D) El usuario debe refrescar manualmente la vista
C
854
¿Qué operación NO es compatible con las vistas materializadas en BigQuery? A) WITH statements B) Outer JOINS y self JOINS C) Clustering D) Partitioning
B
855
¿Cómo se crea una vista materializada en BigQuery? A) Usando ALTER MATERIALIZED VIEW B) Usando CREATE MATERIALIZED VIEW con una consulta SELECT C) Mediante consola gráfica solamente D) Usando INSERT INTO
B
856
¿Qué función tienen las vistas materializadas en la optimización de consultas de BigQuery? A) Imponen restricciones de acceso B) Permiten que el optimizador las use automáticamente en planes de consulta C) Requieren siempre consulta directa por nombre D) Solo admiten resultados agregados
B
857
¿Qué limitación existe al emplear vistas materializadas con subconsultas o funciones agregadas? A) Solo soportan ciertas agregaciones B) Permiten agregados arbitrarios C) Pueden anidarse sobre otras vistas materializadas D) Son compatibles con tablas externas
A
858
¿Qué opciones pueden modificarse en una vista materializada? A) Nombre de columnas B) Intervalo de refresco y expiración C) Tipo de dato de la tabla base D) Clave primaria
B
859
¿Cuál es la frecuencia predeterminada de refresco automático de las vistas materializadas en BigQuery? A) Cada minuto B) No más frecuente que cada 30 minutos, pero dentro de 5 minutos tras cambios en tabla base C) Solo bajo demanda del usuario D) Mensualmente
B
860
¿Qué aspecto genera costes asociados al uso de vistas materializadas? A) Solo la creación inicial B) La consulta y el refresco (automático o manual) C) El borrado de datos D) La consulta de la tabla base
B
861
¿Cuál es la finalidad principal de BigQuery BI Engine? A) Permitir análisis interactivo en tiempo real sobre datos de BigQuery B) Gestionar cubos OLAP por separado C) Limitar el acceso a dashboards D) Realizar únicamente análisis batch
A
862
¿Qué característica clave tiene BI Engine para paneles de BI? A) Procesamiento en disco B) Caching en memoria vectorizada y baja latencia C) Solo integra datos batch D) Requiere configuración manual extensa
B
863
¿Cuál es la visión de BigQuery BI Engine? A) Procesos de refresco lentos y asíncronos B) Consultas siempre frescas y rápidas para democratizar el BI C) Centralización de cálculos fuera de BigQuery D) Solo para reportes internos
B
864
¿Cuál es la principal ventaja del uso de la API de lectura de almacenamiento de BigQuery? A) Permite solo lecturas secuenciales B) Permite paralelismo y acceso eficiente a gran escala con formato binario C) Exporta datos exclusivamente a JSON D) No soporta filtros de columna
B
865
¿Cuáles son las formas principales de acceder a datos de tablas en BigQuery? A) Navegador web y SSH B) Acceso paginado por filas, exportación masiva, API de almacenamiento C) FTP y correo electrónico D) Acceso directo con SELECT sin restricciones
B
866
¿Qué característica permite la API de almacenamiento de BigQuery para procesamiento distribuido? A) Solo lee una columna por consulta B) Soporta múltiples streams simultáneos para leer filas disjuntas C) No permite filtros D) Solo soporta tablas con menos de 1GB
B
867
¿Qué ventaja aporta la proyección de columnas en la API de almacenamiento de BigQuery? A) Selección limitada al primer campo B) El usuario puede elegir un subconjunto de columnas para optimizar la lectura C) No mejora el rendimiento D) Impide aplicar filtros
B
868
¿Qué modelo de consistencia usa la API de lectura de almacenamiento de BigQuery por defecto? A) Consistencia eventual B) Consistencia de snapshot basada en el momento de creación de la sesión C) Consistencia estricta D) No emplea consistencia
B
869
¿Cuáles son los pasos para usar la API de lectura de almacenamiento de BigQuery? A) Descargar drivers personalizados, conectar por SSH, copiar datos B) Crear una sesión, leer el stream, decodificar bloques de filas C) Ejecutar un script SQL genérico, exportar a Excel D) Usar solo la consola web
B
870
¿Cuáles son consideraciones importantes al consultar fuentes de datos externas en BigQuery? A) Integridad total de datos, alta consistencia y rendimiento B) Conveniente para ETL y exploración, pero con rendimiento y consistencia variable C) Solo se puede cargar antes de consultar D) Permite usar wildcards en tablas
B
871
¿Qué limitación principal tiene la consulta directa sobre fuentes de datos externas en BigQuery? A) Garantiza alta consistencia siempre B) No permite usar comodines de tabla C) Soporta todas las funciones agregadas de BigQuery D) Mejora la latencia frente a tablas internas
B
872
¿Por qué debe evitarse unir sobre claves de clustering en ciertas operaciones de vistas materializadas? A) Porque BigQuery ya puede realizar el join eficientemente B) Porque se requieren permisos adicionales C) Porque impide refresco incremental D) Porque incurre en costes añadidos
A
873
¿Qué condición principal debe cumplirse para que el resultado de una consulta sea recuperado desde la caché en un sistema de análisis de datos? A) La consulta debe ser ejecutada por un administrador del sistema. B) La consulta debe ser textualmente idéntica a una consulta ejecutada previamente. C) La consulta debe afectar a menos de 1000 filas. D) La tabla consultada no debe tener más de 10 columnas.
B
874
¿Cuál de los siguientes elementos, si se incluye en una consulta, evitará que se utilice la caché de resultados? A) Una cláusula ORDER BY para ordenar los resultados. B) El uso de un alias para una tabla (AS). C) La inclusión de una función no determinista como NOW() o CURRENT_TIMESTAMP(). D) Una cláusula LIMIT para restringir el número de filas devueltas.
C
875
¿Qué factores se utilizan para determinar si una consulta puede usar un resultado almacenado en caché? (Selección múltiple) A) La cadena de texto exacta de la consulta. B) Las tablas a las que se hace referencia en la consulta. C) La ubicación geográfica desde donde se ejecuta la consulta. D) Las marcas de tiempo de la última modificación de los datos en las tablas.
A, B y D
876
¿En qué situación se ignorará la caché y se ejecutará una nueva consulta, aunque la sintaxis de la consulta sea idéntica a una anterior? A) Si la consulta anterior se ejecutó hace más de una hora. B) Si los datos de cualquiera de las tablas consultadas han cambiado. C) Si el usuario que ejecuta la consulta es diferente, aunque tenga los mismos permisos. D) Si la conexión a la base de datos se realiza a través de una API.
B
877
¿Cómo se comporta la caché de consultas con respecto a los diferentes usuarios del sistema? A) La caché es global y cualquier usuario puede aprovechar los resultados de otro. B) La caché se comparte solo entre usuarios que pertenecen al mismo proyecto. C) La caché de resultados es específica para cada usuario. D) Solo los usuarios con rol de "lector" pueden utilizar la caché.
C
878
¿Qué es una vista materializada en el contexto de una base de datos analítica? A) Una consulta guardada que se ejecuta en tiempo real cada vez que se invoca. B) Una tabla virtual que no consume espacio de almacenamiento. C) Una vista cuyos resultados han sido precalculados y almacenados físicamente para acelerar el acceso. D) Una copia de seguridad de una tabla que se actualiza semanalmente.
C
879
¿Cómo puede el optimizador de consultas utilizar una vista materializada? A) Solo si el usuario especifica explícitamente el nombre de la vista materializada en la consulta. B) Puede reescribir una consulta sobre una tabla base para que, en su lugar, obtenga los datos de una vista materializada compatible. C) Únicamente para consultas que no contienen ninguna función de agregación. D) El optimizador siempre pregunta al usuario si desea utilizar la vista materializada.
B
880
¿Cuál es una ventaja clave de las vistas materializadas en términos de mantenimiento? A) Deben ser actualizadas manualmente por un administrador de bases de datos todos los días. B) Se actualizan de forma automática cuando los datos de sus tablas base cambian. C) Nunca necesitan ser actualizadas una vez creadas. D) Requieren la reescritura de todas las aplicaciones cliente para poder usarlas.
B
881
Si los datos de una tabla base cambian de una manera que invalida el contenido de una vista materializada, ¿qué hace el sistema al recibir una consulta? A) Devuelve un error indicando que los datos no están sincronizados. B) Devuelve los datos obsoletos que están almacenados en la vista materializada. C) Ignora la vista materializada y ejecuta la consulta directamente contra la tabla base. D) Pausa la consulta hasta que la vista materializada haya terminado de refrescarse.
C
882
¿Cuál es el principal beneficio de rendimiento al utilizar vistas materializadas para consultas analíticas complejas? A) Reducción del coste de la ingesta de datos. B) Reducción del tiempo de ejecución y de los bytes procesados al leer datos pre-agregados. C) Mejora en la seguridad de los datos a nivel de columna. D) Disminución del espacio de almacenamiento total requerido.
B
883
¿Cuál de las siguientes operaciones generalmente no está soportada en la definición de una vista materializada? A) Agregaciones como SUM() o COUNT(). B) Uniones de tipo INNER JOIN. C) Uniones externas (OUTER JOINs) o funciones analíticas de ventana. D) Filtrado de datos con una cláusula WHERE.
C
884
Al crear una vista materializada que une varias tablas, ¿cuál es una práctica recomendada para facilitar las actualizaciones incrementales? A) Colocar la tabla que cambia con más frecuencia o la más grande en la primera posición (la más a la izquierda) de la unión. B) Utilizar siempre SELECT * en la definición de la vista. C) Poner la tabla más pequeña y con menos cambios en la primera posición de la unión. D) Evitar el uso de cualquier cláusula WHERE en la consulta de la vista.
A
885
¿Qué aspecto del comportamiento de una vista materializada se puede modificar después de su creación? A) El número de columnas que contiene. B) Las tablas base de las que obtiene los datos. C) La frecuencia con la que se ejecuta el refresco automático. D) El tipo de datos de las columnas agregadas.
C
886
¿Qué elementos contribuyen al coste total asociado con el uso de vistas materializadas? (Selección múltiple) A) El almacenamiento de los datos precalculados. B) El procesamiento requerido para refrescar los datos de la vista. C) El procesamiento de las consultas que leen directamente desde la vista. D) Una tarifa de licencia por cada usuario que consulta la vista.
A, B y C
887
¿Cuál es el propósito fundamental de un motor de BI (Business Intelligence) en memoria? A) Orquestar flujos de trabajo de transformación de datos a gran escala. B) Almacenar datos históricos para cumplimiento normativo a largo plazo. C) Acelerar drásticamente las consultas para ofrecer análisis interactivos con latencia muy baja. D) Facilitar la ingesta de datos desde sistemas de bases de datos transaccionales.
C
888
¿Qué tipo de aplicación se beneficia más directamente de un motor de BI en memoria? A) Procesos de copia de seguridad y recuperación de datos. B) Paneles de control (dashboards) y herramientas de visualización de datos. C) Tareas de entrenamiento de modelos de aprendizaje automático. D) Migraciones de bases de datos.
B
889
¿Cómo gestiona un motor de BI moderno la llegada de nuevos datos a través de streaming? A) Ignora los datos de streaming hasta el siguiente ciclo de actualización nocturno. B) Se integra con la ingesta de datos en tiempo real para reflejar los cambios rápidamente en los análisis. C) Requiere que se detenga el flujo de datos para poder actualizar su caché. D) Solo funciona con datos cargados en lotes (batch).
B
890
Desde un punto de vista arquitectónico, un motor de BI en memoria se describe mejor como: A) Una base de datos completamente separada que requiere la duplicación de todos los datos. B) Un motor de ejecución alternativo que utiliza una caché inteligente en memoria. C) Un simple conector de software para herramientas de visualización. D) Un sistema de archivos distribuido para almacenar grandes volúmenes de datos.
B
891
¿Cuál es el caso de uso principal para las funcionalidades de lectura de alto rendimiento (high-throughput read) en un data warehouse? A) Permitir la edición de filas individuales a través de una aplicación web. B) Soportar un gran número de pequeñas consultas transaccionales simultáneas. C) Proporcionar acceso paralelo y masivo a los datos para sistemas de procesamiento distribuido externos. D) Generar pequeños informes en formato PDF.
C
892
¿Qué tipo de sistemas suelen ser los consumidores de una API de lectura de alto rendimiento? (Selección múltiple) A) Frameworks de procesamiento de datos como Apache Spark y Dataflow. B) Librerías de Machine Learning como TensorFlow para el entrenamiento de modelos. C) Sistemas de gestión de contenido (CMS). D) Clientes de correo electrónico.
A y B
893
¿Qué principio arquitectónico permite a los sistemas modernos ofrecer lecturas de datos de alto rendimiento? A) Centralizar todos los datos en un único servidor de alta potencia. B) La capacidad de leer en paralelo directamente desde las múltiples unidades de almacenamiento distribuido. C) Convertir todos los datos al formato JSON antes de la lectura. D) Comprimir toda la tabla en un único archivo antes de iniciar la transferencia.
B
894
Para leer programáticamente un gran volumen de datos de un data warehouse, ¿cuál es el enfoque más eficiente y escalable? A) Utilizar una API paginada que devuelve los resultados en pequeños fragmentos JSON. B) Exportar los datos a un sistema de archivos en la nube y luego descargarlos. C) Usar una API de lectura de almacenamiento que transmite los datos en paralelo a través de múltiples flujos. D) Ejecutar una consulta SELECT y esperar a que todos los datos se carguen en la memoria del cliente.
C
895
¿Qué formato de serialización de datos y protocolo de comunicación son característicos de las APIs de lectura de almacenamiento de alto rendimiento? A) JSON sobre HTTP. B) XML sobre SOAP. C) Formato binario (como Avro) sobre gRPC. D) Texto plano (CSV) sobre FTP.
C
896
¿Qué característica de una API de lectura de almacenamiento la hace ideal para frameworks de procesamiento distribuido? A) La capacidad de dividir la lectura de una tabla en múltiples flujos (streams) independientes que pueden ser procesados en paralelo. B) La garantía de que todas las filas se entregan en un orden estrictamente secuencial. C) La conversión automática de todos los datos a formato de cadena de texto (string). D) La limitación de una única conexión por cliente para simplificar la gestión.
A
897
En el contexto de las APIs de datos, ¿qué significa "proyección de columnas"? A) La capacidad de crear representaciones visuales de los datos. B) La habilidad de seleccionar solo un subconjunto de columnas para ser leídas, minimizando la transferencia de datos. C) El proceso de traducir los nombres de las columnas a diferentes idiomas. D) Una técnica para predecir valores futuros en una columna.
B
898
¿Cuáles son los tres pasos clave involucrados en el uso de una API de lectura de almacenamiento? A) 1. Autenticar, 2. Comprimir, 3. Descargar. B) 1. Enviar consulta, 2. Paginar resultados, 3. Cerrar conexión. C) 1. Crear una sesión, 2. Leer desde un flujo, 3. Decodificar los datos. D) 1. Conectar, 2. Bloquear tabla, 3. Leer datos.
C
899
¿Qué garantiza la "consistencia de instantánea" (snapshot consistency) en una API de lectura? A) Que los datos leídos corresponden al estado de la tabla en un punto específico en el tiempo, generalmente cuando se creó la sesión de lectura. B) Que siempre se leerá la versión más actualizada de cada fila, incluso si cambia durante la lectura. C) Que la tabla no puede ser modificada por otros procesos mientras la lectura está en curso. D) Que todos los datos se entregarán en una única transacción atómica.
A
900
¿Cuál es el principal beneficio de poder consultar fuentes de datos externas sin cargarlas previamente en el data warehouse? A) Se obtiene el mayor rendimiento de consulta posible. B) Permite analizar los datos en su ubicación original (in-place). C) Asegura la máxima consistencia y atomicidad de los datos. D) Reduce los costes de transferencia de datos de salida (egress).
B
901
¿Cuáles son las limitaciones o desventajas comunes al consultar directamente datos en fuentes externas? (Selección múltiple) A) El rendimiento de las consultas suele ser inferior al de las tablas nativas. B) La consistencia de los datos no está garantizada si los archivos subyacentes se modifican. C) No se pueden usar algunas funcionalidades como los comodines de tabla. D) Los costes de almacenamiento son siempre más altos.
A, B y C
902
¿En qué escenarios es particularmente útil consultar fuentes de datos externas? A) En aplicaciones que requieren un alto rendimiento y baja latencia, como los paneles de control en tiempo real. B) Para la exploración inicial de datos, cargas de trabajo ETL, y análisis de datos que ya residen en un data lake. C) Para sistemas que gestionan transacciones financieras de alta frecuencia. D) Cuando se necesita un control estricto de versiones de los datos.
B
903
¿Qué condición permite que BigQuery devuelva resultados desde la caché de consultas? A. Uso de funciones no deterministas en la consulta. B. Ejecución del mismo texto de consulta sin cambios en las tablas referenciadas. C. Inclusión de una tabla de resultados permanente como destino. D. Que las tablas fuente tengan buffers de streaming activos.
B
904
¿Cuál de los siguientes factores forma parte del hash que determina la validez de la caché de consulta? A. Tamaño del proyecto en bytes. B. Tiempos de modificación de los datos. C. Número de filas retornadas por la consulta. D. Prioridad del job (batch/interactive).
B
905
¿Cuál de estas situaciones hace que BigQuery omita la caché de consultas? A. La consulta es exactamente igual y ninguna tabla cambió. B. La consulta usa una función no determinista como NOW(). C. El usuario pidió usar resultados cacheados explícitamente. D. El dataset está vacío.
B
906
¿Cómo se comporta la caché de consulta con respecto a usuarios? A. La caché es compartida por todos los usuarios del proyecto. B. Cada usuario tiene su propia caché de resultados. C. La caché se basa en la IP del cliente. D. La caché se comparte solo entre cuentas con la misma factura.
B
907
¿Qué ajuste en la configuración de consultas influye directamente en usar resultados cacheados? A. Selección del motor Cloud Dataflow. B. Opción "Use cached results" (Usar resultados en caché). C. Habilitar exportación a Cloud Storage. D. Cambiar la prioridad a Batch.
B
908
¿Cuál es la mejor descripción de una materialized view (vista materializada) en BigQuery? A. Una vista que ejecuta la consulta en tiempo real cada vez que se consulta. B. Una tabla externa montada sobre Cloud Storage. C. Una vista con resultados precomputados y almacenados para mejorar rendimiento. D. Un snapshot manual exportado a Cloud Storage.
C
909
¿Qué beneficio directo aporta usar materialized views para reporting? A. Reduce el coste de almacenamiento de las tablas base. B. Mejora la eficiencia de consultas y reduce bytes procesados en agregaciones complejas. C. Permite usar funciones analíticas no soportadas por BigQuery. D. Hace posible consultar tablas externas sin limitaciones.
B
910
¿Qué ocurre cuando una consulta puede resolverse parcialmente por una materialized view? A. BigQuery siempre ignora la materialized view. B. La consulta se rerutea automáticamente para usar la materialized view cuando procede. C. El usuario debe reescribir la consulta para referenciar la materialized view. D. Se produce un error si la materialized view existe.
B
911
¿Qué elemento NO es compatible en materialized views según las limitaciones descritas? A. WITH statements (CTE). B. Outer JOINs y self JOINs. C. Particionamiento y clustering. D. Agregaciones básicas como COUNT y AVG (si están soportadas).
B
912
¿Cuál de las siguientes afirmaciones sobre mantenimiento de materialized views es correcta? A. Requieren mantenimiento manual diario. B. Se actualizan automáticamente al cambiar la tabla base, sin acción del usuario por defecto. C. No pueden ser actualizadas manualmente. D. La actualización automática se factura a la cuenta del usuario que consulta.
B
913
¿Qué opción de ALTER MATERIALIZED VIEW permite cambiar la frecuencia de refresco? A. expiration_timestamp. B. enable_refresh. C. refresh_interval_minutes. D. max_stream_count.
C
914
¿Cuál es la ventana por defecto para el refresco automático tras un cambio en la tabla base? A. Refresco inmediato y continuo. B. Dentro de 5 minutos pero no más frecuente que cada 30 minutos. C. Cada 24 horas. D. No se refrescan automáticamente por defecto.
B
915
¿Cómo se realiza un refresco manual de una materialized view? A. No es posible forzar un refresco. B. Usando CALL BQ.REFRESH_MATERIALIZED_VIEW('dataset.view'). C. Borrando y recreando la vista. D. Ejecutando un SELECT sobre la vista con opción REFRESH=TRUE.
B
916
¿Qué costes están asociados con materialized views? A. Solo el almacenamiento, no hay coste por consultas. B. Costes por consultar, por mantener (refrescos automáticos/manuales) y por almacenamiento. C. Únicamente costes de refresco automático, consultarlas es gratis. D. No generan costes adicionales respecto a consultas normales.
B
917
¿Dónde se factura el coste del refresco automático de una materialized view? A. Al proyecto donde reside la vista. B. Al proyecto del usuario que ejecuta la consulta que usa la vista. C. Al proyecto dueño de la tabla base siempre. D. Se divide entre todos los proyectos con acceso.
A
918
¿Qué funcionalidades adicionales soportan las materialized views? A. Anidamiento de materialized views sobre otras materialized views. B. WITH statements, particionado y clustering (con restricciones). C. Uso de tablas externas como fuentes directas. D. Operaciones analíticas avanzadas (analytic functions).
B
919
Respecto a partición y clustering en materialized views, ¿qué restricción es cierta? A. Cualquier columna puede ser usada como partición en la vista aunque no lo sea en la base. B. Una columna de partición en la vista debe ser columna de partición en la tabla base. C. No se permite clustering en materialized views. D. Las vistas materializadas siempre heredan particiones automáticamente sin reglas.
B
920
¿Cuál es una recomendación al diseñar joins dentro de materialized views para refrescos incrementales? A. Poner la tabla más pequeña como primera en el join. B. Poner la tabla más grande o más frecuentemente cambiada primero (leftmost). C. Evitar cualquier orden en los joins; BigQuery lo optimiza por completo. D. Siempre usar self-joins para mejorar incrementalidad.
B
921
¿Qué tipo de consultas suelen beneficiarse más de materialized views? A. Consultas sin agregaciones ni filtros. B. Consultas analíticas con agregaciones complejas y alto volumen de datos. C. Consultas que usan exclusivamente funciones no deterministas. D. Consultas que ejecutan DML (INSERT/UPDATE) sobre la vista.
B
922
¿Qué afirma la visión de BI Engine? A. Priorizar consultas batch en lugar de interactivas. B. "Always fresh, Always fast": análisis interactivo en tiempo real a escala. C. Sustituir BigQuery storage por un almacén externo. D. Reemplazar todas las herramientas BI por cubos OLAP tradicionales.
B
923
¿Cuál es una ventaja principal de BI Engine para dashboards? A. Requiere gestionar cubos OLAP por separado. B. Integración nativa con BigQuery streaming para refresco en tiempo real y latencias sub-segundo. C. Solo funciona con exportaciones a CSV. D. Aumenta la latencia pero reduce coste de almacenamiento.
B
924
¿Cuál es el enfoque de diseño de BI Engine? A. Almacenar datos en disco y evitar procesamiento vectorizado. B. Caché en memoria co-localizada con procesamiento vectorizado de consultas. C. Desacoplar completamente del motor de consulta de BigQuery. D. Convertir consultas SQL a MapReduce.
B
925
¿Con qué tipo de herramientas cliente se integra BI Engine para mostrar dashboards? A. Sólo con herramientas propietarias de Google. B. Con herramientas BI como Looker, Sheets y partner BI tools. C. Exclusivamente con herramientas basadas en Hadoop. D. Con clientes que utilicen exclusivamente tabledata.list..
B
926
¿Cuál es el propósito principal de las lecturas de alto rendimiento (high-throughput reads)? A. Proveer acceso paralelo y de alto rendimiento a datos para sistemas de terceros y frameworks distribuidos. B. Sustituir consultas interactivas en la UI web. C. Limitar el número de streams simultáneos a uno para consistencia. D. Forzar la exportación a Cloud Storage antes de leer.
A
927
¿Qué mecanismo NO está pensado para high-throughput reads según el contenido? A. BigQuery Storage Read API. B. Dataflow (BigQueryIO Connector). C. tabledata.list para grandes volúmenes a escala masiva. D. Dataproc (Spark, Presto, Hadoop) con acceso a BigQuery.
C
928
¿Qué componentes aparecen en la arquitectura de lectura de alto rendimiento? A. Write-optimized store (WOS), Shard managers, Read-optimized store (ROS) y Read workers. B. Solo Cloud Storage y VM sin servicios intermedios. C. Un único servidor que atiende todas las lecturas. D. Exclusivamente APIs REST sin gRPC.
A
929
¿Cuáles son las tres formas clásicas de acceder a datos de una tabla BigQuery enumeradas? A. tabledata.list (paginated), extract jobs (bulk export) y BigQuery Storage Read API. B. Direct file mount, FTP y JDBC. C. Streaming insert, DML y DDL. D. REST upload, SOAP get y RPC.
A
930
¿Qué método es preferido para leer datos de BigQuery a escala y con paralelismo? A. tabledata.list.. B. Extract jobs a Cloud Storage. C. BigQuery Storage Read API (gRPC, formato binario). D. Descargar la consola web en CSV.
C
931
¿Qué característica ofrece la BigQuery Storage Read API relacionada con columnas? A. No permite seleccionar columnas, siempre devuelve todas. B. Column projection: permite seleccionar un subconjunto de columnas a leer. C. Solo soporta columnas numéricas. D. Requiere exportar primero a Avro para filtrar columnas.
B
932
¿Qué permite la opción de "column filtering" en Storage Read API? A. Aplicar predicados simples en servidor para filtrar filas antes de transferir. B. Filtrar solo por tipo de dato, no por valores. C. Reescribir la tabla en disco con menos columnas. D. No existe "column filtering" en la API.
A
933
¿Qué significa que la Storage Read API ofrece "snapshot consistency"? A. Las sesiones de lectura no garantizan consistencia alguna. B. Las sesiones leen según un modelo de aislamiento por snapshot; el tiempo por defecto es el de creación de la sesión. C. Solo se puede leer el estado antiguo de la tabla, nunca el actual. D. Cada llamada readRows altera el snapshot global.
B
934
¿Cuáles son los pasos básicos para usar la BigQuery Storage Read API desde un cliente? A. Conectar por FTP, descargar CSV, parsear. B. Crear una sesión, leer desde un stream de la sesión y decodificar bloques de filas. C. Ejecutar un export job y luego procesar en paralelo. D. Solo invocar tabledata.list repetidas veces.
B
935
En el ejemplo de creación de sesión mostrado, ¿qué formato de datos se especifica para la sesión? A. JSON. B. AVRO. C. CSV. D. Parquet.
B
936
¿Qué parámetro ayuda a limitar el número de streams en una ReadSession? A. refresh_interval_minutes. B. max_stream_count. C. enable_refresh. D. row_restriction.
B
937
En el ejemplo de lectura, ¿qué método del cliente se utiliza para iterar por las páginas de filas? A. reader.pages retornadas por reader.rows().pages. B. client.table_export().pages. C. client.get_csv().chunks. D. tabledata.fetch_all().pages.
A
938
¿Qué ventaja principal tiene usar múltiples streams en la Storage Read API? A. Garantizar que cada stream devuelva la misma fila duplicada. B. Leer conjuntos disjuntos de filas en paralelo, útil para frameworks distribuidos. C. Limitar el ancho de banda a un único consumidor. D. Forzar la serialización de todos los registros en una sola llamada.
B
939
¿Qué consideraciones generales se mencionan sobre fuentes de datos externas? A. Consultar datos OSS en sitio evita la necesidad de cargarlos en BigQuery. B. No hay ninguna desventaja al consultar datos externos en rendimiento y consistencia. C. Permiten usar table wildcards sin restricciones. D. Hacen que las consultas siempre sean más baratas que en tablas nativas.
A
940
¿Qué caveats o advertencias se señalan al consultar fuentes de datos externas directamente? A. Rendimiento, consistencia y mutabilidad pueden ser problemáticos. B. Solo hay problemas de seguridad, no de rendimiento. C. No existe ningún problema si se consulta con SELECT *. D. Se garantiza la consistencia fuerte en todo momento.
A
941
¿Cuál es la limitación explícita recapitulada sobre consultas a fuentes externas? A. No funcionan con Dataflow. B. Tienen fuertes desventajas de rendimiento, la consistencia no está garantizada y no permiten wildcards de tablas. C. Se ejecutan siempre más rápido que las tablas internas. D. Soportan materialized views automáticamente.
B
942
Respecto a la UI de BigQuery, ¿qué método es usado internamente para previsualizar unas pocas filas? A. tabledata.list o jobs.getQueryResults (accesso paginado por registros). B. BigQuery Storage Read API con max_stream_count=1. C. Export directo a Cloud Storage y lectura de los primeros archivos. D. Refresco de materialized view.
A
943
What feature in BigQuery allows users to quickly inspect a small number of rows from a table without executing a full query? A. Query cache B. Materialized view C. Preview option D. BI Engine
C
944
Which of the following is a method in BigQuery to store results of previous queries for faster reuse? A. Materialized views B. Query cache C. High-throughput reads D. Storage Read API
B
945
In BigQuery, when running the same query multiple times, under what condition will the results be served from cache? A. If the query includes non-deterministic functions B. If the query is identical and no changes have occurred C. If a permanent result table is requested D. If source tables have streaming buffers
B
946
What happens in BigQuery if a query includes a function like CURRENT_TIMESTAMP()? A. It always uses cache B. Cache is skipped due to non-deterministic elements C. It creates a materialized view D. It enables high-throughput reads
B
947
Which elements are used to generate a hash for BigQuery's query cache? A. Data modification times, tables used, and query string B. User ID and query results C. Column names and row counts D. Partition keys and clustering columns
A
948
In BigQuery, query cache is skipped under which circumstances? (Select all that apply) A. Referenced tables have changed B. Non-deterministic functions are used C. Permanent result table is requested D. Query is run by the same user
A, B y C
949
How is the query cache in BigQuery scoped? A. Per-project B. Per-dataset C. Per-user D. Global
C
950
What is a precomputed view in BigQuery that caches query results periodically for better performance? A. Query cache B. Materialized view C. BI Engine reservation D. External table
B
951
In BigQuery, how are materialized views typically used to improve queries? A. They can be queried directly or used by the optimizer for base table queries B. They replace the base table entirely C. They only work with external data sources D. They require manual updates every time
A
952
What benefit do materialized views provide in BigQuery regarding query performance? A. Queries using them are slower but more accurate B. They consume more resources but ensure freshness C. They are generally faster and use fewer resources D. They only apply to small datasets
C
953
How are materialized views in BigQuery kept up-to-date? A. They are updated regularly to ensure fresh results B. Users must manually refresh them C. They never update automatically D. They sync only on query execution
A
954
In BigQuery, when creating a materialized view, what happens to queries on the base table by default? A. All queries are rerouted to the view B. Queries continue to the base table unaffected unless applicable C. Base table becomes read-only D. View replaces the base table
B
955
What occurs in BigQuery when applicable queries are automatically rerouted to a materialized view? A. Execution becomes slower B. Faster execution is achieved C. More slots are consumed D. Data freshness is compromised
B
956
Which statement is true about maintenance of materialized views in BigQuery? A. They require user action for updates B. They are updated automatically on base table changes C. Updates happen only on demand D. No updates are possible
B
957
In BigQuery, how does data freshness work with materialized views when base table changes might invalidate the view? A. BigQuery reads directly from the base table B. The view is deleted C. Queries fail until manual refresh D. Only old data is used
A
958
What happens in BigQuery if base table changes do not invalidate the materialized view? A. BigQuery reads the entire base table B. BigQuery only reads the changes from the base table C. The view is fully rebuilt D. No data is read
B
959
What is "smart tuning" in the context of BigQuery materialized views? A. If any query part can use the view, BigQuery reroutes it B. It manually tunes query parameters C. It only applies to full queries D. It increases resource consumption
A
960
How can you estimate costs in BigQuery using materialized views without running the query? A. Use a full query execution B. Perform a dry run for cost estimation C. Create a temporary table D. Export data to storage
B
961
What benefits do materialized views offer for reporting in BigQuery? (Select all that apply) A. Improve query efficiency and reduce execution time B. Automatically improve query execution plans C. Provide real-time aggregation D. Require separate OLAP cubes
A, B y C
962
In BigQuery, which DDL statement is used to create a materialized view? A. CREATE VIEW B. CREATE MATERIALIZED VIEW C. ALTER TABLE D. INSERT INTO
B
963
Can materialized views in BigQuery be queried directly? A. No, only through base tables B. Yes, like regular tables C. Only if partitioned D. Only in batch mode
B
964
In BigQuery, can the optimizer use materialized views even if the query does not reference them directly? A. Yes, in some cases B. No, must reference explicitly C. Only for aggregated queries D. Only for joined tables
A
965
Which features are supported in BigQuery materialized views? (Select all that apply) A. WITH statements (Common Table Expressions) B. Partitioning and clustering C. Nested materialized views D. Querying external tables
A y B
966
For partitioning in BigQuery materialized views, what must be true about the partition column? A. It can be any column B. It must be a partition column from the base table C. Partitioning is not supported D. It must be an aggregate column
B
967
What columns can be used for clustering in BigQuery materialized views? A. Only aggregate columns B. Any non-aggregate column C. Only date columns D. Clustering is not supported
B
968
Which operations are not supported in BigQuery materialized views? (Select all that apply) A. Computing or filtering on aggregated values B. Outer JOINs and self JOINs C. Analytic functions D. ARRAY subqueries
A, B, C y D
969
In BigQuery materialized views with joins, what should be done to support incremental queries? A. Put the smallest table first B. Put the largest or most frequently changing table first C. Avoid joins entirely D. Join only on clustering keys
B
970
Why should joining on clustering keys be avoided in BigQuery materialized views for selective queries? A. It reduces efficiency B. BigQuery already performs such joins efficiently C. It invalidates the view D. It increases storage costs
B
971
Which DDL statement is used to change options for a BigQuery materialized view? A. CREATE MATERIALIZED VIEW B. ALTER MATERIALIZED VIEW SET OPTIONS C. DROP VIEW D. UPDATE VIEW
B
972
What options can be set for BigQuery materialized views? (Select all that apply) A. enable_refresh B. refresh_interval_minutes C. expiration_timestamp D. partition_column
A, B y C
973
What is the default refresh behavior for BigQuery materialized views after base table changes? A. Refreshed within 5 minutes, not more than every 30 minutes B. Refreshed immediately every time C. No automatic refresh D. Refreshed hourly
A
974
How is automatic refresh treated in BigQuery for materialized views? A. As a high-priority query B. Similarly to a query with batch priority C. As a streaming insert D. As an export job
B
975
How can you manually refresh a materialized view in BigQuery? A. Use ALTER MATERIALIZED VIEW B. Call BQ.REFRESH_MATERIALIZED_VIEW C. Run a SELECT query D. Drop and recreate the view
B
976
What costs are associated with BigQuery materialized views? (Select all that apply) A. Querying the views B. Maintaining and refreshing the views C. Storing the view tables D. Creating the views
A, B y C
977
Who is billed for automatic refresh costs of BigQuery materialized views? A. The user who queries it B. The project where the view resides C. The base table's project D. No billing occurs
B
978
What is an in-memory analysis service in BigQuery for fast BI queries? A. Query cache B. Materialized views C. BI Engine D. Storage Read API
C
979
What is the vision of BigQuery BI Engine? (Select all that apply) A. Always fresh data B. Always fast queries C. Democratize BI for analysts D. Require separate OLAP cubes
A, B y C
980
Which tools integrate with BigQuery BI Engine? (Select all that apply) A. Google Sheets B. Looker C. Partner BI tools D. Dataflow
A, B y C
981
What does BigQuery BI Engine eliminate the need for in dashboard performance? A. BigQuery storage B. Managing OLAP cubes or separate BI servers C. Query optimization D. Data streaming
B
982
How does BigQuery BI Engine handle real-time data? A. It does not support streaming B. It integrates with BigQuery streaming C. It requires manual refreshes D. It only works with batch data
B
983
What design approach does BigQuery BI Engine use for low-latency queries? A. In-memory caching with vectorized processing B. Disk-based storage only C. External data sources D. Query cache exclusively
A
984
In BigQuery, what provides parallel high-throughput data access to third-party systems? A. Query cache B. High-throughput reads C. Materialized views D. BI Engine
B
985
Which systems can benefit from BigQuery high-throughput reads? (Select all that apply) A. Dataflow B. Spark via Dataproc C. TensorFlow IO D. Google Sheets
A, B y C
986
What components are involved in BigQuery high-throughput read architecture? (Select all that apply) A. Read workers B. Shard managers C. Write-optimized store (WOS) D. Read-optimized store (ROS)
A, B, C y D
987
What API in BigQuery allows scaled reading of table data using binary serialization? A. tabledata.list B. BigQuery Storage Read API C. jobs.getQueryResults D. Extract jobs
B
988
Which methods are used for accessing BigQuery table data? (Select all that apply) A. Record-based paginated access B. Bulk data export C. BigQuery Storage Read API D. Query cache
A, B y C
989
For small result sets in BigQuery, which access method is best? A. Bulk export B. Storage Read API C. Record-based paginated access D. High-throughput reads
C
990
What is used for exporting BigQuery data to Cloud Storage as a batch job? A. Paginated access B. Extract jobs C. Storage Read API D. Materialized views
B
991
Features of BigQuery Storage Read API include which of the following? (Select all that apply) A. Multiple streams for disjoint row sets B. Column projection C. Column filtering D. Snapshot consistency
A, B, C y D
992
In BigQuery Storage Read API, what model is used for reading data? A. Live data only B. Snapshot isolation C. Batch export D. Cached results
B
993
What is the default snapshot time in BigQuery Storage Read API sessions? A. Based on session create time B. Current time always C. User-specified only D. No snapshot
A
994
What are the key steps to use BigQuery Storage Read API? (Select all that apply) A. Create a session B. Read from a session stream C. Decode row blocks D. Export to storage
A, B y C
995
In BigQuery, what allows querying open-source data without loading it? A. Materialized views B. External data sources C. Query cache D. BI Engine
B
996
For which use cases are external data sources in BigQuery convenient? (Select all that apply) A. ETL workloads B. Data exploration C. Lift and shift D. Real-time aggregation
A, B y C
997
What are caveats of using external data sources in BigQuery? (Select all that apply) A. Performance issues B. Consistency not guaranteed C. Cannot use table wildcards D. Strong performance advantages
A, B y C
998
In BigQuery, querying external data sources directly has which limitations? (Select all that apply) A. Strong performance disadvantages B. Data consistency not guaranteed C. Cannot use table wildcards D. Always fresh data
A, B y C
999
¿En qué situación BigQuery utilizará su caché de resultados para acelerar una consulta? A.Siempre que la consulta utilice la misma tabla, sin importar las columnas seleccionadas. B.Cuando la consulta incluye una función no determinista como `CURRENT_TIMESTAMP()`. C.Cuando la consulta es idéntica a una ejecutada previamente y las tablas subyacentes no han cambiado. D.Cuando se especifica una tabla de destino para guardar los resultados de forma permanente.
C
1000
¿Qué son las vistas materializadas en el contexto de la optimización de consultas? A.Son tablas temporales que un usuario debe crear y actualizar manualmente. B.Son atajos guardados que simplemente almacenan el texto de una consulta compleja. C.Son índices especiales aplicados sobre columnas de uso frecuente en tablas grandes. D.Son vistas precalculadas que almacenan en caché los resultados de una consulta para acelerar el rendimiento.
D
1001
¿Cuál es una ventaja clave del 'smart tuning' de las vistas materializadas en BigQuery? A.El usuario debe especificar en cada consulta qué vista materializada utilizar. B.Ajusta automáticamente la frecuencia de actualización de la vista según la carga de trabajo. C.Sugiere al usuario la creación de nuevas vistas materializadas basadas en su historial de consultas. D.BigQuery puede reescribir una consulta a una tabla base para que utilice una vista materializada de forma automática.
D
1002
¿Cuál de las siguientes es una limitación actual de las vistas materializadas en BigQuery? A.No se pueden utilizar funciones de agregación como `SUM()` o `COUNT()`. B.No se pueden anidar, es decir, crear una vista materializada sobre otra. C.No pueden tener más de cinco columnas en su definición. D.No se pueden basar en tablas que contengan datos de streaming.
B
1003
¿Cuál es el propósito principal de BigQuery BI Engine? A.Administrar el almacenamiento físico de las tablas de BigQuery. B.Acelerar los procesos de carga de datos (ETL) a gran escala. C.Permitir la ejecución de código Python directamente dentro de BigQuery. D.Proporcionar un servicio de análisis en memoria para obtener respuestas a consultas en menos de un segundo.
D
1004
¿Cómo se integra BI Engine con los datos en tiempo real? A.Se integra nativamente con el streaming de BigQuery para reflejar los datos más recientes. B.Crea una copia de los datos cada hora para su análisis en memoria. C.Solo funciona con tablas que se actualizan en procesos batch nocturnos. D.Requiere una actualización manual cada vez que se ingieren nuevos datos.
A
1005
¿Para qué se utiliza principalmente la BigQuery Storage Read API? A.Para permitir un acceso paralelo y de alto rendimiento a los datos desde sistemas externos como Spark o Dataflow. B.Para modificar o eliminar filas individuales en una tabla de BigQuery. C.Para exportar grandes volúmenes de datos a Cloud Storage en un trabajo por lotes. D.Para visualizar los resultados de una consulta en la interfaz de usuario web de BigQuery.
A
1006
Una característica clave de la BigQuery Storage Read API es la capacidad de crear múltiples 'streams'. ¿Qué ventaja ofrece esto? A.Cifra cada 'stream' de datos con una clave de seguridad diferente. B.Permite que múltiples usuarios consulten la misma tabla de forma secuencial. C.Garantiza que los datos se lean siempre en el mismo orden. D.Permite a los consumidores leer conjuntos de filas distintos de forma paralela, ideal para procesamiento distribuido.
D
1007
¿Qué es una desventaja potencial de consultar directamente una fuente de datos externa (federada) desde BigQuery en lugar de cargar los datos? A.El rendimiento de la consulta puede ser inferior y menos predecible. B.Es imposible unir los datos externos con una tabla nativa de BigQuery. C.Los datos externos no se pueden consultar utilizando SQL estándar. D.La cantidad de datos que se pueden consultar desde una fuente externa está limitada a 1 GB.
A
1008
En el flujo básico de uso de la Storage Read API, ¿cuál es el primer paso que debe realizar una aplicación cliente? A.Crear una sesión de lectura (`CreateReadSession`). B.Leer los datos de un 'stream' de la sesión. C.Decodificar los bloques de filas recibidos. D.Solicitar el esquema de la tabla.
A