Permalänk
Medlem

Redundans i databaser

Hej! Jag skulle behövs lite hjälp med en databas fråga. Nämligen vad är "kontrollerad redundans"? och när är det att föredra?

Jag har läst i "Fundamentals Of Database Systems" boken men den gav inte så mycket för mig och google har inte heller vart till någon större hjälp. Jag hoppas att någon av er kan ge mig lite nyttig info alternativt peka ut vart det går att läsa om detta.

Permalänk
Medlem
Skrivet av noodeem:

Hej! Jag skulle behövs lite hjälp med en databas fråga. Nämligen vad är "kontrollerad redundans"? och när är det att föredra?

Jag har läst i "Fundamentals Of Database Systems" boken men den gav inte så mycket för mig och google har inte heller vart till någon större hjälp. Jag hoppas att någon av er kan ge mig lite nyttig info alternativt peka ut vart det går att läsa om detta.

Kontrollerad redundans är när man avsiktligt lagrar datat på flera ställen. Okontrollerad redudans är när man oavsiktligt lagrar data på flera ställen.

Exempel på kontrollerad redundans:
Replikering - flera databaser som ser exakt likadana ut.
Molnet - egentligen samma sak som ovanstående men man kan röra sig med ett mer "hippt" begrepp. Ganska ofta så är det data utspritt strategiskt över flera fysiska platser.
Något så enkelt som att spara en totalsiffra av antalet bokningar någonstans, istället för att köra en count på en miljard rader.

Exempel på okontrollerad redundans:
En tabell för anställda, en tabell för kunder, en tabell för män, en tabell för kvinnor = dålig idé.
Detta kan göras mycket bättre, exempelvis: en person-tabell som har alla gemensamma saker för alla dessa, exempelvis: förnamn, efternamn, ålder etc (istället för att lagra detta på varje tabell). Sedan kan man lägga till en kundtabell som har en referens till persontabellen där kundtabellen har relevant information för en kund. Exempelvis, kundnummer. Det här går ihop med "normalisering". Det borde även det tas upp i din bok.

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk
Medlem
Skrivet av Leedow:

Tack för svaret!

Kan man se detta som ett tillfälle att ha kontrollerad redundans : Att man skapar en ny tabell från vi säger tre existerande tabeller för att snabba upp sökningarna, samtidigt som man har kvar de tre tabellerna. Så man slipper göra en sökning per tabell om man ska sammanställa information från alla tabeller?

* Stavfel och liknande kan förekomma, är lite tröt atm.

Permalänk
Medlem
Skrivet av noodeem:

Tack för svaret!

Kan man se detta som ett tillfälle att ha kontrollerad redundans : Att man skapar en ny tabell från vi säger tre existerande tabeller för att snabba upp sökningarna, samtidigt som man har kvar de tre tabellerna. Så man slipper göra en sökning per tabell om man ska sammanställa information från alla tabeller?

* Stavfel och liknande kan förekomma, är lite tröt atm.

Det måste vara något väldigt specifikt i så fall. Du kan ju tänka dig att datat och intresset kan påverkas över tiden så då kanske det inte datat i dessa tabeller är lika populärt från dessa tre tabeller längre. Alltså har man fått något som försämrar prestandan: Vid varje ny post i de tre tabellerna så sker samma sak för den fjärde (redundans/belastningsförminskande tabellen). Det blir dubbelt arbete vid skapande av data.

Det skulle exempelvis inte fungera så bra för transaktionshistorik i vissa tillfällen (många skrivningar men få läsningar).

Jag kan inte komma på något som gör att jag skulle göra på sättet du beskriver men i princip - skapar man redundans för att minska belastning så är det kontrollerat och en bra sak. Se bara till att det verkligen minskar belastningen innan det tas i bruk skarpt.

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?