HitKeep: Analítica web soberana en un único binario de Go con DuckDB
El reto de la analítica autoalojada
Durante años, los desarrolladores que buscaban alternativas a Google Analytics por razones de privacidad o cumplimiento de la GDPR se han enfrentado a un dilema: usar servicios SaaS de terceros o gestionar infraestructuras complejas. Herramientas open-source como Plausible o Umami son excelentes, pero operativamente requieren mantener un stack completo con PostgreSQL, ClickHouse, Redis y entornos de ejecución como Node.js o Elixir. Para muchos proyectos, el coste operativo de 'vigilar' la base de datos de analítica supera los beneficios.
Arquitectura eficiente: DuckDB y NSQ al rescate
HitKeep nace para resolver este problema mediante una arquitectura radicalmente simple: todo el sistema vive dentro de un único binario de Go de apenas 12MB. La clave de su rendimiento reside en el uso de DuckDB, una base de datos columnar de alto rendimiento (OLAP) que se embebe directamente en la aplicación. Esto permite realizar agregaciones complejas sobre millones de registros en milisegundos sin necesidad de un servidor de base de datos externo.
Para evitar bloqueos de escritura durante picos de tráfico, HitKeep integra NSQ, un sistema de mensajería distribuida, que funciona de forma interna. Las peticiones HTTP se encolan en microsegundos y un proceso en segundo plano se encarga de persistir los datos en lotes (batching) hacia DuckDB. Además, el sistema incluye clustering nativo mediante el protocolo gossip de HashiCorp (Memberlist) para garantizar alta disponibilidad.
Soberanía de datos real y seguridad built-in
A diferencia de otras herramientas que 'atrapan' tus datos, HitKeep apuesta por la interoperabilidad. Su API de 'Takeout' permite exportar toda la información bruta en formatos abiertos como Parquet, CSV o JSON con un solo clic. El formato Parquet es especialmente valioso para ingenieros de datos, ya que permite consultar los logs directamente con herramientas como Apache Spark o Python sin transformaciones previas.
En el apartado de seguridad, HitKeep no hace concesiones. No realiza peticiones a terceros (incluso los favicons se sirven vía proxy para no filtrar IPs), soporta autenticación mediante WebAuthn (Passkeys/YubiKey) y genera tokens de portador (bearer tokens) para integrar la analítica en pipelines de CI/CD o dashboards personalizados.
¿Por qué importa para desarrolladores?
Para un ingeniero de software o DevOps, la mayor ventaja de HitKeep es la reducción drástica del overhead operativo. Poder desplegar un sistema de analítica capaz de procesar millones de hits con un solo contenedor Docker (o un binario ejecutable) y una base de datos que es un simple archivo local (hitkeep.db) cambia las reglas del juego. No hay actualizaciones de esquema complejas, no hay gestión de clusters de ClickHouse y el consumo de recursos es mínimo (puede correr en un VPS de 5$).
Además, al estar escrito en Go y usar DuckDB, ofrece una latencia de ingestión extremadamente baja, algo vital para no penalizar el Core Web Vitals de los sitios que monitoriza. Es la herramienta ideal para desarrolladores que valoran la soberanía de los datos pero odian la 'fatiga de infraestructura'.
Fuente original: DEV.to