OxideStore

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.

Listo para HIPAACumplimiento WORMReplicación P2PAES-256-GCMCompatible con mc
EN PRODUCCIÓN

Clúster Raft Distribuido Activo

Clúster de 3 nodos con consenso automático y alta disponibilidad

Nodo 1 (Líder)Activo
node-1.cluster
Nodo 2 (Seguidor)Sincronizado
node-2.cluster
Nodo 3 (Seguidor)Sincronizado
node-3.cluster
19MB
Binario Estático
3
Nodos Raft
100%
Compatible S3
WORM
Bloqueo de Objetos
HIPAA
Listo para Auditoría
Diseñado para el Sector Salud

¿Por qué OxideStore para Datos Médicos?

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.

Cumplimiento WORM

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.

  • Cumple con SEC 17a-4(f)
  • Listo para FINRA 4511
  • Retención de registros médicos

Registro de Auditoría HIPAA

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.

  • Quién accedió a qué y cuándo
  • Seguimiento de autenticación exitosa/fallida
  • Transmisión de logs en tiempo real

Protección contra Corrupción de Datos

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.

  • BLAKE3 (ultra-rápido, seguro)
  • Verificación automática
  • Alertas de corrupción
Seguridad Empresarial

Protección Cloud Armor WAF de Google

Seguridad multi-capa con Web Application Firewall, geo-blocking y protección DDoS. Score de seguridad: 9/10

WAF - OWASP Top 10

Web Application Firewall con 10 reglas activas protegiendo contra vulnerabilidades críticas de seguridad.

SQL Injection bloqueado (OWASP)
XSS (Cross-Site Scripting) bloqueado
RCE (Remote Code Execution) bloqueado
LFI (Local File Inclusion) bloqueado

Geo-blocking Activo

Solo permite acceso desde Chile y Estados Unidos. Bloquea automáticamente tráfico de otros 190+ países.

🇨🇱 Chile✅ Permitido
🇺🇸 Estados Unidos✅ Permitido
🌍 Resto del mundo❌ Bloqueado (403)

Rate Limiting

Límite de 1000 requests/minuto por IP. Protección contra ataques DDoS y brute force.

Ban automático: 5 minutos si excede

Anti-Scanners

Bloquea automáticamente herramientas de scanning maliciosas.

nikto, sqlmap, nmap, masscan, acunetix

SSL/TLS Activo

Certificado SSL auto-renovable. TLS 1.2+ con Perfect Forward Secrecy.

Let's Encrypt vía Google Cloud

Score de Seguridad: 9/10

Seguridad empresarial con protección multi-capa activa 24/7

10
Reglas WAF
100%
Uptime
0
Ataques exitosos
3ms
Latencia WAF
Exclusivo de OxideStore

Replicación P2P Estilo BitTorrent

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.

OxideStore: Replicación P2P Inteligente

Chunks de 1MBSHA256
✓ Integridad verificable por chunk
✓ Replicación paralela entre nodos
✓ Sin punto único de falla
✓ Eficiencia de ancho de banda
Ventaja: Un archivo de 100MB se divide en 100 chunks. 3 nodos pueden replicar diferentes chunks simultáneamente, reduciendo tiempo de replicación 3x.

MinIO: Replicación Tradicional

Objeto CompletoTodo o Nada
× Replica todo el objeto de una vez
× Un nodo envía, otro recibe
× Uso secuencial de ancho de banda
× Tiempo proporcional al tamaño
Limitación: Un archivo de 100MB debe transferirse completo desde un nodo. No hay paralelización entre múltiples fuentes.

Modo MARS: Almacenamiento Inmutable Máximo

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.

Retención automática en todos los objetos
Elimina riesgo de modificación accidental
Cumplimiento regulatorio simplificado
Ideal para registros médicos permanentes
Distribuido por Diseño

Consenso Raft Integrado

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.

OxideStore: Binario Único

oxidestore19MB
✓ S3 API Server
✓ Raft Consensus Engine
✓ Storage Layer
✓ Metadata Replication
Despliegue: Copiar un binario. Iniciar 3 nodos. Listo. Sin dependencias externas, sin servicios de coordinación, sin orquestación de contenedores requerida.

MinIO: Múltiples Componentes

minio~100MB
✓ S3 API Server
etcd clusterRequired
✓ Consensus + Metadata
✓ 3+ separate nodes
Despliegue: Instalar clúster etcd. Configurar MinIO para conectar. Gestionar dos sistemas. Monitorear ambos. Depurar problemas entre servicios.

Cómo Funciona Raft en OxideStore

Elección Automática de Líder

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.

Replicación de Metadatos

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.

Tolerancia a Fallos

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.

Características Empresariales

Cifrado en Reposo

Cifrado AES-256-GCM con nonces únicos por objeto. Cifrado del lado del servidor con claves gestionadas por el cliente. Arquitectura de conocimiento cero.

Versionado de Objetos

Mantener múltiples versiones de objetos. Recuperar archivos eliminados accidentalmente. Listar historial de versiones. Marcadores de eliminación para borrado suave.

Políticas de Ciclo de Vida

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 Webhook

Notificaciones de eventos compatibles con S3. Activar webhooks en PUT, DELETE, finalización multipart. Filtrar por prefijo/sufijo. Listo para integración.

Subidas Multiparte

Subir archivos grandes en partes. Reanudar subidas interrumpidas. Subidas de partes en paralelo. Perfecto para imágenes DICOM y archivos de video.

Autenticación AWS Sig V4

Autenticación estándar AWS Signature Version 4. Compatible con aws-cli, boto3, aws-sdk-js y todas las herramientas compatibles con S3.

Compatible con Cliente MinIO

Compatibilidad completa con CLI mc. mc admin info, mc admin user, verificaciones de salud.

Métricas de Prometheus

Endpoint /metrics integrado. Rastrear solicitudes, latencia, bytes transferidos, tasas de error. Listo para dashboards de Grafana.

Endpoints de Salud

Verificaciones de salud listas para Kubernetes. /minio/health/live para liveness, /minio/health/ready para sondas de readiness. Despliegues sin tiempo de inactividad.

vs La Competencia

RECOMENDADO

OxideStore

  • Replicación P2P tipo BitTorrent (ÚNICO)
  • Modo MARS inmutable (ÚNICO)
  • Consenso Raft integrado (sin deps externas)
  • Binario estático de 19MB (musl)
  • WORM + Retención Legal nativo
  • Versionado de objetos completo
  • Registro de auditoría HIPAA integrado
  • Protección contra corrupción (BLAKE3)
  • Cifrado AES-256-GCM
  • Compatible con mc admin
  • 100% Rust, cero deps externas

MinIO

  • Ecosistema maduro
  • Bloqueo de objetos
  • Sin replicación P2P (objeto completo)
  • Sin modo MARS inmutable
  • Requiere clúster etcd externo
  • Configuración compleja multi-componente
  • Binario de ~100MB (Go)
  • Licencia AGPL (viral)
  • Sin protección contra corrupción integrada
  • Logs de auditoría necesitan configuración

AWS S3

  • Totalmente administrado
  • Durabilidad de 11 nueves
  • Bloqueo de Objetos + Glacier
  • Los datos salen de tus instalaciones
  • Tarifas de salida costosas
  • BAA de HIPAA requerido
  • Dependencia del proveedor
Rendimiento en Producción

Benchmarks Reales

Métricas capturadas en producción con datasets de salud reales. Optimizaciones I/O avanzadas: Metadata Cache + Direct I/O.

131ms
Consulta analítica sobre 111 millones de registros
Dataset de 148M+ registros totales sirviendo queries en tiempo real vía DuckDB + OxideStore
70μs
HEAD Request
Metadata Cache en memoria con 500K objetos
1.9ms
Range Request
Direct I/O (O_DIRECT) bypass page cache para archivos grandes
2.8ms
List Objects
Listado optimizado solo metadata sin leer contenido
9,798
Range Requests
Procesados en una sola sesión de análisis

Metadata Cache

Índice en memoria con capacidad para 500,000 objetos. Elimina lecturas de disco para operaciones HEAD, reduciendo latencia de ~500μs a 70μs.

Capacidad500,000 objetos
Uso RAM estimado~250MB
Mejora latencia7x más rápido

Direct I/O (O_DIRECT)

Bypass del page cache del kernel para Range Requests grandes (>64KB). Evita polución de cache y mejora throughput para archivos Parquet.

Threshold>64KB lecturas
Alineación buffer512 bytes
Fallbacktokio::fs automático

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.

Endpoints de la API S3

Operaciones de Bucket

GET /ListBuckets
PUT /{bucket}CreateBucket
DELETE /{bucket}DeleteBucket
GET /{bucket}?versioningGetVersioning
PUT /{bucket}?versioningPutVersioning
GET /{bucket}?object-lockGetObjectLockConfig

Operaciones de Objetos

PUT /{bucket}/{key}PutObject
GET /{bucket}/{key}GetObject
DELETE /{bucket}/{key}DeleteObject
PUT ...?retentionPutRetention
PUT ...?legal-holdPutLegalHold
POST ...?uploadsCreateMultipart
DELETE /{bucket}/{prefix}/*DeletePrefix
Operaciones de Cluster

Gestión Distribuida de Datos

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.

DeletePrefix (Borrado de Directorios)

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/*
  • Lista y elimina todos los objetos bajo el prefijo
  • Propagación automática a todos los nodos
  • Respuesta XML con conteo de objetos eliminados

Broadcast Delete (Propagación P2P)

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 → Peers
  • Eliminación consistente en todo el cluster
  • Sin restauración fantasma por P2P sync
  • Timeout de 10s por peer con fallback graceful

Arquitectura de Delete Distribuido

Cliente
DELETE request
Nodo Líder
Raft + Delete local
Peers (N2, N3)
/internal/delete
Resultado: Objeto eliminado de todos los nodos en <100ms

Inicio Rápido

Instalación

1. 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/.

Despliegue con Docker

# 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:

OxideStore > MinIO

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