hs5
Almacenamiento de objetos auto-alojado compatible con AWS S3, diseñado para alto rendimiento en un solo nodo. Utiliza LMDB para índices y archivos de datos secuenciales. Ideal para despliegues simples donde se controla la durabilidad o se usa con DuckDB para análisis.
Ficha actualizada 23 sept 2026, 20:52 · upstream 23 sept 2026, 20:41 · release 1.2.0
Qué es hs5
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
HS5 es un servicio de almacenamiento de objetos auto-alojado compatible con la API S3 de AWS, enfocado en alto rendimiento y simplicidad para entornos de nodo único. A diferencia de soluciones distribuidas como Ceph, está optimizado para ejecutarse en una sola máquina, aprovechando recursos locales masivos (RAM y almacenamiento) sin necesidad de clústeres complejos.
La arquitectura se basa en dos archivos principales: `index.lmdb` para mapear nombres de objetos a offsets en disco y gestionar el espacio libre, y `data0` donde residen los contenidos, permitiendo separar discos SSD para metadatos y HDD para datos si es necesario. El sistema garantiza consistencia fuerte (read-after-write) similar a AWS S3 y persistencia inmediata por defecto tras recibir una respuesta de éxito.
Ofrece una interfaz web para gestionar buckets y usuarios, además de integración nativa con DuckDB mediante el esquema `hs5://` para consultas directas a archivos como Parquet almacenados en los buckets. Está licenciado bajo LGPLv3+, permitiendo su uso y modificación en diversos contextos. En comparación con alternativas como MinIO o RustFS, destaca por su simplicidad y rendimiento en operaciones de carga masiva de objetos pequeños.
- Almacenamiento local de objetos en un servidor único con alta disponibilidad de recursos locales
- Análisis de datos en tiempo real integrando archivos almacenados directamente con DuckDB
- Pruebas de rendimiento y benchmarks de almacenamiento S3 compatibles
- Repositorio de objetos para aplicaciones que requieren compatibilidad S3 sin complejidad de clústeres
- Almacenamiento temporal o caché de objetos grandes en entornos de desarrollo
- Rendimiento superior en carga masiva de archivos pequeños comparado con MinIO y RustFS
- Garantía de persistencia inmediata por defecto tras confirmación de operación (sin WAL)
- Consistencia fuerte de lectura tras escritura, alineada con estándares AWS S3
- Integración nativa con DuckDB para consultas SQL directas sobre objetos almacenados
- Arquitectura simplificada basada en LMDB y archivos secuenciales sin complejidad distribuida
- Interfaz web incluida para gestión básica de buckets y usuarios sin dependencias externas
- Diseñado exclusivamente para un solo nodo, no escalable horizontalmente como Ceph o SeaweedFS
- Funcionalidad POST Object uploading actualmente no implementada según documentación
- Modo manual commit necesario para benchmarks precisos sin sacrificar durabilidad completa
- Requiere glibc >= 2.35 en entornos Linux nativos para ejecutar el binario
- Durabilidad dependiente de configuración (fsync) que puede requerir procedimientos manuales específicos
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Recomendado usar Docker o binario directo. Para Docker, montar volúmenes separados para `/metadata` y `/data`. En Linux nativo, descargar el binario `.xz`, descomprimir y ejecutar con `./hs5 run`. Asegurar glibc >= 2.35. Separar disco SSD para `index.lmdb` y HDD para `data0` mejora rendimiento. Usar `--wal-mode full` para cargas masivas de objetos pequeños. Activar `--duckdb-ui` si se requiere análisis SQL directo.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.