diff --git a/Notas.md b/Notas.md new file mode 100644 index 0000000..1262c5e --- /dev/null +++ b/Notas.md @@ -0,0 +1,23 @@ +## Puntos clave +* Es imposible separar la arquitectura de la funcionalidad. Hagamos lo que hagamos, la arquitectura terminará adaptándose para realizar la funcionalidad de manera más optitma. Si aceptamos este hecho, podemos adaptarlo todo y conseguir sistemas muy eficientes. +* Apache Arrow es la tecnología más relevante de lo que llevamos de década, y probablemente lo sea en la siguiente. +* Python es un lenguaje tan válido para la ingeniería de datos como Java. + * Hace 5 años un cliente me dijo que no correría pyspark en el cluster porque era lento. Me recordó a la gente que prefería el ensamblador al Fortan porque el segundo tardaba mucho en compilar en el año 66 +* Python es un lenguaje tan válido para el cálculo distribuido como los lenguajes funcionales + * El hecho que en el fondo async sean generadores (yield from) demuestra que se trata de un concepto clave. Hay una charla muy interesante de David Beazley al respecto + +## Setup +* No usaremos una Raspberry pi porque compilar todos los paquetes necesarios a esa arquitectura es un montón de tiempo +* 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. +* 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 + +* 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 + * Los metadatos permiten a los query engines optimizar el acceso a disco mediante filter pushdown. + * Dentro de poco Arrow podrá hacer predicate pushdown, con lo que todo será más eficiente aún + +* 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 operación más frecuente en una base de datos relacional (join) es muy cara si los datos están particionados \ No newline at end of file