Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Formatos en columnas

4 tareas · 40 min · Principiante

Un archivo de texto con un evento por línea obliga a leer todo para mirar una sola cosa. Un formato en columnas, como Apache Parquet, guarda cada columna junta: una consulta que toca tres campos lee tres campos. En la Cooperativa Telar del Sur lees el inventario de un archivo de autenticación de un día y compruebas cuánto se ahorra, y por qué el orden de las filas importa.

0 de 4 · 0%

Objetivo de la sala

Un archivo de texto con un evento por línea obliga a leer todo para mirar una sola cosa. Un formato en columnas, como Apache Parquet, guarda cada columna junta: una consulta que toca tres campos lee tres campos. En la Cooperativa Telar del Sur lees el inventario de un archivo de autenticación de un día y compruebas cuánto se ahorra, y por qué el orden de las filas importa.

En un formato por filas, los campos de un evento viven juntos: para sumar una columna hay que recorrer también todas las demás. En un formato en columnas, los valores de cada columna se guardan seguidos y se comprimen juntos, y quien consulta lee únicamente las columnas que nombra. En Parquet, además, el archivo se parte en grupos de filas, y el pie del archivo guarda la ubicación de cada columna dentro de cada grupo.

El ahorro depende de cuántas columnas toca la consulta y de cuánto pesan. Una consulta que pide todo, SELECT *, vuelve a leer el archivo entero.

Responde para continuar

¿Por qué una consulta de tres columnas sale barata en un archivo en columnas?

Abre columnas_del_archivo. La columna con el evento original guardado como texto suele pesar más que todas las demás juntas, porque es texto largo y casi sin repetición, que se comprime poco. Quien la conserva por si acaso paga ese peso en cada día del lago.

Responde para continuar

Escribe el nombre de la columna que más pesa en el archivo.

Ver pista de ayuda

Ordena `columnas_del_archivo` por `mb_codificados`.

consultas_tipicas lista qué columnas toca cada consulta de uso corriente. Suma lo que pesan en columnas_del_archivo las tres de la consulta de fallos por usuario. Es la cantidad de megabytes que habría que leer del archivo, frente a la suma de todas sus columnas.

Responde para continuar

Escribe cuántos megabytes lee la consulta «fallos por usuario».

Ver pista de ayuda

Suma `mb_codificados` de las tres columnas que lista `consultas_tipicas`.

Cada grupo de filas guarda en su pie la hora mínima y la máxima de sus filas. Una consulta de la ventana de 10:00 a 10:59 puede descartar sin leerlos los grupos cuyo rango no la toca. Si los eventos llegaron casi en orden, los rangos casi no se solapan y se descartan muchos; si llegaron revueltos, cada grupo abarca horas enteras y no se descarta ninguno. Un grupo se lee si su rango y la ventana se tocan en algún punto.

Responde para continuar

Escribe cuántos grupos de filas hay que leer para la ventana de 10:00 a 10:59.

Ver pista de ayuda

Mira `min_time` y `max_time` de `grupos_de_filas` y cuenta los que se tocan con la ventana.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad