Content Addressable Storage

Folk der har kendt mig i nogen tid ved at jeg har en ting for Content Addressable Storage.

CAS bruges f.eks i en ethernet switch hvor man har brug for at finde ud af hvilken port en given MAC addresse skal sendes til, eller i CPU caches hvor man skal finde ud af hvilken cache-line der indeholder en given addresse.

Normalt ved man noget om sine data og vil finde dem: "SELECT foo FROM bar WHERE..." men med CAS har man allerede data og vil finde ud af noget om dem, f.eks hvor man har dem.

Tænk på det som telefonbøger: normalt leder man efter nummeret udfra navn, men indimellem har man et nummer og vil søger navnet,

Normalt implementerer man CAS ved at lave en hash-tabel, men der findes faktisl specielle chips der gør det i hardware. De bruges bla.a i high-end switche og routere.

Grunden til at jeg skriver om CAS idag, er en pudsig skandale i den klassiske pladeverden, hvor Itunes, ved hjælp af CAS har afsløret piratudgivelser af klarvermusik.

iTunes laver en hash over metadata, antal spor, deres længde osv. og slår så pladen op i en database for at finde information om den, det er en helt klassisk CAS løsning.

Mit eget netværks backup/arkiv system er også baseret på CAS:

Klient laver en hash af alle filerne og sender en "mtree" fil med hashværdierne til serveren.

Serveren gemmer oversigten og checker om der er nogle nye hash og udbeder sig de filer den ikke kender allerede.

Normale inkrementale backups følger ikke slettede filer og kan ikke gennemskue kopierede eller flyttede filer osv. og de periodiske totale backups er der heller ikke brug for.

Med mit system får jeg fuld time-travel, mtree filen viser præcist hvordan mit hjemmekatalog så ud på et givent tidspunkt og hashværdierne tillader mig at finde indholdet af filerne fra det bagvedliggende lagersystem.

I praksis gemmer jeg alle hashværdierne i en DB database sammen med en opskrift på hvordan man producerer filen med den givne hash.

Opskriften kan f.eks være: "Hent den på CDROM nummer 5" eller "tag den her anden fil og dekomprimer den". Man kan sagtens forestille sig mere komplekse opskrifter: "Hent version 1.9 ud af den her CVS fil", men det er ikke besværet værd med dagens lagerpriser at kæmpe for meget for det.

Hvis I har lyst til at lege med "stow" er i velkomne til det.

phk

Kommentarer (1)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Log ind eller Opret konto for at kommentere