BASE Modell för databasutveckling

Innehållsförteckning:

BASE Modell för databasutveckling
BASE Modell för databasutveckling
Anonim

Relationella databaser är designade med tillförlitlighet och konsekvens i kärnan. Ingenjörerna som utvecklade dem fokuserade på en transaktionsmodell som säkerställer att ACID-modellens fyra principer alltid bevaras. Men tillkomsten av en ny ostrukturerad databasmodell sätter ACID på huvudet. NoSQL-databasmodellen undviker den mycket strukturerade relationsmodellen till förmån för en flexibel nyckel/värdelagringsmetod. Denna ostrukturerade inställning till data kräver ett alternativ till ACID-modellen: BASE-modellen.

Image
Image

Grundläggande grundsatser i ACID-modellen

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

  • atomicity av transaktioner säkerställer att varje databastransaktion är en enda enhet som använder en "allt eller ingenting"-metod för exekvering. Om något uttalande i transaktionen misslyckas, återställs hela transaktionen.
  • Relationella databaser säkerställer också konsistensen för varje transaktion med databasens affärsregler. Om något element i en atomär transaktion skulle störa konsistensen i databasen, misslyckas hela transaktionen.
  • Databasmotorn upprätthåller isolation mellan flera transaktioner som sker vid eller nästan samtidigt. Varje transaktion sker antingen före eller efter varannan transaktion, och synen på databasen som en transaktion ser i början ändras endast av själva transaktionen innan den avslutas. Ingen transaktion ska någonsin se mellanprodukten av en annan transaktion.
  • Den slutliga ACID-principen, durability, säkerställer att när en transaktion väl har registrerats i databasen, bevaras den permanent genom användning av säkerhetskopior och transaktionsloggar. I händelse av ett misslyckande kan dessa mekanismer användas för att återställa genomförda transaktioner.

Core Principles of BASE

NoSQL-databaser, å andra sidan, omfattar situationer där ACID-modellen är överdriven eller i själva verket skulle hindra driften av databasen. Istället förlitar sig NoSQL på en mjukare modell, lämpligen känd som BASE-modellen. Denna modell rymmer den flexibilitet som erbjuds av NoSQL och liknande metoder för hantering och kurering av ostrukturerad data. BASE består av tre principer:

  • Basic Availability NoSQL-databasmetoden fokuserar på tillgängligheten av data även i närvaro av flera fel. Den uppnår detta genom att använda en mycket distribuerad metod för databashantering. Istället för att upprätthålla ett enda stort datalager och fokusera på feltoleransen för det lagret, sprider NoSQL-databaser data över många lagringssystem med en hög grad av replikering. I den osannolika händelsen att ett fel stör åtkomsten till ett datasegment, leder detta inte nödvändigtvis till ett fullständigt databasavbrott.
  • Soft State. BASE-databaser överger konsistenskraven för ACID-modellen i stort sett helt. Ett av grundkoncepten bakom BASE är att datakonsistens är utvecklarens problem och inte bör hanteras av databasen.
  • Eventual Consistency Det enda kravet som NoSQL-databaser har angående konsistens är att kräva att data någon gång i framtiden kommer att konvergera till ett konsistent tillstånd. Inga garantier ges dock om när detta kommer att ske. Det är en fullständig avvikelse från det omedelbara konsistenskravet för ACID som förbjuder en transaktion från att utföras tills den tidigare transaktionen har slutförts och databasen har konvergerat till ett konsekvent tillstånd.

I BASE kan grundläggande tillgänglighet innebära att du inte ens kontrollerar datakällorna. Du kan till exempel länka till offentliga datauppsättningar för en del av ditt arbete.

Relativ användning

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

De optimala användningsfallen för databaser som använder ACID beror på mycket strukturerade data med förutsägbara in- och utdata. Personaldatabaser, detaljhandelsdatabaser och elektroniska journaler drar alltså nytta av den robusta interna konsekvenskontrollen som ACID erbjuder.

BASE-lösningar är dock bättre för suddiga ämnen som sentimentanalys. Till exempel kan ett BASE-strukturerat projekt skanna ett Twitter-flöde och leta efter ord som antyder känslor baserat på en specifik hashtag. Twitter-flödet är inte välstrukturerat eller lok alt instansierat, men dataströmmen erbjuder informationen som är programmerad i frågor även om omfattningen och arten av dessa data inte är rent avgränsade.

Rekommenderad: