( egeresz | 2023. 06. 06., k – 15:17 )

lényeges magyarázkodás nélkül;

- filesystem megoldás 20M file felett már macerás, 80M file felett már extrém nehézkes, 100M file felett alapvetően csak szenvedés

- Nagyjából ez igaz az AWS sima S3 szolgáltatására is, az se olyan nagyon ügyes

- Nincs üzemeltetési tapasztlatom 100M file felett, de a 30M - 100M közötti küzdelmek alapján logikusnak látszik a következő archiectúra:

Egy objstore, ami nem használ fiesystemet. csak szigorúan key->object storage, törlés/írás nem kell. Esetleg adatvédelmi okokból teljes nullázás, de a foglalt adatterületet felszabadítan egyszerűen túl drága. A key az 64 vagy 128bit, azt kész. A objstore backend lehet néhány nagy file egy filesystemen, de inkább csak natív partíció/blockdevice. A key->location metaadatrész férjen be a memóriába és maradjon is ott. Külön journal terület ennek mentésére/tárolására. A blockdevice alatt valami alapvető raid védelem. Az egész egyetlen, jól meghatározott felületen adja, mittomén leht S3 vagy webdav, vagy egy rest api vagy valami egyedi, de legyen egyszerű. Mivel nálatok mp3 az adat, deduplikáció vagy tömörités eleve nem játszhat, kár is ilyennel foglalkozni.

Egy adatvirtualizációs layer, ami több fenti tulajdonságú objstore példányt összefog, és tükrözést, replikációt vagy törlést implementál.

Az alkalmazás és minden management cucc ezen a felületen éri el.

Minden metaadat DB-ben, vagy más, ettől külső tárolóeszközön.

Külön ellenőrizni kell, hogy a "key" az kellően egyenletes: nem prediktálható és leginkább uniform randomnak tünik.

Adnék egy esélyt a seaweedfs-nek, (üzemeltetési tapasztalatom nincs, de játszottam vele) de ahhoz heggeszteni kell még egy adatvirtualizációs layert.

Viszont meg se próbálnám a MiniIO-t. Azt hírdetik, hogy restfull apin keresztül implementált distributed lock végzi a belső egységet. Na, a dlock pont az, mit mindenképpen kerülnék. Ugyane miatt a több host által implementált filesystemek (ceph/glusterfs) sem erre a feladatra valók. Az elemi objstore példányok ne tudjanak egymásról, az, hogy melyik key melyik elemi példányon (példányokon) van, azt leginkább csak az adatvirtializációs layer tudja. Szerintem ebben a méretben egy magyar középvállalat meg tudja oldani.

Én úgy szeretem, ha elérhető a forráskód, de ez már csak egyéni izlés kérdése.