Almacenamiento de Objetos Compatible con S3 para el Sector Salud
Cumplimiento WORM, auditoría HIPAA, cifrado en reposo y protección contra corrupción de datos. Construido en Rust. Binario de 19MB con consenso Raft integrado. Cero dependencias externas.
Clúster de 3 nodos con consenso automático y alta disponibilidad
Imágenes médicas, registros de pacientes y datos clínicos requieren los más altos estándares de integridad, cumplimiento y seguridad. OxideStore lo entrega.
Bloqueo de objetos con modos de Gobernanza y Cumplimiento. Retención legal para litigios. Una vez escrito, los datos no pueden modificarse ni eliminarse hasta que expire la retención.
Cada acceso registrado con marca de tiempo, usuario, IP y acción. Logs de auditoría diarios en formato JSON. Perfecto para auditorías de cumplimiento e investigación de incidentes.
Sumas de verificación criptográficas (BLAKE3, SHA256, CRC32C) detectan corrupción silenciosa de datos. Crítico para imágenes médicas donde la precisión a nivel de bits es importante.
Seguridad multi-capa con Web Application Firewall, geo-blocking y protección DDoS. Score de seguridad: 9/10
Web Application Firewall con 10 reglas activas protegiendo contra vulnerabilidades críticas de seguridad.
Solo permite acceso desde Chile y Estados Unidos. Bloquea automáticamente tráfico de otros 190+ países.
Límite de 1000 requests/minuto por IP. Protección contra ataques DDoS y brute force.
Bloquea automáticamente herramientas de scanning maliciosas.
Certificado SSL auto-renovable. TLS 1.2+ con Perfect Forward Secrecy.
Seguridad empresarial con protección multi-capa activa 24/7
A diferencia de MinIO que replica todo el objeto, OxideStore usa chunks de 1MB con SHA256 para replicación distribuida tipo BitTorrent. Los nodos intercambian chunks directamente sin pasar por el líder.
Modo especial donde TODOS los objetos son automáticamente inmutables. Perfecto para archivos médicos donde ningún dato puede modificarse después de escritura, sin excepciones.
A diferencia de MinIO que requiere un clúster etcd separado, OxideStore tiene consenso Raft integrado directamente en el binario. Cero dependencias externas. Cero complejidad.
Los nodos eligen automáticamente un líder. Si el líder falla, se elige uno nuevo en segundos. Sin intervención manual. Sin partición cerebral.
Creación de buckets, metadatos de objetos y configuración WORM se replican vía Raft. Garantías de consistencia fuerte. Todos los nodos ven el mismo estado.
Clúster de 3 nodos tolera 1 fallo. Clúster de 5 nodos tolera 2 fallos. Escrituras basadas en quórum aseguran la seguridad de datos incluso durante particiones de red.
Cifrado AES-256-GCM con nonces únicos por objeto. Cifrado del lado del servidor con claves gestionadas por el cliente. Arquitectura de conocimiento cero.
Mantener múltiples versiones de objetos. Recuperar archivos eliminados accidentalmente. Listar historial de versiones. Marcadores de eliminación para borrado suave.
Reglas de expiración automática. Eliminar versiones antiguas después de N días. Transicionar objetos entre clases de almacenamiento. Ejecución en segundo plano.
Notificaciones de eventos compatibles con S3. Activar webhooks en PUT, DELETE, finalización multipart. Filtrar por prefijo/sufijo. Listo para integración.
Subir archivos grandes en partes. Reanudar subidas interrumpidas. Subidas de partes en paralelo. Perfecto para imágenes DICOM y archivos de video.
Autenticación estándar AWS Signature Version 4. Compatible con aws-cli, boto3, aws-sdk-js y todas las herramientas compatibles con S3.
Compatibilidad completa con CLI mc. mc admin info, mc admin user, verificaciones de salud.
Endpoint /metrics integrado. Rastrear solicitudes, latencia, bytes transferidos, tasas de error. Listo para dashboards de Grafana.
Verificaciones de salud listas para Kubernetes. /minio/health/live para liveness, /minio/health/ready para sondas de readiness. Despliegues sin tiempo de inactividad.
Métricas capturadas en producción con datasets de salud reales. Optimizaciones I/O avanzadas: Metadata Cache + Direct I/O.
Índice en memoria con capacidad para 500,000 objetos. Elimina lecturas de disco para operaciones HEAD, reduciendo latencia de ~500μs a 70μs.
Bypass del page cache del kernel para Range Requests grandes (>64KB). Evita polución de cache y mejora throughput para archivos Parquet.
Benchmarks ejecutados en clúster Raft de 3 nodos (GCP n2-standard-2) con SSD persistentes. Dataset: registros médicos anonimizados en formato Parquet via DuckDB httpfs.
Operaciones avanzadas que se propagan automáticamente a todos los nodos del cluster. Diseñado para ETL, pipelines de datos y gestión masiva de objetos.
Elimina todos los objetos bajo un prefijo (directorio) en una sola operación. Ideal para OxideETL en modo --fresh que necesita limpiar tablas completas antes de recargar datos.
# Borrar directorio completo
DELETE /bucket/data/tabla/*Cuando el líder elimina un objeto, automáticamente propaga la eliminación a todos los nodos del cluster vía endpoints internos. Esto previene que P2P sync restaure archivos eliminados.
# Flujo interno automático
Leader → /internal/delete/bucket/key → Peers1. Descargar el binario estático:
# Linux x86_64 (musl static) wget https://releases.oxidedb.com/oxidestore/latest/oxidestore-linux-amd64 chmod +x oxidestore-linux-amd64 sudo mv oxidestore-linux-amd64 /usr/local/bin/oxidestore
2. Ejecutar con configuración predeterminada:
# Start with defaults (port 9000, ./data directory) oxidestore # Or with custom configuration OXIDESTORE_PORT=9000 \ OXIDESTORE_DATA_DIR=/mnt/storage \ OXIDESTORE_ACCESS_KEY=myaccesskey \ OXIDESTORE_SECRET_KEY=mysecretkey \ OXIDESTORE_ENCRYPTION_KEY=$(openssl rand -hex 32) \ oxidestore
3. Probar con AWS CLI:
# Configure AWS CLI aws configure set aws_access_key_id myaccesskey aws configure set aws_secret_access_key mysecretkey # Create bucket aws --endpoint-url http://localhost:9000 s3 mb s3://my-bucket # Upload file aws --endpoint-url http://localhost:9000 s3 cp file.txt s3://my-bucket/ # List objects aws --endpoint-url http://localhost:9000 s3 ls s3://my-bucket/
4. Habilitar WORM (Bloqueo de Objetos):
# Set retention on object (Compliance mode - cannot be shortened)
aws --endpoint-url http://localhost:9000 s3api put-object-retention \
--bucket my-bucket \
--key important-record.pdf \
--retention '{"Mode":"COMPLIANCE","RetainUntilDate":"2030-01-01T00:00:00Z"}'
# Set legal hold (blocks all deletion)
aws --endpoint-url http://localhost:9000 s3api put-object-legal-hold \
--bucket my-bucket \
--key legal-document.pdf \
--legal-hold '{"Status":"ON"}'Consejo: Configurar RUST_LOG=info para ver todas las operaciones registradas. Para auditoría HIPAA, los logs se escriben en el directorio ./audit/.
# docker-compose.yml
version: '3.8'
services:
oxidestore:
image: oxidedb/oxidestore:latest
ports:
- "9000:9000"
environment:
- OXIDESTORE_ACCESS_KEY=minioadmin
- OXIDESTORE_SECRET_KEY=minioadmin
- OXIDESTORE_ENCRYPTION_KEY=your-32-byte-hex-key-here
- RUST_LOG=info
volumes:
- oxidestore-data:/data
- oxidestore-audit:/audit
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 10s
retries: 3
volumes:
oxidestore-data:
oxidestore-audit:Almacenamiento de objetos de grado médico con replicación P2P tipo BitTorrent, consenso Raft integrado y modo MARS inmutable.
Binario de 19MB. Cero dependencias externas. WORM + HIPAA + Versionado + Cifrado. Construido en Rust.
Almacenamiento de Objetos de Grado Médico • Construido con Rust