Quale filesystem scegliere per memorizzare milioni di files?

Discussioni relative a Debian e Linux

Quale filesystem scegliere per memorizzare milioni di files?

Messaggioda maxt » 24/11/2017, 14:54

devo scegliere un filesystem per milioni e milioni di piccolissimi files (qualche bytes ciascuno)
che filesystem scegliere?

mi serve in ordine di preferenza:
- stabilita' (deve essere un filesystem testato e provato, supportato per gli anni a venire, non una cosa mordi e fuggi che dura sei mesi e poi scompare)
- velocita' di accesso
- i file piccoli non devono occupare uno spoposito, tipo che un milioni di file che in totale dovrebbero occupare 100 mbyte occupano 20 gigabyte
maxt
Hero Member
Hero Member
 
Messaggi: 551
Iscritto il: 27/12/2011, 10:00

Re: quale filesystem scegliere per memorizzare milioni di fi

Messaggioda marcomg » 24/11/2017, 18:15

Milioni di files piccolissimi? Perché? Che stai facendo? Comunque REISER4 non te lo consiglio :(
Windows is what you open when you want fresh air from outside.
Avatar utente
marcomg
Global Moderator
Global Moderator
 
Messaggi: 5497
Iscritto il: 22/08/2011, 18:54

Re: quale filesystem scegliere per memorizzare milioni di fi

Messaggioda maxt » 24/11/2017, 19:32

sono milioni e milioni di file sparsi, con informazioni qua e la'
devo mettere a posto il contenuto per poi inserirli in un database sql

mi serve un filesystem performante, per fare un esempio fare copie di directory ci vuole un casino di tempo
mi serve qualcosa di veloce

ieri sera stavo facendo una prova con il filesystem ufs ma andava uno schifo, alla fine mi sono addormentato vicino al computer

perche' reiser non lo consigli? lento o poco affidabile?
come va zfs?

ho provato xfs ma credo ci sia di meglio in giro per lavorare con milioni di file

qualcuno ha esperienze?
maxt
Hero Member
Hero Member
 
Messaggi: 551
Iscritto il: 27/12/2011, 10:00

Re: quale filesystem scegliere per memorizzare milioni di fi

Messaggioda mark » 24/11/2017, 20:49

stavi facendo le prove con un disco meccanico? i dischi ssd dovrebbero essere i migliori per questo utilizzo,
poi questo potrebbe essere un buon punto di inizio
https://www.phoronix.com/scan.php?item=linux_39_fs&page=article
Avatar utente
mark
Hero Member
Hero Member
 
Messaggi: 535
Iscritto il: 10/01/2007, 16:53

Re: quale filesystem scegliere per memorizzare milioni di fi

Messaggioda byte64 » 24/11/2017, 21:52

Nella tua situazione, ReiserFs o Reiser4 è il filesystem che ti serve....non alloca blocchi fissi di memoria ma li adatta in funzione della dimensione dei files che deve contenere, ed è il più performante per leggere e copiare una moltitudine di piccoli files.
E' importante ottimizzare la dimensione della partizione dove memorizzerai tutti i tuoi files, fai in modo che non sia troppo più grande dello spazio totale occupato da tutti i files che devi metterci, potresti utilizzare uno o più volumi LVM allo scopo di adattare lo spazio a seconda delle esigenze. Dividili in directory e/o sottodirectory con non più di 100k files in ciascuna.
Comunque appena puoi butta tutto in un blob-db come hai in mente.....è la soluzione migliore.
Lasia stare xfs zfs e affini.....
Ciao
byte64
Sr. Member
Sr. Member
 
Messaggi: 317
Iscritto il: 07/01/2017, 19:02
Località: Bergamo

Re: quale filesystem scegliere per memorizzare milioni di fi

Messaggioda maxt » 25/11/2017, 11:45

Comunque REISER4 non te lo consiglio :(


come mai?
brutte esperienze (personali)?


Dividili in directory e/o sottodirectory con non più di 100k files in ciascuna.

veramente, vorrei evitare di dividere
al momento in un directory per es. ci sono 5.557.038 files e vorrei evitare di spezzettare
maxt
Hero Member
Hero Member
 
Messaggi: 551
Iscritto il: 27/12/2011, 10:00

Re: quale filesystem scegliere per memorizzare milioni di fi

Messaggioda byte64 » 25/11/2017, 12:29

maxt ha scritto:
Comunque REISER4 non te lo consiglio :(


come mai?
brutte esperienze (personali)?

Riguardo Reiser si Reiser no, la questione è sia soggettiva che oggettiva.....
Leggi qui: https://it.wikipedia.org/wiki/Hans_Reiser
e qui: https://it.wikipedia.org/wiki/Reiser4
Così potrai chiariti meglio le idee per una eventuale scelta non prettamente tecnica.....
Lo utilizzo ancora senza problemi quando mi trovo proprio nella tua situazione.

maxt ha scritto:
Dividili in directory e/o sottodirectory con non più di 100k files in ciascuna.

veramente, vorrei evitare di dividere
al momento in un directory per es. ci sono 5.557.038 files e vorrei evitare di spezzettare

Puoi anche lasciarli tutti nella stessa directory, il mio è solo un consiglio per ottimizzare la situazione in cui ti trovi.
Personalmente quando ho oltre 50k-60k files in una directory mi "invento" sempre una qualche regola/logica per suddividerli, anche se spesso devo mettere poi mano a script e/o software che li utilizzano.
byte64
Sr. Member
Sr. Member
 
Messaggi: 317
Iscritto il: 07/01/2017, 19:02
Località: Bergamo

Re: quale filesystem scegliere per memorizzare milioni di fi

Messaggioda marcomg » 25/11/2017, 19:27

maxt ha scritto:perche' reiser non lo consigli? lento

L'opposto sarebbe il più adatto ma
maxt ha scritto:o poco affidabile?

Sviluppo lento, non so se siano riusciti a farlo inserire nativamente nel kernel linux ma ero rimasto a che bisognava usare fuse
e io personalmente in produzione non lo manderei e soprattutto non va bene con
maxt ha scritto:deve essere un filesystem testato e provato, supportato per gli anni a venire, non una cosa mordi e fuggi che dura sei mesi e poi scompare)

Comunque se è un applicativo scritto da te la cosa che devi fare è usare un altro sistema di storage dati più performante. Se usi file per lo storage potresti trovare più utile un database orientato al documento :)
Windows is what you open when you want fresh air from outside.
Avatar utente
marcomg
Global Moderator
Global Moderator
 
Messaggi: 5497
Iscritto il: 22/08/2011, 18:54

Re: Quale filesystem scegliere per memorizzare milioni di fi

Messaggioda maxt » 25/11/2017, 19:37

non e' un applicativo scritto da che usa una montagna di files..
io devo mettere a posto le informazioni presenti nei file per poi inserirli in un database

ho una montagna di files perche' mi riesce piu' comodo lavorare sui file con grep sed e compagnia bella
in teoria potrei pure inserire tutti i file in un database, ma non saprei come lavorare sui record del database usando grep sed ecc ecc
maxt
Hero Member
Hero Member
 
Messaggi: 551
Iscritto il: 27/12/2011, 10:00

Re: Quale filesystem scegliere per memorizzare milioni di fi

Messaggioda marcomg » 25/11/2017, 19:45

Scusami ma questa montagna di file come si è generata?
Windows is what you open when you want fresh air from outside.
Avatar utente
marcomg
Global Moderator
Global Moderator
 
Messaggi: 5497
Iscritto il: 22/08/2011, 18:54

Re: Quale filesystem scegliere per memorizzare milioni di fi

Messaggioda maxt » 25/11/2017, 19:52

ho estratto da due applicativi chiusi che usiamo (tramite dei script che ho fatto) i dati e li ho outputtati uno a uno in file di testo
maxt
Hero Member
Hero Member
 
Messaggi: 551
Iscritto il: 27/12/2011, 10:00

Re: Quale filesystem scegliere per memorizzare milioni di fi

Messaggioda marcomg » 25/11/2017, 20:25

Allora se devi continuare la strade dei file penso che dovrai usare Reiser4 (ma sul lungo termine non so cosa succederà).
IMHO dovresti modificare il tuo script per usare altro tipo di storage (esempio mysql o MongoDB che comunque se fai miglia di query al secondo si incarteranno pure loro alla grande).

Il problema è che tutte queste domande rimangono sempre sul vago e indefinito e ciò è limitante. Mi spiego: se devi gestire tutti questi file piccoli vai di Reiser4 che però non è supportato quanto ext4; ma il fatto che tu abbia questo problema forse è perché stai usando una soluzione non ottimale.
maxt ha scritto:ho estratto da due applicativi chiusi che usiamo (tramite dei script che ho fatto) i dati e li ho outputtati uno a uno in file di testo

che vuol dire tutto e niente o almeno non abbastanza da poter proporre qualcosa di sensato :)
Windows is what you open when you want fresh air from outside.
Avatar utente
marcomg
Global Moderator
Global Moderator
 
Messaggi: 5497
Iscritto il: 22/08/2011, 18:54

Re: Quale filesystem scegliere per memorizzare milioni di fi

Messaggioda byte64 » 25/11/2017, 21:32

maxt ha scritto:in teoria potrei pure inserire tutti i file in un database, ma non saprei come lavorare sui record del database usando grep sed ecc ecc

Si usa sql per lavorare sui db.....
Edit PS: per grosse moli di query ti consiglio postgresql....ma è probabile che mysql già vada bene nel tuo caso
byte64
Sr. Member
Sr. Member
 
Messaggi: 317
Iscritto il: 07/01/2017, 19:02
Località: Bergamo

Re: Quale filesystem scegliere per memorizzare milioni di fi

Messaggioda maxt » 25/11/2017, 22:22

sto usando mariadb e non mi hai mai dato problemi, si e' sempre comportato bene
a me il linguaggio tipo basic di sql (per scrivere procedure funzioni e compagnia) non e' mai piaciuto piu' di tanto
preferisco continuare a usare i vecchi strumenti a riga di comando
maxt
Hero Member
Hero Member
 
Messaggi: 551
Iscritto il: 27/12/2011, 10:00

Re: Quale filesystem scegliere per memorizzare milioni di fi

Messaggioda marcomg » 26/11/2017, 9:00

Penso che convenga fare un tentativo. Per fare certe operazioni puoi anche usare grep e compagnia bella con la pipe. Il punto è che se esiste una cosa già implementata nel database meglio farla fare a lui.
P.S. Sql e bash ne so poco perché di solito preferisco usare python ;)
P.P.S. Se hai 2 milioni di file da pochi byte la cosa mi fa pensare che complessivamente sono pochi GB di dati, con una struttura dati furba potresti anche salvare tutto in ram e fare lì le operazioni.
Windows is what you open when you want fresh air from outside.
Avatar utente
marcomg
Global Moderator
Global Moderator
 
Messaggi: 5497
Iscritto il: 22/08/2011, 18:54

Prossimo

Torna a Generale

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti