Zpět na domů

Architektura pro 9 bilionů záznamů na serveru

Architektura ukládá 9 bilionů záznamů do sparse-souborů s adresováním podle souřadnic a Z-kódováním. Optimalizována pro NVMe, bez indexů a zámků. Vizualizace přes stat() a dlaždice.

9 bilionů záznamů v souborech velikosti iPhone
Advertisement 728x90

Škálovatelná souborová architektura pro triliony záznamů na běžném serveru

Systém založený na minimálním Linuxu, binárním souboru Go a souborové systému zpracovává 250 milionů záznamů na uživatelském počítači. Rozšíření až na 9 trilionů — prostřednictvím rozlišení iPhone (1170×2532 pixelů jako galaxie, uvnitř hvězdy). Při 255 bajtech na záznam zabírá Mléčná dráha 25 TB. iPhone s kapacitou 256 GB se vejde 1 % galaxie — tedy 1 miliarda záznamů. Kompletní data vyžadují 100 zařízení bez datových center.

Adresace podle souřadnic bez indexů

Adresa předchází záznamu: 64bitovou cestu z souřadnic galaxie a hvězdy vytváří klíč EHO-7K3F-91QM-2X. Každá galaxie je řídký soubor 723 MB (3 miliony × 256 bajtů), ve skutečnosti ~7 MB při 1% zaplnění. Linux nezapisuje prázdné místa na disk.

Hierarchie adresářů omezuje 100 000 souborů na úroveň:

Google AdInline article slot
galaxies/
  AA/
  AB/
  ...

1296 sektorů po ~2300 galaxiích. Uvnitř — Z-kódování (Mortonova křivka): smíchá bity x/y pro lokálnost přístupu, minimalizuje seeky.

Struktura záznamu a bezpečnost

Hvězda je pevně zaznamenána podle posunu, aktualizace jde na stejné místo. Prázdné políčka jsou nuly s kontrolou CRC32. Soubor se vytvoří na požádání a žije navždy.

Klíč — GUID (prostor 2¹²²), uložen jako Argon2(GUID + souřadnice). Struktura 256 bajtů:

Google AdInline article slot
  • 1 bajt příznaku (PSÁNÍ během zápisu)
  • 32 bajty Argon2-hash
  • 219 bajtů dat
  • 4 bajty CRC32

Zámky chybí: přístup je podle klíče. Ztráta GUID = ztráta záznamu.

Škálování: prefix klíče určuje uzel. Bez konsenzu, transakcí nebo výběru vedoucího.

Vizuální reprezentace vesmíru a optimalizace

Mapa vesmíru (1170×2532): pixel = galaxie, jas = hustota (stat() / 723 MB). 3 miliony stat() na NVMe — 10–30 sekund, generace PNG v pozadí.

Google AdInline article slot

Mapa galaxie: sériové čtení 723 MB (240 ms na NVMe) nebo 7 MB (2–3 ms) pro řídký soubor. Tile rendering jako v Google Maps: invalidace podle sektorů, černé tile jsou statické.

Porovnání s projektem «ECHO»

| Aspekt | «ECHO» | Nová architektura |

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

| Škálování | 250 milionů | 9 trilionů (36 Mléčných drah) |

| Index | JSON v paměti | Souřadnice = adresa |

| Struktura | Ruční | Mortonova křivka |

| Autentizace | PIN | GUID + Argon2 |

Co je důležité

  • Adresní prostor podle souřadnic odstraňuje indexy i registry.
  • Řídké soubory + Z-order zajišťují O(1) přístup při nízké hustotě.
  • 100 zařízení pokrývá triliony záznamů bez infrastruktury.
  • CRC32 + bit WRITING zaručují integritu bez zámků.
  • Vizuální reprezentace prostřednictvím stat() a tile škáluje až do galaxií.

— Editorial Team

Advertisement 728x90

Číst dál