Update 'Notas'

Guillem Borrell Nogueras 2022-08-26 13:57:46 +02:00
parent 4cc7c78f16
commit 1c5b4d4659

@ -8,10 +8,12 @@
## Setup ## Setup
* No usaremos una Raspberry pi porque compilar todos los paquetes necesarios a esa arquitectura es un montón de tiempo * No usaremos una Raspberry pi porque compilar todos los paquetes necesarios a esa arquitectura es un montón de tiempo
* Me tiré un buen rato ya sólo compilando libarrow a armv7l, para lo que tuve que pasar manualmente la arquitectura del procesador a cmake porque no era capaz de detectarla manualmente. Nadie asume que vas a intentar hacer big data con un embedded o una tablet.
* Al final he comprado un PC de segunda mano que está literalmente en la mesa de mi despacho con el que he preparado la charla y ejectaré todo el código * Al final he comprado un PC de segunda mano que está literalmente en la mesa de mi despacho con el que he preparado la charla y ejectaré todo el código
* Ha costado prácticamente lo mismo que una RPi de 8 GB, pero tiene un procesador decente y 16G de RAM. Eso sí, el disco es más malo que el agua del bacalao. * Ha costado prácticamente lo mismo que una RPi de 8 GB, pero tiene un procesador decente y 16G de RAM. Eso sí, el disco es más malo que el agua del bacalao.
* Haré la presentacin y programaré en una tablet vieja, con el teclado bluetooth más barato que encontré en la tienda donde compran los que creen que no son tontos. * Haré la presentacin y programaré en una tablet vieja, con el teclado bluetooth más barato que encontré en la tienda donde compran los que creen que no son tontos.
## Datos ## Datos
* Muchos están en el error que lo más importante del cálculo distribuido es el proceso en paralelo. En realidad es la gestión de los metadatos * Muchos están en el error que lo más importante del cálculo distribuido es el proceso en paralelo. En realidad es la gestión de los metadatos
@ -20,4 +22,18 @@
* Diferencias entre una base de datos para una aplicación y una base de datos para proceso masivo de datos * Diferencias entre una base de datos para una aplicación y una base de datos para proceso masivo de datos
* La primera está normalizada, la segunda muy probablemente no lo esté * La primera está normalizada, la segunda muy probablemente no lo esté
* La operación más frecuente en una base de datos relacional (join) es muy cara si los datos están particionados * La operación más frecuente en una base de datos relacional (join) es muy cara si los datos están particionados
* Dask es una herramienta muy práctica, pero seguramente por los motivos equivocados que creéis. Su capacidad para escalar algoritmos en paralelo es importante, pero también lo es que permita ejecutar tareas out-of-core de manera asíncrona. Si alguna vez habéis pensado "esto lo puedo procesar a cachitos, tardará más, pero no necesitaré una máquina tran grande..." dask es vuestra herramienta.
* La principal diferencia en arquitectura entre Dask y Spark es que Dask rompe la paralelización en elementos más pequeños. Hace visible cada operación al scheduler, no cada bloque de operaciones como Spark. Eso permite al scheduler utilizar mejor los recursos.
* Otra herramienta que es ya fundamental en muchos teck stacks es duckdb. Lo es gracias a Arrow. Si Arrow puede cargar algo en memoria, duckdb podrá ejecutar una consulta sobre ello.
* También tenemos pyarrow. El obeto Table de pyarrow ahora tiene un montn de cosas interesantes en el módulo compute.
## WEB
El futuro será webassembly.
* shell.duckdb.org