När världens datamängder växer i rasande takt krävs nya sätt att lagra och hantera information. Nu tar algoritmhandelsfirman XTX Markets ett oväntat steg genom att öppna källkoden till sitt egenutvecklade filsystem TernFS – ett system byggt för att klara exabyteskala, biljoner filer och miljontals samtidiga användare. Med fokus på oföränderlighet, säkerhet och global drift kliver TernFS in på en arena som hittills dominerats av tungviktare som Ceph, GlusterFS och Lustre.

September 2025 – Handelsfirman XTX Markets har släppt sitt egenutvecklade filsystem TernFS som öppen källkod. Filsystemet, som byggdes för att hantera företagets enorma mängder data, kan nu laddas ner fritt från GitHub och används redan i produktion för att lagra över 500 petabyte.
Men vad innebär det egentligen, och varför är det intressant även för andra än ett börshandelsbolag?
Vad är ett distribuerat filsystem?
Ett vanligt filsystem, som det du har på din dator (till exempel NTFS eller ext4), lagrar filer på en enda disk. Ett distribuerat filsystem sprider däremot ut filerna över många datorer och hårddiskar som samarbetar. För användaren ser det fortfarande ut som en enda stor ”hårddisk”, men i verkligheten ligger filerna spridda i kluster med hundratals eller tusentals enheter.
Det här gör att systemet kan växa till enorm storlek och fortsätta fungera även om delar av hårdvaran går sönder. Andra kända öppna system i den kategorin är Ceph, GlusterFS och Lustre.
Byggt för ofattbara datamängder
TernFS är designat för exabyte-nivåer av lagring. En exabyte motsvarar ungefär en miljard gigabyte – mer än hela världens dagliga internettrafik. Filsystemet klarar biljontals filer och miljontals samtidiga användare.
Hos XTX används TernFS till att lagra all data som krävs för att träna maskininlärningsmodeller som förutspår prisrörelser på över 50 000 finansiella instrument världen över.
Systemet är byggt på tre grundprinciper:
- Immutabilitet – filer kan inte ändras när de väl skrivits, bara läsas eller tas bort.
- Hög tillgänglighet – information lagras redundant, alltså i flera kopior eller med hjälp av matematiska felkorrigeringskoder (Reed–Solomon).
- Multiregional drift – filsystemet kan köras över flera datacenter, så att data finns kvar även om ett helt datacenter går offline.
Hur fungerar det i praktiken?
För att förstå TernFS kan man se det som flera samverkande delar:
- Metadata-shards – håller reda på all information om filer, till exempel namn, storlek och var de ligger. Metadata delas upp i 256 ”skärvor” som körs på olika servrar för att undvika flaskhalsar.
- Blocktjänster – lagrar själva filinnehållet. Filer delas upp i mindre block som sprids ut över många diskar.
- Cross-Directory Coordinator – samordnar åtgärder som påverkar flera kataloger samtidigt, till exempel att flytta filer.
- Registry – fungerar som ett telefonregister över alla delar i systemet. Klienter kontaktar registret för att veta vilka servrar de ska prata med.
Fördelar och begränsningar
TernFS är mycket bra på att hantera stora filer – ofta flera megabyte eller större – och är därför idealiskt för maskininlärning, forskning eller medielagring. Det är däremot inte optimalt för småfiler eller situationer där filer behöver ändras ofta.
En viktig skillnad mot vanliga filsystem är att TernFS inte själv hanterar behörigheter. Det betyder att rättighetskontroll måste skötas av andra system ovanpå.
Skydd mot dataförlust
XTX framhåller att de inte förlorat en enda byte sedan systemet togs i drift. Det beror på flera skyddsmekanismer:
- Checksummor (CRC32-C) – varje block av data har en matematiskt beräknad kontrollsumma, så att fel kan upptäckas.
- Reed–Solomon-koder – gör det möjligt att återskapa data även om flera diskar går sönder. Vanlig konfiguration hos XTX är att varje fil delas upp i 10 datablock och 4 paritetsblock.
- Scrubbing – en bakgrundsprocess som hela tiden läser igenom lagrad data för att upptäcka dolda fel innan de orsakar problem.
- Snapshots – när filer eller mappar raderas tas de inte bort direkt utan hamnar i en ”säkerhetskopia” som kan återställas.
Varför släppa koden fri?
Många stora teknikbolag, som Google och Facebook, har egna filsystem men har aldrig gjort dem öppna. XTX går nu en annan väg.
De hoppas att fler organisationer med stora datamängder ska kunna dra nytta av TernFS, och att projektet kan bli ett alternativ till de befintliga öppna systemen.
Dessutom menar XTX att det ofta blir dyrare i längden att anpassa sig till ett tredjepartssystem än att bygga något själv. Genom att dela med sig hoppas de också på bidrag från open source-gemenskapen.
Slutsats
TernFS är ett filsystem byggt för en extrem miljö – högfrekvenshandel och maskininlärning i massiv skala – men principerna bakom är användbara för många andra.
Att det nu finns som öppen källkod gör att forskare, företag och organisationer kan experimentera med tekniken och kanske hitta nya användningsområden.
Med TernFS ansluter sig XTX till skaran av öppna storskaliga lagringslösningar – och det ska bli spännande att se om fler väljer det som grund för sina dataprojekt.
Koden finns tillgänglig på XTX:s GitHub.
https://linuxiac.com/xtx-markets-open-sources-ternfs
▌ TernFS – Fakta
- Öppen källkod: GPL-2.0-or-later (kärn-FS), Apache-2.0 m. LLVM-undantag (protokoll & klienter)
- Skalbarhet: upp till ~10 EB logisk lagring, biljontals filer, miljontals klienter
- I produktion: sedan 2023; >500 PB, ~30 000 HDD, ~10 000 flash, 3 datacenter, flera TB/s
- Design: immutabla filer; 256 metadata-shards (LogsDB + RocksDB); blocktjänster m. Reed–Solomon; Cross-Directory Coordinator; Registry
- Åtkomst: Linux-kärnmodul, FUSE-klient, minimal S3-gateway
- Bäst för: stora, immutabla filer (> några MB) – ML, mediearkiv, forskningsdata
- Begränsningar: sämre för småfiler & frekventa katalogändringar; inga inbyggda behörigheter; CDC kan bli flaskhals
- Dataskydd: CRC32-C checksummor, block proofs, snapshots, scrubbing, multi-region replikering
- Nätverk: TCP (block/registry), UDP (metadata/CDC), IPv4-adresser (DNS endast för registry)
- Lagringspolicy: per-katalog-policys; kostnadseffektivt nyttjande av HDD vs. flash
- Projekt: Källkod & dokumentation på GitHub