Articles

Sharding

Sharding áttekintése az adatbázis-kezelő rendszerek optimalizálásának gyakorlata egy nagyobb adatbázis-tábla sorainak vagy oszlopainak több kisebb táblára történő elválasztásával. Az új táblákat “szilánkok” – nak (vagy partícióknak) nevezik, és minden új táblának ugyanaz a sémája, de egyedi sorai vannak (mint a “vízszintes élesítés” esetében), vagy van egy sémája, amely az eredeti táblázat sémájának megfelelő részhalmaza (mint a “függőleges élesítés”esetében).

Sharding elválasztja a nagyobb asztal sorait több kisebb táblára, hogy az adatokat több számítógépre terjessze.
a sharding segítségével új táblákat hoznak létre “shards” (vagy partíciók) néven. Minden új táblának vagy ugyanaz a sémája, de egyedi sorai vannak (mint a “vízszintes élesítés” esetében), vagy van egy sémája, amely az eredeti táblázat sémájának megfelelő részhalmaza (mint a “függőleges élesítés”esetében).

miért használják a Sharding-ot?

Sharding egy közös fogalom skálázható adatbázis architektúrák. Egy nagyobb tábla megosztásával több csomóponton keresztül tárolhatja az új adatdarabokat, úgynevezett logikai szilánkok, a vízszintes skálázhatóság és a jobb teljesítmény elérése érdekében. Miután a logikai szilánkot egy másik csomóponton tárolják, fizikai szilánknak nevezik.

Ha egy adatbázist egyetlen gépen futtat, akkor előbb – utóbb eléri azt a számítási erőforrást, amelyet bármilyen lekérdezésre alkalmazhat, és nyilvánvalóan eléri azt a maximális adatmennyiséget, amellyel hatékonyan tud dolgozni. A vízszintes méretezés ki, akkor lehetővé teszi a rugalmas adatbázis kialakítása, amely növeli a teljesítményt két fő módja van:

  • masszívan párhuzamos feldolgozás, akkor kihasználják az összes számítási erőforrások egész klaszter minden lekérdezés.
  • mivel az egyes szilánkok kisebbek, mint a logikai táblázat egésze, minden gépnek kevesebb sort kell beolvasnia, amikor válaszol egy lekérdezésre.

a vízszintes élesítés akkor hatékony, ha a lekérdezések gyakran csoportosított sorok egy részhalmazát adják vissza. Például a rövid dátumtartományokon alapuló adatokat szűrő lekérdezések ideálisak a vízszintes megosztáshoz, mivel a dátumtartomány szükségszerűen korlátozza a lekérdezést a kiszolgálók csak egy részhalmazára.

a függőleges élesítés akkor hatékony, ha a lekérdezések általában csak az adatok oszlopainak egy részét adják vissza. Ha például egyes lekérdezések csak neveket kérnek, mások csak címeket, akkor a nevek és címek külön szerverekre oszthatók.

a megosztott adatbázisok magasabb szintű rendelkezésre állást is kínálhatnak. Abban az esetben, kiesés egy unsharded adatbázis, a teljes alkalmazás használhatatlan. Sharded adatbázissal csak az alkalmazás azon részei használhatatlanok, amelyek a hiányzó adatdarabokra támaszkodtak. A gyakorlatban a megosztott adatbázisok gyakran tovább enyhítik az ilyen kimaradások hatását azáltal, hogy a biztonsági mentési szilánkokat további csomópontokra replikálják.

mi a különbség a megosztottság és a particionálás között?

a Sharing és a particionálás egyaránt egy nagy adathalmaznak a kisebb részhalmazokra való felosztásáról szól. A különbség az, hogy a sharding azt jelenti, hogy az adatok több számítógépen terjednek, míg a particionálás nem. A particionálás az adatok részhalmazainak egyetlen adatbázispéldányon belüli csoportosításáról szól. Sok esetben a sharding és particionálás kifejezéseket még szinonimaként is használják, különösen akkor, ha azt a “vízszintes” és a “függőleges” kifejezések előzik meg.”Így a ” vízszintes felosztás” és a “vízszintes felosztás” ugyanazt jelentheti.

kapcsolódó témák

memória számítás

Edge Computing

Grid Computing

további olvasás

Hazelcast IMDG 3.12 bemutatja a CP alrendszert

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük