Sharding
Sharding on käytäntö optimoida tietokannan hallintajärjestelmät erottamalla suuremman tietokantataulukon rivit tai sarakkeet useiksi pienemmiksi taulukoiksi. Uusia taulukoita kutsutaan ” sirpaleiksi ”(tai osioiksi), ja jokaisella uudella taulukolla on joko sama skeema mutta ainutlaatuiset rivit (kuten” horizontal sharding”) tai skeema, joka on alkuperäisen taulukon skeeman asianmukainen osajoukko (kuten”vertical sharding”).
miksi Shardingia käytetään?
Sharding on yleinen käsite skaalautuvissa tietokanta-arkkitehtuureissa. Jakamalla suuremman taulukon voit tallentaa uusia datapaloja, joita kutsutaan loogisiksi sirpaleiksi, useiden solmujen yli horisontaalisen skaalautuvuuden ja suorituskyvyn parantamiseksi. Kun looginen sirpale on tallennettu toiseen solmuun, sitä kutsutaan fyysiseksi sirpaleeksi.
kun käytät tietokantaa yhdellä koneella, saavutat lopulta sen laskentaresurssien määrän rajan, jota voit käyttää kaikkiin kyselyihin, ja saavutat tietenkin maksimimäärän dataa, jonka kanssa voit työskennellä tehokkaasti. Skaalautumalla vaakasuunnassa voit ottaa käyttöön joustavan tietokantarakenteen, joka lisää suorituskykyä kahdella keskeisellä tavalla:
- massiivisella rinnakkaiskäsittelyllä voit hyödyntää kaikki klusterisi laskentaresurssit jokaista kyselyä varten.
- koska yksittäiset sirpaleet ovat pienempiä kuin looginen taulukko kokonaisuudessaan, jokaisen koneen on skannattava vähemmän rivejä vastatessaan kyselyyn.
horisontaalinen jako on tehokas, kun kyselyillä on tapana palauttaa rivien osajoukko, joka usein ryhmitellään yhteen. Esimerkiksi kyselyt, jotka suodattavat tietoja lyhyiden päivämääräalueiden perusteella, ovat ihanteellisia horisontaaliseen jakoon, koska päivämääräalue rajoittaa kyselyt välttämättä vain palvelimien osajoukkoon.
Pystyjarrutus on tehokasta, kun kyselyillä on tapana palauttaa vain osajoukko tietojen sarakkeita. Jos esimerkiksi jotkut kyselyt pyytävät vain nimiä ja toiset vain osoitteita, nimet ja osoitteet voidaan jakaa erillisille palvelimille.
myös shared-tietokannat voivat tarjota korkeampia saatavuustasoja. Jos katkos on katkeamaton tietokanta, koko sovellus on käyttökelvoton. Shared tietokanta, vain osia sovelluksen, joka tukeutui puuttuvat palaset tiedot ovat käyttökelvottomia. Käytännössä sharded-tietokannat usein edelleen lieventävät tällaisten katkosten vaikutuksia kopioimalla varasirpaleita ylimääräisiin solmuihin.
Mitä eroa on Shardingilla ja Partitioningilla?
Shardingissa ja partitioningissa on molemmissa kyse suuren tietojoukon hajottamisesta pienempiin osajoukkoihin. Erona on, että sharding tarkoittaa, että tiedot on jaettu useisiin tietokoneisiin, kun taas osiointi ei. Osiointi on noin ryhmittely osajoukkojen tietoja yhden tietokannan instanssi. Monissa tapauksissa termejä sharding ja partitioning käytetään jopa synonyymisesti, varsinkin kun niitä edeltävät termit ”horizontal” ja ” vertical.”Näin” horisontaalinen jako” ja” horisontaalinen jako ” voivat tarkoittaa samaa asiaa.
aiheeseen liittyviä aiheita
Muistitietolaskenta
Edge Computing
Grid Computing
Lisälukemista
Hazelcast IMDG 3.12 esittelee CP-alijärjestelmän