Video: VED KLYVNING i från Västerbotten 2024
NoSQL-databaser passar väl till mycket stora dataset. Bigtable kloner som HBase är inget undantag. Du kommer sannolikt att vilja använda flera billiga råvaruservrar i ett enda kluster snarare än en mycket kraftfull maskin. Detta beror på att du kan få övergripande bättre prestanda per dollar genom att använda många råvararservrar, snarare än en väldigt dyrare enda kraftfull server.
Förutom att kunna skala upp snabbt kan billiga varuservrar också göra din databasservice mer eftergivlig och därmed hjälpa till att undvika hårdvarufel. Detta beror på att du har andra servrar att ta över tjänsten om en enskild serverns moderkort misslyckas. Detta är inte fallet med en enda stor server.
Figuren visar en mycket tillgänglig HBase-konfiguration med ett exempel på datasplittring bland servrar.
Diagrammet visar två noder (HRegionServers) i en mycket tillgänglig inställning, som fungerar som backup för den andra.
I många produktionsinställningar kanske du vill ha minst tre noder för hög tillgänglighet för att säkerställa att två serverfel slutar i tid till varandra kan hanteras. Det här är inte så sällsynt som du skulle tro! Råd varierar per Bigtable; till exempel rekommenderar HBase fem noder som ett minimum för ett kluster:
-
Varje regionserver hanterar sin egen uppsättning nycklar.
Att utforma en radnyckeltilldelningsstrategi är viktig eftersom det dikterar hur belastningen sprids över klustret.
-
| Varje region upprätthåller sin egen skrivlogg och minnesbutik.
I HBase skrivs alla data till en minnesbutik, och senare spolas denna butik till disk. På disken heter dessa butiker lagringsfiler .
HBase tolkar lagringsfiler som enstaka filer, men i själva verket distribueras de i bitar över ett Hadoop Distributed File System (HDFS). Detta ger hög intag och hämtningshastighet eftersom alla stora I / O-operationer är spridda över många maskiner.
För att maximera tillgängligheten av data, behåller Hadoop tre kopior av varje datafil. Stora installationer har
-
En primär kopia
-
En replika i samma rack
-
En annan replika i ett annat rack
Före Hadoop 2. 0 kunde Namenodes inte tillverkas mycket tillgängliga. Dessa upprätthöll en lista över alla aktiva servrar i klustret. De var därför en enda punkt av misslyckande. Sedan Hadoop 2. 0 finns denna gräns inte längre.