Sajnos nem értek az adatbázisokhoz, lenne egy remélhetőleg könnyen megválaszolható kérdésem.
Az egyik általunk fejlesztett (belső) alkalmazás több ezer vagy tízezer kisméretű file-t állít elő.
Ezek többnyire png file-ok, illetve kis, bináris file-ok. A méretük ilyesmi: 2kbyte, 180kbyte, 50kbyte.
Az írásuk/olvasásuk véletlenszerűen történik.
Igen kényelmetlen ez a sok apró file, szeretném belerakni őket valami adatbázisba. Azonban követelmény, hogy megmaradjon ezek könnyű újraírhatósága illetve törlési lehetősége.
A sebesség kritikus. Nem lehet lassabb, mint a file-írás.
Van valami ötlet, mit kéne használnom? Ja, és C++ interface kéne hozzá.
update:
Nem gondoltam volna, hogy ilyen sok hozzaszolas jon a kerdesfelvetesre.
A use case a kovetkezo: ez egy fejlesztoknek irt tesztapplikacio, ami computer vision algoritmusok fejleszteset segiti.
A bemenet egy video, a kimenet pedig vegyes-salata. Minden bemeneti kepkockahoz tartozik nehany tipusu binaris file: ez lehet kep (png), binaris metadata, ami tartalmaz tomoritett bitmapokat is, valamint text jellegu metadata.
Namost a platform: Windows7 desktop virusirtoval es file-rendszer szintu titkositassal. Egy izmosabb video-gyujtemeny kimenete 2, 3 de akar 20 gbyte is lehet, mindez ilyen apro file-okban.
Tobb szempontbol sem praktikus a jelenlegi megoldas. A rengeteg kis file megoli a felhasznaloi elmenyt. Lehetetlen kollegaknak konnyen megosztani. Ertsuk meg, itt it altal tamogatott ceges cloud/ storage nem lesz. Lokalis megoldasok jonnek szoba.
Hogy megelozzem az felveteseket: a virusirto beallitasait nem fogjak megvaltoztatni a kedvemert. Gyorsabb merevlemezt se osztanak.
A project celja az, hogy a csapatunkban a kollegak kellemesebb korulmenyek kozott fejleszthessenek. Mindenki utalja a tobb Gbyteos konyvtarakat. Ugyanazt egy file-ban elviselnek.
Ami nagyon gyors: egy-egy metadata kiolvasasa, mert a file-nev generalhato.
A tarral az a gond, hogy mi van, ha a kozepere kell irni?
A file-ok hierarchikus konyvtarstrukturaban vannak, already! Es tomoritettek.
SQL: ez nem az a use-case, itt nincsennek query-k.
Lehet, hogy az lenne a legjobb, ha egy nagy file-ban letrehozhatnek egy virtualis file-rendszert?
Az is fontos, hogy a rendelkezesre allo fejlesztesi ido kicsi.