Indholdsfortegnelse:
Video: Excel: Page Layout and Printing 2025
En Bigtable har tabeller ligesom RDBMS gør, men i modsætning til en RDBMS har en Bigtable tabeller generelt ikke forhold til andre tabeller. I stedet grupperes komplekse data i et enkelt bord.
Et bord i en Bigtable består af grupper af kolonner, kaldet kolonnefamilier , og en radnøgle. Disse sammen giver mulighed for hurtig opslag af en enkelt registrering af data i en Bigtable.
Brug af radnøgler
Hver række skal identificeres entydigt. Det er her en række nøgle kommer ind. En radnøgle er en unik streng, der bruges til at referere til en enkelt post i en Bigtable. Du kan tænke på dem som værende beslægtet med en primær nøgle eller som et socialt sikkerhedsnummer til Bigtables.
Mange Bigtables giver ikke gode sekundære indekser (indekser over kolonneværdierne selv), så det er afgørende at designe en rækkenøgle, der gør det muligt hurtigt at se på poster, at sikre god ydeevne.
En veldesignet radnøgle tillader, at en rekord er placeret uden at skulle have din ansøgning læst og kontrollere, hvorvidt hver post er anvendelig. Det er hurtigere for databasen at gøre dette.
Råtaster bruges også af de fleste Bigtables til jævnt at distribuere poster mellem servere. En dårligt designet radenøgle vil føre til, at en server i din databaseklynge modtager mere belastning (anmodninger) end de andre servere, hvilket nedsætter brugerens synlige ydeevne for hele din databasetjeneste.
Oprettelse af kolonnefamilier
En kolonnefamilie er en logisk gruppering af kolonner. Selvom Bigtables giver dig mulighed for at variere antallet af kolonner, der understøttes i en hvilken som helst tabeldefinition ved kørsel, skal du angive de tilladte kolonnefamilier foran. Disse kan typisk ikke ændres uden at tage serveren offline. Et adressebogprogram kan f.eks. Bruge en familie til hjemmeadresse. Dette kan indeholde kolonnerne Adresselinje 1, Adresselinje 2, Område, By, Amt, Stat, Land og Postnummer.
Ikke alle adresser vil have data i alle felterne. Adresselinje 2, Område og County kan for eksempel ofte være tomme. På den anden side må du kun have data i adresselinje 1 og postnummer. Disse to eksempler er begge fint i samme hjemmekode kolonnefamilie.
At have varierende antal kolonner har sine ulemper. Hvis du f.eks. Vil HBase at liste alle kolonner i en bestemt familie, skal du gentage over alle rækker for at få den komplette liste over kolonner! Så du skal holde styr på din datamodel i din ansøgning med en Bigtable klon for at undgå denne præstationsstraff.
Brug af tidsstempler
Hver værdi i en kolonne kan typisk gemme forskellige versioner.Disse versioner refereres ved at bruge en tidsstempelværdi.
Værdier ændres aldrig - en anden værdi tilføjes med en anden tidsstempel. For at slette en værdi, tilføjer du en grafstenmarkør til værdien, hvilket grundlæggende markerer, at værdien slettes på et bestemt tidspunkt.
Alle værdier for samme radnøgle og kolonnefamilie gemmes sammen, hvilket betyder, at alle opslag eller versionsbeslutninger træffes på et enkelt sted, hvor alle relevante data befinder sig.
Håndtering af binære værdier
I Bigtables er værdier simpelthen byte arrayer. For eksempel kan de være tekst, tal eller lige billeder. Hvad du gemmer i dem, er op til dig.
Kun nogle få Bigtable kloner understøtter værdityping. Hypertable, for eksempel, giver dig mulighed for at indstille typer og tilføje sekundære indekser til værdier. Cassandra giver dig også mulighed for at definere typer for værdier, men dens interval-forespørgselsindekser (mindre end større end operationer for hver datatype) er begrænset til at fremskynde nøgleopslagningsoperationer, ikke værdi sammenligningsoperationer.