Table of Contents
Tietojen jakamisen ymmärtäminen NOSQL-klustereissa on olennaista suorituskyvyn optimoimiseksi ja tiedon saatavuuden varmistamiseksi. Erilaiset NOSQL-tietokannat käyttävät erilaisia tekniikoita tiedon jakamiseen, mikä voi vaikuttaa skaalautuvuuteen ja vikojen sietokykyyn. Tässä artikkelissa tarkastellaan yhteisiä menetelmiä ja annetaan esimerkkejä näiden käsitteiden havainnollistamiseksi.
Tietojen jakelutekniikat
NOSQL-tietokannat käyttävät useita tekniikoita tiedon tehokkaaseen jakamiseen. Yleisimpiä menetelmiä ovat lastutus, johdonmukainen hashing ja aluejako. Jokaisella lähestymistavalla on etunsa ja käyttötapansa sovelluksen vaatimuksista riippuen.
Jakaminen ja sen täytäntöönpano
Jakaminen tarkoittaa tietojen jakamista pienempiin kappaleisiin, joita kutsutaan sirpaleiksi, jotka tallennetaan useiden solmujen päälle. Tämä tekniikka mahdollistaa horisontaalisen skaalauksen, jolloin tietokannat voivat käsitellä suurempia tietoaineistoja ja suurempaa liikennettä. Esimerkiksi käyttäjätietokanta voidaan sirotella käyttäjätunnisteiden tai hash-arvojen perusteella.
Johdonmukainen köydenveto
Hashing jakaa tietoja jakamalla kunkin tietoerän ja solmupisteen hash-arvon. Tiedot tallennetaan solmuun, jossa on lähin hash-arvo, mikä vähentää tiedon liikkuvuutta, kun solmuja lisätään tai poistetaan. Tätä menetelmää käytetään yleisesti hajautettuihin välimuistiin ja NOSQL-järjestelmiin kuten Cassandraan.
Esimerkki: Tietojen jakelun laskeminen
Oletetaan, että NOSQL-klusteri käyttää johdonmukaista hätiköintiä viiden solmun kanssa. Tietoerät on hätiköity 0-1000:een. Jos tietoerä hätiköi 450:een ja solmupistealue on määritetty seuraavasti:
- Solmu 1: 0...199
- Solmu 2: 200. 399
- Solmu 3: 400...
- Solmu 4: 600... 799
- Solmu 5: 800...999
Tietoerä, jossa on hash 450, tallennettaisiin solmukohtaan 3, koska sen hash on 400...