Primera entrega de la serie Git básico. Forma parte de un recorrido más amplio por git en tres niveles: básico, intermedio y avanzado. Tiempo de lectura estimado: 5 minutos. Arrancamos una serie de nueve posts sobre git organizados en tres niveles: básico, intermedio y avanzado. Tres comandos por entrega, tres entregas por nivel. La idea es cubrir lo que de verdad se usa cada día, sin teoría de relleno ni diagramas de grafos dirigidos acíclicos. En este primer post, los tres comandos con los que empiezas todo: git init, git clone y git status. Son los primeros que tecleas en...
Quinta y última entrega de la serie ClickHouse desde cero a pro. Tiempo de lectura estimado: 14 minutos. Llegamos al final. En las entregas anteriores has pasado de arrancar un ClickHouse en Docker (I) a diseñar tablas con MergeTree (II), escribir consultas analíticas serias (III) y pre-agregar con materialized views (IV). Ahora toca ponerlo en producción. Este post cubre cuatro cosas que todo equipo acaba necesitando: replicación, sharding, backups y monitorización. No vas a salir de aquí sabiendo operar un cluster de 50 nodos, pero sí con la cabeza puesta para diseñar algo que no se caiga a la primera....
Cuarta entrega de la serie ClickHouse desde cero a pro. Tiempo de lectura estimado: 12 minutos. En la entrega III vimos cómo escribir consultas analíticas que en PostgreSQL serían ciencia ficción. En este post damos el siguiente salto: cómo evitar recalcular lo mismo una y otra vez. Cuando un dashboard consulta los mismos datos cada minuto, con las mismas agregaciones, escanear mil millones de filas en cada petición es tirar recursos a la basura. ClickHouse ofrece tres herramientas complementarias: materialized views, projections y TTL. Materialized views: la joya de la corona Un materialized view en ClickHouse no es lo que...
Tercera entrega de la serie ClickHouse desde cero a pro. Tiempo de lectura estimado: 12 minutos. Ya tienes ClickHouse funcionando (entrega I) y sabes diseñar tablas con tipos adecuados y MergeTree bien pensado (entrega II). Ahora toca la parte divertida: escribir consultas que, con PostgreSQL, no te habrías planteado ni intentar. Este post no pretende listar todas las funciones (hay cientos), sino mostrar las familias que más usarás y las que te van a sorprender si vienes del SQL tradicional. Si aún no tienes claro por qué ClickHouse puede ser necesario en tu stack, léete ClickHouse para desarrolladores que vienen...
Go tiene go build, go test, go run. No necesita un sistema de build. Pero en cuanto tu proyecto crece un poco, acabas con comandos que no son triviales de recordar: flags de compilación, variables de entorno para tests, linters, generación de código, deploys. Un Makefile es la forma más simple de documentar y ejecutar esos comandos. El Makefile mínimo Cinco targets. Cinco comandos. Nada más. Con esto puedes hacer make build, make test, make run y make lint sin recordar nada. El .PHONY le dice a Make que estos targets no son ficheros sino acciones. Variables Si repites valores,...