Skalowalna architektura plików dla bilionów rekordów na zwykłym serwerze
System oparty na minimalnym Linuxie, binarce Go i systemie plików przetwarza 250 milionów rekordów na komputerze użytkownika. Rozszerzenie do 9 bilionów — poprzez rozdzielczość iPhone (1170×2532 pikseli jako galaktyki, wewnątrz — gwiazdy). Przy 255 bajtach na rekord Droga Mleczna zajmuje 25 TB. iPhone o pojemności 256 GB pomieści 1% galaktyki — 1 miliard rekordów. Całość — 100 urządzeń bez centrów danych.
Adresowanie współrzędnymi bez indeksów
Adres preceduje rekord: 64-bitowa ścieżka z współrzędnych galaktyki i gwiazdy tworzy klucz EHO-7K3F-91QM-2X. Każda galaktyka to plik rzadki 723 MB (3 miliony × 256 bajtów), faktycznie ~7 MB przy 1% wypełnieniu. Linux nie zapisuje pustych obszarów na dysku.
Hierarchia katalogów ogranicza 100 000 plików na poziom:
galaxies/
AA/
AB/
...
1296 sektorów po ok. 2300 galaktyk. Wewnątrz — kodowanie Z (krzywa Mortona): mieszanie bitów x/y zapewnia lokalność dostępu, minimalizuje seeki.
Struktura rekordu i bezpieczeństwo
Gwiazda jest zapisywana według przesunięcia, aktualizacje — na to samo miejsce. Puste pola to zera z kontrolą CRC32. Plik tworzony jest na żądanie i istnieje wiecznie.
Klucz to GUID (przestrzeń 2¹²²), przechowywany jako Argon2(GUID + współrzędne). Struktura 256 bajtów:
- 1 bajt flagi (WRITING podczas zapisu)
- 32 bajty hash Argon2
- 219 bajtów danych
- 4 bajty CRC32
Brak blokad: dostęp po kluczu. Utrata GUID = utrata rekordu.
Skalowanie: prefiks klucza określa węzeł. Bez konsensusu, transakcji czy wyboru lidera.
Wizualizacja Wszechświata i optymalizacje
Mapa Wszechświata (1170×2532): piksel = galaktyka, jasność = gęstość (stat() / 723 MB). 3 miliony stat() na NVMe — 10–30 sekund, generacja w tle w formacie PNG.
Mapa galaktyki: sekwencyjne odczytanie 723 MB (240 ms na NVMe) lub 7 MB (2–3 ms) dla pliku rzadkiego. Renderowanie typu tajlowe jak w Google Maps: invalidacja po sektorach, czarne tajle są stałe.
Porównanie z projektem «ECHO»
| Aspekt | «ECHO» | Nowa architektura |
|--------|--------|-------------------|
| Skalowanie | 250 mln | 9 bilionów (36 Dróg Mlecznych) |
| Indeks | JSON w pamięci | Współrzędne = adres |
| Struktura | Ręczna | Krzywa Mortona |
| Uwierzytelnianie | PIN | GUID + Argon2 |
Co jest ważne
- Przestrzeń adresowa oparta na współrzędnych eliminuje indeksy i rejestry.
- Pliki rzadkie + porządek Z zapewniają dostęp O(1) przy niskiej gęstości.
- 100 urządzeń pokrywa biliony rekordów bez infrastruktury.
- CRC32 + bit WRITING gwarantują integralność bez blokad.
- Wizualizacja przez stat() i tajle skaluje się do galaktyk.
— Editorial Team
Brak komentarzy.