¿Qué es “un NocoDB”? ¿Me lo puedo comer?
NocoDB es una plataforma de base de datos no-code, lo que en la práctica significa que puedes diseñar y administrar bases de datos sin escribir una sola línea de SQL. En este ámbito, su competidor más conocido probablemente sea Airtable, y aunque este pueda estar más pulido, NocoDB tiene una ventaja clave: es de código abierto y puede auto-hospedarse. Esto lo hace apetecible pese a no ser comestible.
También puedes presentar y gestionar tus datos en formatos que no sean tablas, creando vistas interactivas. Puedes mostrar tus datos como un calendario, una galería al “estilo tarjeta” o un tablero Kanban. Además, puedes crear formularios que, al rellenarlos, generen nuevas entradas directamente en las tablas de tu base de datos. Por lo que, en realidad, tienes varias aplicaciones de productividad en una.
Fuente de las imágenes: NocoDB
Vale, ¿pero debería importarme?
A ver si te suena de algo: Le pides unos datos a tus compañeros de trabajo y te envían un archivo de Excel con una tabla estructurada de una manera que apenas tiene sentido. Así que te toca hacer limpieza de datos, quizá incluso les proporcionas una plantilla para la próxima. Pero al mes siguiente cambian el formato y han escrito comentarios en celdas aleatorias (a pesar de que Excel tiene un gran botón que dice «Añadir comentario») que rompen tus automatizaciones.
En comparación, NocoDB cuenta con un excelente sistema de colaboración con permisos basados en roles, lo que permite que varias personas trabajen en las mismas bases de datos. Esto abre dos posibilidades: en primer lugar, escribir y almacenar datos en un formato de tabla estandarizado ideal para el análisis, y en segundo lugar, las vistas personalizadas generan datos procesables a partir del trabajo de tus compañeros sin que estos cambien sus hábitos. Todos salen ganando, ya que tú obtienes información limpia y lista para usar, y tus compañeros de administración consiguen una herramienta de productividad que, de alguna manera, evita que les chilles y les lloriquees.
En lo que respecta al análisis de datos, hay tres formas de importar y exportar información en NocoDB: CSV, REST API y PostgreSQL (esta última solo está disponible si lo alojas tú mismo). Esto no solo proporciona flexibilidad, sino que también ofrece a los principiantes en el análisis de datos una forma de practicar diferentes métodos de lectura y escritura de la información con sus herramientas.
¿Convencido para darle una oportunidad? ¡A implementar NocoDB!
Sé que terminar mi primera publicación sobre análisis de datos hablando de DevOps es bastante caótico, pero en mi opinión, un buen analista de datos también debe mancharse las manos metiéndose en otros campos. Además, siempre puedes preguntarle a tu Administrador de Sistemas sobre esto.
Mi método preferido es alojarlo en un servidor local (tipo Raspberry Pi o un ordenador de sobremesa/portátil antiguo) con Docker Compose. De esta manera, puedes compartir esta herramienta internamente con tus colegas. Aunque NocoDB ofrece varias plantillas en su repositorio de Github, yo prefiero usar esta, que consta de este docker-compose.yml
:
services:
nocodb:
depends_on:
pg_nocodb:
condition: service_healthy
environment:
NC_DB: "pg://pg_nocodb:5432?u=${POSTGRES_USER:-postgres}&p=${POSTGRES_PASSWORD:-password}&d=${POSTGRES_DB:-postgres}"
image: "nocodb/nocodb:latest"
restart: unless-stopped
user: "1000:1000"
volumes:
- "./nc_data:/usr/app/data"
pg_nocodb:
environment:
POSTGRES_DB: ${POSTGRES_DB:-postgres}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-password}
POSTGRES_USER: ${POSTGRES_USER:-postgres}
ports:
- "5432:5432"
healthcheck:
interval: 10s
retries: 10
test: "pg_isready -U \"$$POSTGRES_USER\" -d \"$$POSTGRES_DB\""
timeout: 2s
image: postgres:16.6
restart: unless-stopped
volumes:
- "./db_data:/var/lib/postgresql/data"
Y un archivo de entorno .env
en el que debes cambiar la contraseña:
POSTGRES_USER=postgres
POSTGRES_PASSWORD=pleasechangethispasswordASAP
POSTGRES_DB=postgres_nocodb
A partir de aquí, te dejo a tu aire. Tienes la documentación y los video-tutoriales oficiales para empezar tu aventura. ¡Que aproveche!