Retour à l'accueil

Architecture pour 9 trillions d'enregistrements sur un serveur

Architecture qui stocke 9 trillions d'enregistrements dans des sparse files avec adressage par coordonnées et Z-encoding. Optimisée pour NVMe, sans indexes ni verrous. Visualisation via stat() et tiles.

9 trillions d'enregistrements dans des fichiers de taille iPhone
Advertisement 728x90

Architecture de fichiers évolutive pour des trillions d'enregistrements sur un serveur standard

L'adresse précède l'enregistrement : une clé EHO-7K3F-91QM-2X est formée à partir de coordonnées galactiques et stellaires sur 64 bits. Chaque galaxie est un fichier creux de 723 Mo (3 millions × 256 octets), qui ne prend réellement que ~7 Mo lorsqu'elle est remplie à 1 % environ. Linux n'écrit pas les espaces vides sur le disque.

La hiérarchie de répertoires est limitée à 100 000 fichiers par niveau :

galaxies/
  AA/
  AB/
  ...

1 296 secteurs, chacun contenant environ 2 300 galaxies. À l'intérieur, le codage Z-order (courbe de Morton) mélange les bits x/y pour optimiser la localité d'accès, réduisant ainsi les recherches disque.

Google AdInline article slot

Structure des enregistrements et sécurité

Les étoiles sont fixées par décalage ; les mises à jour s'effectuent au même emplacement. Les cases vides sont des zéros validés par CRC32. Les fichiers sont créés à la demande et persistent indéfiniment.

Clé : GUID (espace de 2¹²²), stocké sous forme d'Argon2(GUID + coordonnées). La structure fait 256 octets :

  • 1 octet de drapeaux (ÉCRITURE pendant l'écriture)
  • 32 octets de hachage Argon2
  • 219 octets de données
  • 4 octets de CRC32

Pas de verrous : l'accès est basé sur la clé. Perdre le GUID signifie perdre l'enregistrement.

Google AdInline article slot

Évolutivité : le préfixe détermine le nœud. Aucune nécessité de consensus, de transactions ou d'élection de leader.

Visualisation de l'univers et optimisations

Carte de l'univers (1170×2532) : chaque pixel = galaxie, luminosité = densité (stat() / 723 Mo). 3 millions d'appels stat() sur NVMe prennent 10 à 30 secondes — génération PNG en arrière-plan.

Carte galactique : lecture séquentielle de 723 Mo (240 ms sur NVMe) ou de 7 Mo (2–3 ms) en mode creux. Rendu de tuiles comme Google Maps : invalidation par secteur, les tuiles noires sont fixes.

Google AdInline article slot

Comparaison avec le projet "ECHO"

| Aspect | "ECHO" | Nouvelle architecture |

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

| Échelle | 250 M | 9 billions (36 Voies lactées) |

| Index | JSON en mémoire | Coordonnées = adresse |

| Structure | Manuel | Courbe de Morton |

| Authentification | Code PIN | GUID + Argon2 |

Points clés

  • L'adressage par coordonnées élimine les index et les registres.
  • Les fichiers creux + Z-order permettent un accès O(1) à faible densité.
  • 100 appareils couvrent des trillions d'enregistrements sans infrastructure.
  • CRC32 + bit ÉCRITURE garantissent l'intégrité sans verrous.
  • La visualisation via stat() et tuiles s'étend naturellement aux galaxies.

— Editorial Team

Advertisement 728x90

Lire ensuite