Volver al inicio

Arquitectura para 9 billones de registros en un servidor

Arquitectura que almacena 9 billones de registros en sparse files con dirección por coordenadas y Z-encoding. Optimizada para NVMe, sin índices ni bloqueos. Visualización vía stat() y tiles.

9 billones de registros en archivos del tamaño de un iPhone
Advertisement 728x90

Arquitectura de archivos escalable para trillones de registros en un servidor estándar

El direccionamiento precede al registro: una ruta de 64 bits construida a partir de coordenadas galácticas y estelares forma la clave EHO-7K3F-91QM-2X. Cada galaxia es un archivo disperso de 723 MB (3 millones × 256 bytes), que en la práctica representa unos 7 MB cuando está lleno solo al 1%. Linux no escribe espacios vacíos en disco.

La jerarquía de directorios se limita a 100.000 archivos por nivel:

galaxies/
  AA/
  AB/
  ...

1.296 sectores con unos 2.300 galaxias cada uno. Dentro de ellos, el codificado Z-order (curva de Morton) mezcla bits de x e y para garantizar localidad de acceso, minimizando búsquedas.

Google AdInline article slot

Estructura del registro y seguridad

Las estrellas están fijas por desplazamiento; las actualizaciones van al mismo lugar. Los espacios vacíos son ceros con validación CRC32. Los archivos se crean bajo demanda y permanecen para siempre.

Clave: GUID (espacio de 2¹²²), almacenado como Argon2(GUID + coordenada). La estructura tiene 256 bytes:

  • 1 byte de banderas (ESCRITURA durante escritura)
  • 32 bytes de hash Argon2
  • 219 bytes de datos
  • 4 bytes de CRC32

Sin bloqueos: el acceso es basado en clave. Perder el GUID significa perder el registro.

Google AdInline article slot

Escalabilidad: el prefijo determina el nodo. No se requieren consenso, transacciones ni elección de líder.

Visualización del universo y optimizaciones

Mapa del universo (1170×2532): píxel = galaxia, brillo = densidad (stat() / 723 MB). 3 millones de llamadas stat() en NVMe tardan entre 10 y 30 segundos — generación en segundo plano de PNG.

Mapa de galaxias: lectura secuencial de 723 MB (240 ms en NVMe) o 7 MB (2–3 ms) en formato disperso. Renderizado por tiles como Google Maps: invalidación por sector, los tiles negros son estáticos.

Google AdInline article slot

Comparación con el proyecto "ECHO"

| Aspecto | "ECHO" | Nueva arquitectura |

|--------|--------|-------------------|

| Escala | 250M | 9 billones (36 Vías Lácteas) |

| Índice | JSON en memoria | Coordenadas = dirección |

| Estructura | Manual | Curva de Morton |

| Autenticación | PIN | GUID + Argon2 |

Conclusiones clave

  • El direccionamiento basado en coordenadas elimina índices y registros.
  • Archivos dispersos + Z-order ofrecen acceso O(1) con baja densidad.
  • 100 dispositivos cubren trillones de registros sin infraestructura.
  • CRC32 + bit ESCRITURA aseguran integridad sin bloqueos.
  • Visualización mediante stat() y tiles escala hasta niveles galácticos.

— Editorial Team

Advertisement 728x90

Leer después