sql >> Database teknologi >  >> RDS >> PostgreSQL

Er der problemer med at gemme filer i PostgreSQL?

Du har grundlæggende to valg. Du kan gemme dataene lige i rækken, eller du kan bruge faciliteten for store objekter. Da PostgreSQL nu bruger noget, der hedder TOAST for at flytte store felter ud af tabellen bør der ikke være nogen præstationsstraf forbundet med at lagre store data i rækken direkte. Der er stadig en grænse på 1 GB i størrelsen af ​​et felt. Hvis dette er for begrænset, eller hvis du ønsker en streaming-API, kan du bruge den store objekt-facilitet, som giver dig noget mere som filbeskrivelser i databasen. Du gemmer LO ID'et i din kolonne og kan læse og skrive fra det ID.

Jeg vil personligt foreslå, at du undgår faciliteten med store objekter, medmindre du absolut har brug for det. Med TOAST er de fleste brugssager dækket ved blot at bruge databasen, som du ville forvente. Med store genstande giver du dig selv en ekstra vedligeholdelsesbyrde, fordi du skal holde styr på de LO ID'er, du har brugt, og sørge for at koble dem fra, når de ikke bruges mere (men ikke før), ellers sidder de i din datakatalog optager plads for evigt. Der er også en masse faciliteter, der har exceptionel adfærd omkring sig, hvis detaljer undslipper mig, fordi jeg aldrig bruger dem.

For de fleste mennesker er den store præstationsstraf forbundet med lagring af store data i databasen, at din ORM-software trækker de store data ud ved hver forespørgsel, medmindre du specifikt instruerer den om at lade være. Du bør sørge for at fortælle Hibernate eller hvad du nu bruger til at behandle disse kolonner som store og kun hente dem, når de er specifikt anmodet om.



  1. Vælg kolonner af tabelindeks

  2. Installation af pg -v 0.17.1

  3. hvordan laver man forbindelsespooling i java?

  4. Hvordan kan vi i PostgreSQL se, om hvert indeks i en tabel er klynget eller ej?