Video: Infinispan -- the open source data grid platform by Mircea Markus 2024
Bazele de date NoSQL sunt potrivite pentru seturi de date foarte mari. Clonele clandestine precum HBase nu fac excepție. Veți dori probabil să utilizați mai multe servere ieftine de mărfuri într-un singur grup, mai degrabă decât o mașină foarte puternică. Acest lucru se datorează faptului că puteți obține o performanță generală mai bună pe dolar prin utilizarea mai multor servere de mărfuri, în locul unui server unic și puternic, mult mai costisitor.
În plus față de capacitatea de a scala rapid, serverele de mărfuri ieftine pot, de asemenea, face ca serviciul de bază de date să fie mai rezistent și astfel să evite defecțiunile hardware. Acest lucru se datorează faptului că aveți alte servere pentru a prelua serviciul dacă placa de bază a unui singur server nu reușește. Nu este cazul unui singur server mare.
Figura arată o configurație HBase extrem de disponibilă, cu un exemplu de împărțire a datelor între servere.
Diagrama prezintă două noduri (HRegionServers) într-o configurație extrem de disponibilă, fiecare acționând ca o copie de siguranță pentru cealaltă.
În multe setări de producție, puteți dori cel puțin trei noduri pentru disponibilitate ridicată pentru a vă asigura că două erori de server se apropie în timp unul față de altul. Acest lucru nu este atât de rar cum credeai! Sfaturile variază în funcție de Bigtable; de exemplu, HBase recomandă cel puțin cinci noduri pentru un cluster:
-
Fiecare server de regiune gestionează propriul set de chei.
Proiectarea unei strategii de alocare a cheilor de rând este importantă deoarece ea dictează modul în care sarcina este împrăștiată în cluster.
-
Fiecare regiune își păstrează propriul jurnal de scriere și memorie în memorie.
În HBase, toate datele sunt scrise într-un magazin în memorie, iar mai târziu acest magazin este încărcat pe disc. Pe disc, aceste magazine sunt numite fișiere de stocare .
HBase interpretează fișierele de stocare ca fișiere unice, dar, în realitate, acestea sunt distribuite în bucăți pe un sistem de fișiere distribuite Hadoop (HDFS). Aceasta asigură o ingerare ridicată și o viteză de preluare, deoarece toate operațiunile mari de I / O sunt răspândite pe mai multe mașini.
Pentru a maximiza disponibilitatea datelor, în mod implicit, Hadoop menține trei copii ale fiecărui fișier de date. Instalațiile mari au
-
O copie primară
-
O replică în cadrul aceluiași rack
-
O altă replică într-un rack diferit
Înainte de Hadoop 2. 0, Namenodes nu a putut fi foarte disponibil. Acestea au păstrat o listă a tuturor serverelor active din cluster. Acestea erau, prin urmare, un singur punct de eșec. Din moment ce Hadoop 2. 0, această limită nu mai există.