Articles

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”).

Sharding erottaa suuremman taulukon rivit useiksi pienemmiksi taulukoiksi levittääkseen tiedot useille tietokoneille.
shardingin avulla luodaan uusia taulukoita, joita kutsutaan ”siruiksi” (tai osioiksi). 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

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *