Kom ihåg mig?
Home Menu

Menu


Stor databas och många filer

Ämnesverktyg Visningsalternativ
Oläst 2006-10-15, 01:44 #1
obes avatar
obe obe är inte uppkopplad
Medlem
 
Reg.datum: Dec 2004
Inlägg: 172
obe obe är inte uppkopplad
Medlem
obes avatar
 
Reg.datum: Dec 2004
Inlägg: 172
I ganska många projekt som har hållt på med så har det varit en databas med data men även filer kopplade till vissa poster inblandade. Det kan tex vara en databas med filmer med bilder som hör till filmerna eller kanske vissa mätdata där en del av datan ligger i en sökbar databas men posterna har olika filer kopplade till sig.

Jag brukar alltid fundera på hur filstrukturen bör se ut när det blir många poster. Att lägga filerna i databasen i blobbar är ju ganska dumt, så hur gör man? Tänk att det är 10000+ poster.

Kanske kan man göra så här:
Man lägger filerna i en mapp /nnn/ där nnn är id:t på posten. Sedan kan filerna heta 10.jpg osv...

Eller så lägger man alla filer i samma mapp och skiver filnamnet i ett fält i databasen.

Fast iofs bör ju en post kunna ha flera filer än en kopplade till sig.

Några bra tankar?
obe är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-10-15, 02:09 #2
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Dom 3 största filsystemen i Linux har ett max antal poster i varje katalog (~32000st) så om du har fler det antalet poster så får du börja dela upp filerna.

Själv kör jag med:
/1/1 -> 9999/filnamn
/10000/10000 -> 19999/filnamn
/20000/20000 -> 29999/filnamn
osv

Tar sedan ett tag att fylla upp den strukturen.

Jag har inte kunnat läsa till mig en maxgräns på NTFS iaf. Så om du kör Windows så ligger du nog på säkra sidan iaf.
Jonas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-10-15, 11:05 #3
iXam iXam är inte uppkopplad
Medlem
 
Reg.datum: Aug 2005
Inlägg: 219
iXam iXam är inte uppkopplad
Medlem
 
Reg.datum: Aug 2005
Inlägg: 219
Vilka filsystem är det som har dessa begränsningar? Nog för att ext2 och ext3 inte är lämpade för många filer i varje dir då dom måste söka linjört efter en match (och det kan suga tid). ReiserFS som torde anses till en av dom tre största har vad jag läst mig till INTE några problem med många filer i ett dir. Hans Reiser har ju tom sagt att "om en utvecklare vill stoppa in en miljon filer i ett dir så ska han väl få göra det".
Eftersom ReiserFS använder så kallade BtreeX (där X är nått jag glömt vad det var) så hittar man snabbt filen utan att behöva stega linjärt. Dessutom används utrymmet smidigt vid små filer också.

Om en post ska kunna ha fler filer delade till sig kan du göra på två sätt.
Ha en tabell med fil_ids eller ha directory per huvudid och sen alla filer som ska relatera till dom i den.

Testa! Att skriva en testsuite som genererar dessa lösningar och sen klockar sökningar och hanteringar torde du göra på en halvtimma.

Att lägga filer i blobbar kan vara skönt så man lättare kan få en korrekt backup "snapshot" men om det börjar bli för många gig, för många rader så kan det lätt bli ohanterbart. Jag sitter i en sits nu där jag gjorde valet att stoppa in bilder i databasen och är inte riktigt nöjd med resultatet.
iXam är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 22:59.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017