Egyszerűbb adatbázis karbantartás segítségével particionált táblák

A múltban az adatbázis adminisztrátorok irányító táblák millióit tartalmazó adatsort, akkor volt, hogy több asztal. Így a tábla particionálás, a rendszergazda kellett kötni

ezek a táblák egymással végrehajtása során számos lekérdezést. Binding rész együtt létre szükséges keresztmetszeti ábrázolás tárolt vagy héj eljárások által meghatározott adatok helyét és végre más tárolt eljárást, amelyek csak a szakaszok szükséges a visszatérés az adathalmaz.

Bár ezek a módszerek lehetővé teszik, hogy elérjék a kívánt eredményt, ők nagyon megterhelő. Műveleti adminisztrációs több tábla és az indexet, valamint a használt módszerek a fordított kötési táblák gyakran okoz semmiféle gondot az adminisztrációs és karbantartási. Ezen kívül, ami több asztalon particionálni adatokat vezetett a rugalmasság hiánya, mint a tárolt eljárások, feladatok, szolgáltatások, feladatok Data Transformation Services (DTS), az alkalmazás kódját és egyéb folyamatok kellett figyelembe venni a természet a partíciót. Ezért, annak érdekében, hogy a hozzáadás vagy alaphelyzetbe állítja ezeket kvazisektsy módosítása nélkül elemek ilyen kód általában létre nondynamical módon, és ezért alacsony hatékonyságot.

Így hozhat létre több szakaszt, mozgatni őket, hogy hagyjanak régi partíciókat, sőt megváltoztatják az adatok megosztjuk módosítások nélkül az alkalmazás kódját. Az alkalmazás kódját egyszerűen továbbra is alkalmazni kell az ugyanazon alap tábla vagy index nevét. Emellett csökkenti a tárolt adatok mennyiségének az egyes indexek, ami viszont csökkenti a karbantartási időt ezek a mutatók. Ezen felül, akkor lehet betölteni az adatokat egy üres rész, amely lehetővé teszi, hogy növelje a letöltési sebesség.

Létrehozása megosztjuk asztalok

Ahhoz, hogy hozzon létre egy táblázatot, amely képes nagyságát és használata további rész mellett az eredeti, használt partíciós függvény és térelválasztó rendszer. Éppen ezek a tárgyak lehetővé teszi az adatok megosztását az egyes szegmensek és kezeli a helyét a boltban design. Például lehetőség van arra, hogy osztja az adatok több lemeztömbhöz adatok kortól függően, vagy más megkülönböztető jegyek. Meg kell jegyezni, hogy az asztal lehet megosztjuk szerinti egyik oszlopot, és minden egyes fejezet tartalmazza az adatokat, amelyeket nem lehet elhelyezni más fejezetekben.

partíciós függvény. Particionálása táblázatot az első helyen, hogy meghatározza azt az elvet, amely szerint az adatok lesz osztva szegmensekre. Összehasonlításképpen az egyes adatsorozatot különböző szegmensek függvénye szakaszoló. Adatvezetékek lehet hasonlítani egy bármilyen típusú oszlop, kivéve a következő: szöveges, ntext, kép, xml, időbélyeg, varchar (max), nvarchar (max), varbinary (max), álnevek adattípusok és a felhasználó által definiált adattípusok CLR környezetben. Azonban a vágási funkciót kell helyezni egy adatsorban csak egy asztalon részén; Más szóval, a függvény eredménye az ugyanazon a vonalon nem tartozhat több szakaszból egyszerre.

Partíció a tábla, akkor létre kell hozni az elválasztó oszlopot. Ez a particionálási oszlop lehet létrehozni a sémában az asztal, amikor a tábla jön létre, vagy hozzá később módosításával a táblázatban. Az oszlop tudja fogadni NULL értékeket, de az összes sort tartalmazó NULL értékek alapértelmezés szerint kell elhelyezni a bal szélső részén az asztalra. Ezt el lehet kerülni megadásával létrehozásakor a partíciós függvény, hogy NULL értékeket kell helyezni a táblázat jobb oldalán. A választás a bal vagy a jobb szakasza - egy fontos tervezési döntés, amely megnyilvánul, amikor megváltoztatja a partíció rendszer, hozzátéve, további szakaszok vagy törölheti a meglévőket.

Amikor létrehoz egy partíciós függvény, akkor válassza ki a funkciókat balra vagy jobbra. A különbség a bal és jobb részek, ahol a particionálás rendszer kerül határ értékeket. Ha BAL szakaszok (ezt az opciót az alapértelmezett beállítás), a határérték szerepel a szakaszban, mivel a használata szakaszok fekszik határérték a következő részben.

Hogy jobban megértsük ezt a koncepciót, úgy a következő példák szakaszok balra és jobbra:

Az első funkció (Left_Partition) értékek 1, 10 és 100 kerülnek rendre az első, második és harmadik szakasz. A második funkció (Right_Partition) ezek az értékek kerülnek a második, a harmadik és a negyedik szakasz.

Létrehozásakor particionált tábla, fontos, hogy egy szakaszt készített lehetőleg azonos. Ez segít megérteni, hogy mennyi hely lesz szükség az egyes részekben. A bal és jobb paraméterek határozzák meg, ahol az adatok hozzáférhetővé kell tenni, ami viszont meghatározza a méret a szakasz és a méret az index létre rajta.

Határozzuk meg a szakaszok száma, amely kap egy bizonyos értéket, akkor a partíciós függvény $, az alábbiak szerint:

SELECT első utasítás visszatér 2, a második - a 3. érték.

partíció rendszer. Miután létrehoztuk az adatok kiválasztása funkció és az elválasztási módszert kell dönteni a szakaszokon, ahol az egyes szakaszok a lemezalrendszer jön létre. Ahhoz, hogy létrehozza ezt a szerkezete a partíció rendszert használnak. particionálás rendszer szabályozza, hogy az egyes szakaszok vannak tárolva a lemezen segítségével a fájl csoportok forgalomba mindegyik rész a lemezalrendszer. particionálási sémák lehet konfigurálni, hogy a szakaszok, elrendezett egyetlen fájl csoportban minden egyes részén található a fájl csoport vagy több szakaszok közönséges fájl-csoport. Az utóbbi módszer lehetővé teszi az adatbázis-kezelő lehetőségeket szétszóródás IO a lemezen.

Ábra. Az 1. ábrán néhány módszert rendelni az elválasztó rendszer egy vagy több fájl csoportok. Emlékeztetni kell arra, hogy a filegroups használt partíció rendszer léteznie kell az adatbázisban létrehozása előtt sémát.

Ha létrehoz egy partíciós függvény sablonok, ábrán látható. 1, és ezt a partíciót rendszert hozzon létre egy táblázatot, akkor lehet meghatározni, ahol az egyes adatsorok kerülnek particionált táblák. Ez lehetővé teszi, hogy később, hogy megtekinthesse eloszlása ​​adatsort illeszteni egy particionált tábla. Biztosítása szoftver kódja jelenik ábrán látható. 2.

Módosítása Particionált asztalok

Annak ellenére, hogy a gondos tervezés, néha meg kell változtatni, hogy a particionált táblák után hoztak létre és adatokkal való feltöltése. válaszfal rendszer működhet rendeltetésszerűen, de az adatbázis adminisztrátor, például kell hozzá egy új szakaszt a felhalmozási új adatok, vagy szükség lehet egy időben, hogy elveszíti nagy mennyiségű megosztjuk adatokat. Szerencsére megosztjuk táblázatok és az alatta lévő elválasztó szerkezetek lehetővé teszi, hogy módosítsa a táblázat után üzembe helyezik, és tele van adatokkal.

Hozzáadása szakaszok. Sok particionálás tervek közé tartozik a képességét, hogy új szakaszokat a jövőben. Ezúttal lehet állítani, hogy egy adott napon vagy értékétől függ oszlopban található inkrementális azonosítókat. Azonban, ha az új, a szakaszok a particionált tábla nem volt előre tervezett, hogy meg lehet csinálni bármikor. Tekintsük a táblázatban, a létrehozását, amely ábrán látható. 2. Add hozzá egy új szakasz, amely tartalmazza az érték nagyobb, mint 500, az alábbiak szerint:

Az a képesség, hogy új szakaszokat nagy rugalmasságot biztosít. Ábra. 3. megmutatja, hogyan kell hozzáadni egy szakaszt a bal oldalon a funkciót. Ebben az esetben meg kell határozni a particionálás rendszer, ahol az új szakasz kerül, mint már kimerítette az összes fájlt csoportok megépítésével az első partíció rendszer. Bár minden szakasz egy PRIMARY filegroup, válaszfal rendszer az, hogy egyértelműen meghatározni, mi a fájl csoportot kell használni az új szakasz.

Egyesülő két részből áll. SQL Server lehetővé teszi, hogy állítsa vissza az egyes fejezetekben az asztalra, miközben megőrzi az adatokat. Ezáltal lehetőség van, hogy egyesíti a régi aktív archivált adatokat, vagy hogy csökkentse a rendelkezésre álló szakaszok a beadás megkönnyítésére megosztjuk asztalra. Az egyesülés a szakaszok is mozgatni az adatokat az egyik filegroup másik szabadíthat fel lemezterületet egy bizonyos lemeztömbökre. A programkód ábrán látható. 4 megmutatja, hogyan kell mozgatni az adatokat az egyik területről a másikra ugyanabban a fájlban csoport.

