Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

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

Ver códigoProblemas y ayudaRepositorio ↗
00

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.

CASOS DE USO
  • 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
PUNTOS DESTACADOS
  • 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
PRECAUCIONES
  • 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
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU1 vCPUrecomendación inicial
MEMORIA1 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADlownivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Despliegue manual

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.

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Node.jsPython
SERVICIOS
S3/MinIO
BASES DE DATOS
No detectadas
PUERTOS
No detectados
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

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.