Hvordan få en rødforskyvningstigstørrelse

Hvordan få en rødforskyvningstigstørrelse
Hvis du brenner for å jobbe med Big Data -applikasjoner og interessert i dataanalyse, eller hvis du er en erfaren databaseutvikler, må du ha en ide om Redshift, da det er et av de fineste verktøyene for dataanalyse og datavarehus. Amazon Redshift er en datavarehustjeneste levert av den største skytjenesteplattformen Amazon Web Services. Det kan gi en stor mengde datakraft, slik at du aldri trenger å bekymre deg for hvor stort datasettet ditt er. Redshift vil utføre jobben med hell og i minst mulig tid.

Når vi jobber med eller utvikler applikasjoner som involverer databaser, har vi alltid en begrenset mengde minne og prøver å bruke minst mulig diskplass. Selv om vi vet at det ikke er noen minnebegrensning på skytjenester, må vi fortsatt betale for hvor mye plass vi bruker. Så har du noen gang tenkt på å sjekke hvor mye disk databasetabellene dine okkuperer? Hvis ikke, trenger du ikke bekymre deg fordi du er på rett sted.

I denne artikkelen lærer vi hvordan du får tabellstørrelsen i Amazon Redshift.

Hvordan gjør vi det?

Når en ny database opprettes i Redshift, oppretter den automatisk noen tabeller og visninger i bakgrunnen der all nødvendig informasjon om databasen er logget. Disse inkluderer STV -visninger og logger, SVC -er, SVL og SVV -visninger. Selv om det er en hel haug med ting og informasjon i dem som er utenfor rom for denne artikkelen, vil vi her bare utforske litt om SVV -visninger.

SVV -visninger inneholder systemvisningene som har referanse til STV -tabeller. Det er et bord som heter SVV_TABLE_INFO Hvor Redshift lagrer bordstørrelsen. Du kan spørre data fra disse tabellene akkurat som vanlige databasetabeller. Bare husk at SVV_TABLE_INFO vil returnere informasjonsdata bare for de ikke-tomme tabellene.

Superbruker tillatelser

Som du vet inneholder databasesystemtabeller og visninger veldig kritisk informasjon som må holdes privat, så det er grunnen til at SVV_TABLE_INFO ikke er tilgjengelig for alle databasebrukere. Bare superbrukerne kan få tilgang til denne informasjonen. Før du får tabellstørrelsen fra dette, må du få tillatelser og rettigheter til superbruker eller admin. For å opprette en superbruker i din Redshift -database, trenger du ganske enkelt å bruke nøkkelordet Opprett bruker når du oppretter en ny bruker.

OPPRETT BRUKER CreateUser passord 'brukerpassord';

Så du har opprettet en superbruker i databasen din

Rødskift bordstørrelse

Anta at teamlederen din tildelte deg en oppgave å se på størrelsene på alle databasetabellene dine i Amazon Redshift. For å utføre denne jobben, vil du bruke følgende spørsmål.

Velg "Tabell", størrelse fra SVV_TABLE_INFO;

Så vi må spørre to kolonner fra tabellen som heter SVV_TABLE_INFO. Kolonnen som heter bord Inneholder navnene på alle tabellene som er til stede i det databaseskjemaet, og kolonnen som heter størrelse lagrer størrelsen på hver databasetabell i MBS.

La oss prøve denne Redshift -spørringen på eksempeldatabasen som er utstyrt med Redshift. Her har vi et skjema som heter Tickit og flere tabeller med en stor mengde data. Som vist på følgende skjermbilde har vi syv tabeller her, og størrelsen på hver tabell i MBS er nevnt foran hver enkelt:

Annen informasjon du kan få angående tabellstørrelsen fra SVV_TABLE_INFO kan være det totale antall rader i et bord, som du kan få fra TBL_ROWS kolonne, og prosentandelen av totalt minne som konsumeres av hver tabell i databasen fra PCT_USED kolonne.

På denne måten kan du se alle kolonnene og deres plass okkupert i databasen din.

Endre kolonnenavn for presentasjon

For å representere dataene på en mer sofistikert måte, kan vi også gi nytt navn til kolonnene til SVV_TABLE_INFO Som vi vil. Du vil se hvordan du gjør dette i følgende eksempel:

Velg "Tabell" som tabellnavn,
størrelse som størrelse_in_mbs,
tbl_rows som no_of_rows
Fra SVV_TABLE_INFO

Her er hver kolonne representert med et annet navn enn det opprinnelige navnet.

På denne måten kan du gjøre ting mer forståelig for noen med mindre kunnskap og erfaring med databaser.

Finn tabeller større enn den spesifiserte størrelsen

Hvis du jobber i et stort IT -firma og får jobb for å finne ut hvor mange tabeller i databasen din som er større enn 3000 MBS. For dette må du skrive følgende spørsmål:

Velg "Tabell", størrelse
Fra SVV_TABLE_INFO
Hvor størrelse> 3000

Du kan se her at vi har satt en større enn tilstand på størrelse kolonne.

Det kan sees at vi nettopp fikk kolonnene i utdataene som var større enn vår faste grenseverdi. Tilsvarende kan du generere mange andre spørsmål ved å bruke forhold på forskjellige kolonner i tabellen SVV_TABLE_INFO.

Konklusjon

Så her har du sett hvordan du finner tabellstørrelsen og antall rader i et bord i Amazon Redshift. Det er nyttig når du vil bestemme belastningen i databasen din og vil gi et estimat hvis du går tom for minne, diskplass eller datakraft. Annet enn tabellstørrelsen, er annen informasjon tilgjengelig som kan hjelpe deg med å designe en mer effektiv og produktiv database for applikasjonen din.