Efficiëntie van BLOB vs FS

Pagina: 1
Acties:
  • 210 views sinds 30-01-2008
  • Reageer

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 23-08 10:29
Omdat het gewoon niet mogelijk is om op GOT vragen te stellen over BLOB's zonder dat je het topic offtopic gaat richting dingen als "Waarom gebruik je geen FS", "BLOB is niet snel" en "Het gebruik van BLOB's zuigt" open ik dit topic zodat het hopelijk weer mogelijk wordt om vragen te stellen over BLOB's

Succes!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

succes? wat? wat wil je weten, wat is je vraag?

Klaar voor een nieuwe uitdaging.


  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 23-08 10:29
Waarom is een BLOB beter dan een FileSystem of waarom is een FileSystem beter dan een BLOB?

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op maandag 18 maart 2002 09:21 schreef Monstar.nl het volgende:
Waarom is een BLOB beter dan een FileSystem of waarom is een FileSystem beter dan een BLOB?
Het ene is niet beter als het andere. Het ligt eraan wat je ermee wilt doen.

Verwijderd

Het is simpel: Een database is om dynamische data op te slaan, een fs om statische data op te slaan. Dus afhankelijk van hoe dynamisch je data is kies je voor een database dan wel filesystem.

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 23-08 10:29
Ff een quote uit m'n andere topic
Klopt, maar als je al die argumenten nou bij elkaar propt en je dan nog denkt dat BLOB beter is (Bijvoorbeel bij beveiliging of het tegen gaan van het gevaar van verwijderde bestanden waarvan de entry nog wel in de DB staan)... dan mag je toch wel vragen stellen?

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Als je al besloten hebt dat BLOB beter is ( volgens jou weet je alle informatie al ) waarom open je dit topic dan?

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 23-08 10:29
Voor personen die het zelfde probleem hebben als ik...

Ze stellen een vraag over de werking van BLOBs en ze krijgen als antwoord dat ze beter een filesystem kunnen gebruiken ipv BLOBs. Dus een antwoord krijgen ze nooit... mijn voorbeeld:
[topic=440275/1/25]

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Er is wel degelijk in voorgaande topics op een rijtje gezet wat de voor en nadelen zijn van blobs ten opzichte van fs, kortom wil je serieuze input dan moet je met een concrete vraag/probleem komen, anders krijg je alleen maar nog meer offtopic onzin.

Verwijderd

#define beter

BLOB's kunnen erg handig zijn, want bij het backuppen van de database ben je meteen klaar. Bij het gebruik van het FS moet je de files die op disk staan ook nog eens backuppen.

Verder moet je ervoor zorgen dat de SEMANTISCHE link tussen database record met filename en de daadwerkelijke file in het FS blijft bestaan. Move je de files naar een andere dir, dan ben je zuur en moet je je database updaten. Vergeet je dat, dan is het einde oefening. Bij BLOB's heb je dat niet, de blobs zitten in de database, en blijven daar.

Nadelen van BLOBs zijn uiteraard de code aan de data-fetching kant (veel database drivers kunnen niet in 1 keer een grote blob uit de database trekken maar dit moet in 'chunks'. Dit is naar programmeren, maar wel te verhelpen met het schrijven van een stukje code wat je telkens hergebruikt) en aan de database kant. Wanneer BLOBs erg groot zijn, slokken ze veel memory op (al naar gelang het DBMS ze slim cachet of niet natuurlijk) en dit is niet altijd aan te bevelen. Het filesysteem is net als een DBMS een soort 'database' alleen anders ingericht. Het kan voordelen hebben gebruik te maken van de caching mechanismen in het filesysteem en van andere services die direct op het filesysteem werken.

Voorbeeld: veelal worden BLOBs toegepast bij het storen van plaatjes voor dynamische websites. De beheervoordelen spreken voor zich, maar de nadelen die hier opduiken zijn niet altijd duidelijk. Een webserver die plaatjes leest vanaf de harddisk cachet deze beter dan dat het plaatje direct uit een data-producer rolt (recordset + code of com component bv). Ook browsers cachen soms plaatjes die direct aan een filename hangen beter dan dynamische urls.

Het is dan ook niet 1 2 3 te zeggen dat BLOBs sneller zullen zijn dan bij het gebruik van het FS: fetching code is voor het FS zeer geoptimaliseerd terwijl voor databases dit nogal eens te wensen over laat, het opzoeken van plaatjes in een database of in het FS is bij gebruik van de juiste structuren echter gelijk: beide keren gebruik je de database voor het vinden van de exacte lokatie.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Wat ik me eigenlijk afvraag is hoe het dan met de BFile achtige types zit (lob in postgres, bfile in oracle). Dus de data letterlijk in files opgeslagen maar wel op een door de DBMS gemanagede manier.

Iemand hier nog ervaring mee?
De filecaching wordt dan door het OS geregeld lijkt me en de browser-caching is dan het enige waar je nog last van hebt.
Er is natuurlijk een kans dat de file niet meegenomen wordt bij een database 'dump', daar moet je dan nog op letten.

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 23-08 10:29
Op maandag 18 maart 2002 12:28 schreef ACM het volgende:
Wat ik me eigenlijk afvraag is hoe het dan met de BFile achtige types zit (lob in postgres, bfile in oracle). Dus de data letterlijk in files opgeslagen maar wel op een door de DBMS gemanagede manier.

Iemand hier nog ervaring mee?
De filecaching wordt dan door het OS geregeld lijkt me en de browser-caching is dan het enige waar je nog last van hebt.
Er is natuurlijk een kans dat de file niet meegenomen wordt bij een database 'dump', daar moet je dan nog op letten.
Qua snelheid zal je wel een voorsprong hebben maar je hebt nog steeds kans op inconstinentie door bijvoorbeeld een domme fout zoals het vergeten van het backuppen van de bestanden... en... je zou nog bij de bestanden kunnen komen... en je hebt (als je blobs gebruikt) dubbele beveiliging... die van je FS en van je DMBS... toch?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op maandag 18 maart 2002 12:34 schreef Monstar.nl het volgende:
Qua snelheid zal je wel een voorsprong hebben maar je hebt nog steeds kans op inconstinentie door bijvoorbeeld een domme fout zoals het vergeten van het backuppen van de bestanden...
Dat vraag ik me dus af, doet de dbms dat zelf of niet... Zonee... Ach, zo'n fout maak je 1x en dan ook nooit weer, hopelijk alleen niet als het net wel belangrijk was ;)
en... je zou nog bij de bestanden kunnen komen... en je hebt (als je blobs gebruikt) dubbele beveiliging...
Euh, nofi hoor... Maar als je bij de bestanden gaat komen (kan niet anders dan moedwillig) ben je toch wel stom bezig. Zeker als je weet dat je DBMS het allemaal voor je regelt.

Het is dus maar de vraag of die dubbele beveiliging echt zinvol is en/of je niet door een beetje opletten dat zelf goed kan regelen.

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 23-08 10:29
Op maandag 18 maart 2002 12:41 schreef ACM het volgende:
Het is dus maar de vraag of die dubbele beveiliging echt zinvol is en/of je niet door een beetje opletten dat zelf goed kan regelen.
Zowieso moet je altijd goed overwegen als je wel gebruik gaat maken van BLOB's rekening houdende met veiligheid, betrouwbaarheid en efficiëncie... niet?

Verwijderd

Op maandag 18 maart 2002 12:44 schreef Monstar.nl het volgende:

[..]

Zowieso moet je altijd goed overwegen als je wel gebruik gaat maken van BLOB's rekening houdende met veiligheid, betrouwbaarheid en efficiëncie... niet?
Ik zie niet echt in waarom 'veiligheid' en 'betrouwbaarheid' ineens anders zouden zijn voor BLOB fields in een table.

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 23-08 10:29
Op maandag 18 maart 2002 13:32 schreef Otis het volgende:

[..]

Ik zie niet echt in waarom 'veiligheid' en 'betrouwbaarheid' ineens anders zouden zijn voor BLOB fields in een table.
Met betrouwbaarheid doel ik op inconcistentie...

en veiligheid... je kunt niet meer bij de bestanden alleen maar mbv de DBMS

Verwijderd

Een filesystem is ontworpen voor het bewaren van files.. dus waarom moeilijk doen.. toch ?

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Op maandag 18 maart 2002 14:16 schreef Monstar.nl het volgende:

[..]

Met betrouwbaarheid doel ik op inconcistentie...

en veiligheid... je kunt niet meer bij de bestanden alleen maar mbv de DBMS
Dat valt op zich af te schermen, desnoods ram je er een script over heen die de boel weer synchroniseert.

Overigens, let op dat als je FS gebruikt dat je niet 40.000 files in 1 directory zet, het is meestal stukken efficienter om met subdirs te werken.

  • Onno
  • Registratie: Juni 1999
  • Niet online
Op maandag 18 maart 2002 16:19 schreef raptorix het volgende:
Overigens, let op dat als je FS gebruikt dat je niet 40.000 files in 1 directory zet, het is meestal stukken efficienter om met subdirs te werken.
Hangt nogal van het gebruikte FS af. Van HPFS weet ik bijvoorbeeld dat dat niks uitmaakt omdat dirs door het FS zelf al aardig efficient in trees opgeslagen worden.

Verwijderd

Blob's gebruik je alleen als je een document moet beschermen. Dat kan ook met het filesystemobject. Alleen moet je dan files gaan copien en zo. Behoorlijke ellende!
Pagina: 1