Skip to main content

BASE-modell för databasutveckling

Ron Unz on the Subprime Mortgage Crisis, The Unz Review, and the Harvard Admissions Scandal - #10 (Juni 2025)

Ron Unz on the Subprime Mortgage Crisis, The Unz Review, and the Harvard Admissions Scandal - #10 (Juni 2025)
Anonim

Relationsdatabaser är utformade med tillförlitlighet och konsistens i sin kärna. De ingenjörer som utvecklade dem fokuserade på en transaktionsmodell som säkerställer att de fyra principerna för ACID-modellen alltid kommer att bevaras. Ankomsten av en ny ostrukturerad databasmodell gör dock att ACID är på huvudet. NoSQL-databasmodellen avskyr den starkt strukturerade relationella modellen till förmån för en flexibel nyckel / värdebutik. Denna ostrukturerade inställning till data kräver ett alternativ till ACID-modellen: BASE-modellen.

Grundläggande Tenets av ACID-modellen

Det finns fyra grundläggande principer för ACID-modellen:

  • De atomicitet av transaktioner säkerställer att varje databasstransaktion är en enda enhet som antar en "all eller ingenting" -metod för genomförandet. Om något uttalande i transaktionen misslyckas, rullas hela transaktionen tillbaka.
  • Relationsdatabaser säkerställer också konsistens av varje transaktion med databasens affärsregler. Om något element i en atomtransaktion skulle störa databasens konsistens, misslyckas hela transaktionen.
  • Databasmotorn verkställer isolering mellan flera transaktioner som inträffar vid eller nära samma tidpunkt. Varje transaktion sker antingen före eller efter varje annan transaktion och utsikten över den databas som en transaktion ser vid början börjar endast förändras av transaktionen själv innan den sluts. Ingen transaktion borde någonsin se mellanprodukten av en annan transaktion.
  • Den slutliga ACID-principen, hållbarhet, säkerställer att när en transaktion är förbunden med databasen, är den permanent bevarad genom användning av säkerhetskopior och transaktionsloggar. I händelse av ett misslyckande kan dessa mekanismer användas för att återställa engagerade transaktioner.

    Kärnprinciper för BASE

    NoSQL-databaser omfattar däremot situationer där ACID-modellen är överkill eller faktiskt skulle hindra databasens funktion. Istället bygger NoSQL på en mjukare modell som är känd, lämpligen, som BASE-modellen. Denna modell rymmer flexibiliteten som erbjuds av NoSQL och liknande metoder för hantering och härdning av ostrukturerade data. BASE består av tre principer:

    • Grundläggande tillgänglighet. NoSQL-databas-tillvägagångssättet fokuserar på tillgängligheten av data även i närvaro av flera fel. Det uppnår detta genom att använda ett mycket distribuerat tillvägagångssätt för databashantering. I stället för att upprätthålla en enda stor datalagring och fokusera på feltoleransen hos den butiken, spred NoSQL-databaser data över många lagringssystem med hög grad av replikering. I det osannolika fallet att ett misslyckande stör åtkomst till ett segment av data, leder det inte nödvändigtvis till ett fullständigt databasavbrott.
    • Mjukt tillstånd. BASE databaser överger konsistenskraven för ACID-modellen ganska mycket helt. Ett av de grundläggande begreppen bakom BASE är att datakonsistensen är utvecklarens problem och bör inte hanteras av databasen.
    • Eventuell konsistens. Det enda kravet att NoSQL-databaser har avseende konsistens är att kräva att data vid en viss tidpunkt kommer att konvergeras till ett konsekvent tillstånd. Inga garantier görs dock om när detta kommer att inträffa. Det är en fullständig avvikelse från det omedelbara konsistensbehovet för ACID som förbjuder en transaktion från att köras tills den tidigare transaktionen har slutförts och databasen har konvergerat till ett konsekvent tillstånd.

    BASE-modellen är inte lämplig för alla situationer, men det är verkligen ett flexibelt alternativ till ACID-modellen för databaser som inte kräver strikt anslutning till en relationsmodell.