Mozgó egy szakasz egyik asztalról a másikra. Az egyik jellemző adminisztratív feladatok, hogy mozog a régebbi adatokat külön archív asztal. Az archiválási folyamat általában szükség utasítások sorozata, amelyek eredményeként a további fogyasztás a források tranzakciónaplót. Ahhoz, hogy biztonsági másolatot készíteni a nagy mennyiségű adat nélkül kapcsolódó többletköltségek a tranzakciós napló, akkor az átviteli szakasz kellékek egyik asztalról a másikra. Ez a funkció lehetővé teszi az adatbázis-kezelő mozgatni szegmenseit régebbi adatokat az aktív tábla az archívumban. Mivel az adatok is, míg a valóságban nem mozog, ez a módszer sokkal kevesebb időre adatáthelyezésről vonalak egyenként. Ábra. 6 megmutatja, hogyan lehet csinálni.

A használata egy szakaszt, hogy hozzon létre egy új táblát. Egyetlen szakasz lehet mozgatni a meglévő táblázat megosztjuk egy üres particionált tábla. Ennek eredményeként, az adatbázis-kezelő végezheti index karbantartási ebben a részben az egység vagy könnyen elveszti a nagy mennyiségű adat, nem kell rögzíteni az eljárás megszüntetésére a magazin. Ábra. 7. ábra hogyan mozog a szakasz az üres asztalra, majd állítsa vissza az adatokat az új tábla.

Együtt azzal a lehetőséggel, particionálás az adatokat táblázat jelenik meg, és a képesség, hogy a particionált indexeket. Ez lehetővé teszi, hogy az adatbázis-kezelőt, hogy tervezzen az index szerkezete alapján a megosztott adatok helyett alapján a táblázat adatait. Létrehozása megosztjuk indexek létrehozását eredményezi az egyes B-fák a particionált indexek. Ennek eredményeképpen az elválasztó index kisebb indexek, és a felvezető tároló egyre könnyebbé válik a szolgáltatás őket, míg a változó, hozzáadását és törlését az adatokat. Az adatbázis adminisztrátor is szolgálhatnak ezek a kisebb indexek külön, ami lehetővé teszi, hogy hatékonyabban szolgálja az indexek nagy adathalmazok.

Létrehozása megosztjuk indexek. Hozhat létre igazítva, vagy rosszul kódok létrehozása során megosztjuk indexek. Igazított indexek részesülhetnek közvetlen kommunikációt a megosztjuk adatokat. (Abban az esetben, a rosszul indexek kiválasztott particionálási sémát egy másik.)

E két módszer előnyös bélelt index, amely automatikusan kiválasztásra létrehozásakor egy particionált tábla után az indexek nélkül létrehozott megadni egy másik particionálási rendszert. Használata igazított indexek rugalmasságot ad, hogy további szakaszok a táblázatban, és lehetővé teszi, hogy lefordítani vagy valamely részén egy másik asztalnál. A jelenléte ezeket a funkciókat - a fő oka annak, hogy az adatbázis-adminisztrátorok létre particionált táblák egyszerre. Annak érdekében, hogy megoldja a legtöbb problémát járó vágási, ahhoz, hogy használni az index partíció program az asztalra.

Táblázatok hozhatók létre kódokat, hogy az adatokat az index nem igazodik az adatokat a táblázatban. Ha az adatok tárolása egy particionált tábla, ez lehetővé teszi, hogy összekapcsolják az adatokat különböző módokon (megosztjuk adatok hatékonyan kommunikálni más szakaszolt adatokat a lekérdezés optimalizáló). Másik lehetőség, hogy meg tudja csinálni egy nem particionált tábla, akkor hozzon létre egy partícionált index (egy asztalon, egy szakasz) az egyszerű karbantartás az index.

A kód ábrán. 8 teremt megosztjuk, nem fürtözött index egy particionált tábla. Nem fürtözött index összhangban van a táblázatban; particionálása az asztal egy oszlopot használni, mint egy nem-fürtözött index gombot.

A kód ábrán. 9 teremt unaligned nem fürtözött index egy particionált asztalra. Ez nem fürtözött index a különböző oszlopokat használunk indexként kulcs; Ez a gomb arra szolgál, hogy a konszolidált más megosztjuk táblázatokat.

Meg kell jegyezni, hogy az index szolgáltatást szakaszok egyetlen index kell végezni off-line, így lehet, mert az eltömíti az asztal alatt az index karbantartást. Ennek megakadályozása érdekében, helyezze a készüléket részén egy külön részben hajtsa végre index karbantartás, majd menjen vissza a fő részben az asztalra. Ez a folyamat hatására csökken a teljesítmény közben visszafelé mozgása az asztal részt, és frissíti a fürtözött index, de ez vezet kevesebb nehézséggel, mint a blokkoló az egész táblázatot, és előírja, kevesebb erőforrást igényel.

következtetés