sql >> Database >  >> RDS >> Oracle

Geuploade afbeeldingen opslaan:moet deze op de server of in de database worden opgeslagen?

Ja, u kunt BLOB's gebruiken voor binaire gegevens in Oracle. (En vele andere databases.) We gebruiken ze hier om PDF-bestanden op te slaan.

Ik heb het in beide richtingen gezien. Sla de afbeeldingen op in de database, of sla de afbeeldingen op in het bestandssysteem en sla vervolgens de bestandsnaam op in de database.

Voordelen van opslaan in database

Het staat allemaal in de database. Je haalt er een record uit, de bijbehorende afbeelding zit er gewoon bij.

U krijgt gegevensintegriteit tussen het bestand en de bijbehorende gegevens (uitgaande van een goed schemaontwerp natuurlijk.)

Eén logische handeling om gegevens en beeld te krijgen.

Ik vind het moeilijker en duurder om een ​​database te schalen om veel binaire gegevens te bevatten dan het bestandssysteemalternatief.

Nadelen van opslaan in database

Niet alle tools maken het gemakkelijk om door de afbeeldingen te bladeren.

Kan niet gemakkelijk toegang krijgen tot de afbeeldingen van internet.

Afhankelijk van de bestandsgrootte en hoeveelheid, kunt u in sommige van uw tabellen veel onbewerkte gegevens krijgen.

Het laden en opslaan van blob-gegevens is niet altijd eenvoudig. (Ik heb onlangs een aangepast gegevenstype voor Hibernate geschreven, bijvoorbeeld om onze blobbed-pdf's te verwerken.)

Voordelen voor bestandssysteem

Waarschijnlijk efficiënter voor het lezen en schrijven van de bestanden.

Als u de afbeelding op internet wilt plaatsen, kunt u dat rechtstreeks vanuit het bestandssysteem doen.

Gemakkelijker door afbeeldingen bladeren tijdens het debuggen, en veel gratis tools om dit te doen.

Ik geloof dat het gemakkelijker is om een ​​toepassing te schalen wanneer blobs in het bestandssysteem worden geplaatst.

Nadelen aan bestandssysteem

Problemen met gegevensintegriteit / consistentie. Verander iets aan de bestandsstructuur en je moet nog een stap doen in de database.

Het is iets anders om een ​​back-up te maken.

Meerdere logische bewerkingen (lezen uit database, lezen uit bestandssysteem) om afbeeldingen en gegevens te verkrijgen.



  1. Hoe kan ik rijen selecteren in MySQL vanaf een bepaald rijnummer?

  2. MySQL-query met meerdere 'OF'-instructies

  3. Selecteer de vroegste en laatste datum

  4. Welke database is goed voor het opslaan van afbeeldingen en video's?