Blues interferencia, ablakok IT Pro

Informatikai infrastruktúra a vállalat

fejlesztők és adatbázis valószínűleg szembe kell néznie egy nagyon hosszú ideig futó segédprogramok, mint például a BCP (adat export program), DTS adatszolgáltatás és az adatok replikáció, hát nagy mennyiségű adat a különböző forrásokból. Például, az átviteli bázis kép, amely tartalmazza a 500 MB adatot, a megszorítások kulcsok és indexek közötti két erős négy-processzor szerverek RAM-mal és 1 GB disk tömb RAID 5 lenne szükség 2 óra munkaidő alatt, vagy 1,5 órán át éjszaka. Ilyen teljesítmény nem elfogadható az ipari célú szerverek terhelés órát vagy elosztott vállalati adattároló állapot, amelyben a csúcsidőn kívüli állapotban túl kicsi ahhoz, hogy biztosítsák a átadása nagy mennyiségű adat minden szerver. Szóval hogyan lehet felgyorsítani a folyamatot odaítélte a szükséges adatokat?

Fogok összpontosítani, hogy a folyamatot a másolás nagy adatmennyiség képeket lehet optimalizálni. Adatreplikálás pillanatfelvétel példányban az adathalmazt az eredeti SQL Server, ha ez az úgynevezett replikáció, akkor is, ha egy egyidejű végrehajtása más kérelmeket és a változó ugyanazt az adatot. Replikáció pillanatfelvételt átmásolja az adatokat közvetlenül el, vagy később egy másik SQL Server. SQL Server, adatok fogadása, látni őket, amit ők voltak jelen a forrás szerver idején a másolat, amíg a következő replikáció nem frissíti a teljes adathalmaz. DTS másolattal az ODBC adatforrás (vagy OLE DB) egy másik cél ODBC-vevő azonnal. És a forrás és a vevő is egészen más ODBC adatszolgáltatók. BCP másolása tábla vagy nézet SQL Server egy fájlba a saját formátumára, a szimbólum fájl, vagy éppen ellenkezőleg, a file-ba egy tábla vagy nézet SQL Server.

Hogyan működik a pillanatkép replikációs

A második szakaszban Distribution Agent Distribution Agent példányban .bcp fájlcsoportra a forrás adatbázis (az előfizető) a distrib.exe segédprogramot. snapshot.exe és distrib.exe segédprogramok használata BCP másolni a cikkeket egyesével, Snapshot Agent átmásolja az adatot a fájlokat .bcp végrehajtása SELECT egy egyszerű mondat, amely tartalmazhat a szűrő oszlop és a WHERE záradék (szűrni sorok). Ezután Snapshot Agent ügynök írja az eredményt beállta .bcp fájlokat. Ha az elosztó szer másolat (betétek) .bcp fájlokat egy adatbázis tábla, akkor törölni kell a meglévő vonal, és rekord behelyezését és eltávolítását, és újjáépíteni indexek.

Kezdete előtt a második szakaszban a replikációs adatokat kell létrehozni erre munkakörnyezet. Tekintsük által végrehajtott lépéseket az alapértelmezett beállítások adatreplikációs pillanatkép.

Képernyő 1. Kinevezések különböző kiadványok forgalmazási ügynökök.

Összekapcsolása képek és munkahely elosztó ügynök. Enterprise Manager segédprogram automatikusan észleli az SQL Server feladatok minden Distribution Agent. Ezek a szerek végre replikációt, áthalad a szakaszában a munka. Az alapértelmezett ügynök feladat három szakaszból áll - Log szer indítási üzenet Run szert és érzékelés nonlogged szer leállítása. A 3. ábra azokat a lépéseket mutatja be Steps lapon a tulajdonságok CGIS1-EGH-address-28 Tulajdonságok-CGIS1. 4. A képernyőn megjelenő csapat dolgozik lépésben Run szer, ha snapshot.exe.

4. A képernyő indításkor parancsot Snapshot Agent.

A teljes szintaxis a következő:

2. ábra T-SQL script fájlt (.idx) meghatározására az index áramkört.

Végül az adatok a fájlok .bcp. Az egyes elemek egy sor fájlok kiterjesztése .sch. IDX és .bcp.

Szintén alapértelmezés szerint Distribution Agent job végzi ugyanazt a három lépést, mint a Snapshot Agent. Azonban a Run szer lépést distrib.exe, mint látod a kódot képernyő 5. A teljes parancs szintaxisa a következő:

Képernyő 5. Indítási parancs Distribution Agent.

Először distrib.exe futtatható fájl alkalmazza a rendszer a fájlok kiterjesztése .sch előfizetéses alapon (az egyszerűség, hívtam, hogy egy lépéssel sch). A következő lépés a használt .bcp fájlokat felülírja az adatokat a fájl kiterjesztését .bcp a táblázatokban, amelyek lépésben létrehozott sch (szakasz BCP). Végül, az indexek az kiterjesztésű fájlok .idx (szakasz IDX) kell alkalmazni.

Snapshot.exe futtatható fájlt generál egy sor kiterjesztésű fájlok .sch és .idx összhangban termékek tulajdonságai vannak telepítve a pillanatkép fülön a Tulajdonságok párbeszédablak az érintett cikket. Például, ahogy a 6. ábra,

Képernyő 6. Telepítse cikkek.

Kiválasztása törli az adatokat a meglévő táblázat, amely megegyezik a sor szűrő nyilatkozat ( «Adatok törlése a meglévő táblákat, amelyek megfelelnek a szűrő feltétel"), ahogy az ADDRESS tulajdonságai párbeszédpanelen adja hozzá a parancsot DELETE FROM [CÍM] a .sch fájlt (lásd. Ábra 1) cikk CÍME. Azonban, ha kiválasztja összes adat törlése a meglévő táblázatot (TRUNCATE) ( «törli az összes adatot a meglévő táblákat (a TRUNCATE)») (cm. Képernyő 6), majd TRUNCATE TABLE parancs [CÍM].

1. ábra: T-SQL script fájlt (.sch) a cikk sémadefiníciós.

Hol lehet várni interferencia

A Snapshot Agent és forgalmazás a feladataikat megfelelően a munkát, de egy pár ilyen feladatokat lehet akadálya az adatbázis szerver, amely negatívan befolyásolja a teljesítményt. Nézzük teljesítményének értékeléséhez az ügynökök, standard kritériumok.

A bevezetése teljesítménykövetelményeket. Annak megállapításához, a végrehajtás időpontja a kérelem, illetve empirikusan lehet értékelni a teljesítményt, vagy matematikailag értékeli az algoritmus. Ebben a részben azt fogja tenni, és az empirikus és a matematikai végrehajtásának értékelését lépéseket szerek összehasonlítani a kapott eredményeket különböző módszerekkel. Vizsgálni szükséges időt, matematikailag úgy gondoljuk, hogy a teljesítmény az algoritmus számával növekszik az adatbevitel. futásidejű növekedési tendencia azt mutatja, hogy az algoritmus jól skálázható a terhelést. Például, ha a fordított idő a mérete az adatfeldolgozó N, lineárisan nő az számának növekedése az adatok (például, a feldolgozás 1000 bejegyzés tart 2 másodpercig, a kezelés során 10 ezer bejegyzés 20 mp.), Akkor a végrehajtási időt az algoritmus - lineárisan méretének adatokat. Ezt a növekvő tendenciát függvényében az adatmennyiség nevezzük időfüggő algoritmus és kijelölt O (n) (vagy a megrendelés n) lineáris az idő függvényében. Az algoritmus, amely mindig belül befejeződik ugyanakkor függetlenül attól, hogy mennyi adatot kell bevinnie konstans értéket attól függően, hogy az idő, amit kijelölt O (c).

Mivel a Snapshot Agent nem lassítja le a replikációs folyamatban a kép, a tettes kell a forgalmazási ügynök. A formula, hogy a következő lépéseket az ügynök kéri a előfordulási helye interferencia.

Optimalizálása végrehajtási sebesség

Nyilvánvaló, hogy az interferencia, amely akkor jelentkezik, amikor a felhasználó megpróbálja másolni nagy mennyiségű adat, lehet, hogy nagy léptékű replikáció képek haszontalan. Azonban, akkor tegyen lépéseket, hogy elkerülje ezeket a problémákat.

Megszabadulni a zavaró okozta DELETE utasítás. Akkor könnyen eltávolítani az akadályokat, hogy létrehoz egy DELETE utasítás a sch lépésben választja ki az „törli az összes adatot a meglévő táblázatot (TRUNCATE)» a Snapshot fülre a tulajdonságok párbeszédablakban cikket, a képernyő 6. Ennek eredményeképpen megkapjuk a parancsot TRUNCATE

helyett DELETE FROM

Sajnos, ez az ötlet nem működik, két okból. Először is, azt gondolhatja, hogy kell használni .idx létrehozott fájl pillanatkép szert, annak érdekében, hogy újra az idegen kulcs megszorítások és indexek törölt szabható script. Azonban .idx fájl nem korlátozzák az elsődleges és egyedi kulcsokat, mert .idx Snapshot Agent rögzíti ezeket a gombokat, mint indexek a fájlban. Például, a 2. ábrán UNIQUE fürtözött index [PK_ADDRESS] által okozott állapot egy elsődleges kulcs nevű [PK_ADDRESS], de továbbra is létezik csak egy index. Másodszor, bár @schema_option sp_addarticle tárolt eljárás paraméter lehetővé teszi, hogy tiltsa pillanatfelvétel ügyintéző szkript, és használja a paraméter @creation_script, @creation_script paraméter beállításokat is letilthatja a generációs .sch és .idx script fájlokat. Ezért nem .idx fájl nem elérhető rekonstruálni indexek, a törölt fájlok @creation_script. Telepítése @creation_script paraméter Egyedi szkript nem éri el a célt.

Beállítás replikáció pillanatfelvételt

Képernyő 7. Módosított munka lépései Distribution Agent.

Alkalmazkodik a környezetéhez

Az egyetlen akadálya az optimalizálás áll az a tény, hogy a lépések csepp és újra a munka elosztása szer lépésben csepp, törölje az összes indexet és kulcsait a céltáblák egyetlen előfizetőhöz. Távoli kódok és kulcsok is okozhat lassulását végrehajtását egyidejű kérést, és sérti korlátozásokat kulcsokat ezt az ablakot. Azonban a legtöbb hajlamosak csak olvasható adattároló fő követelmény az, hogy az adatok szinkronizálásához raktár és adatközlést meg kell tenni gyorsan a korlátozott csúcsidőn minimális támogatás egyidejű kérést. Optimization van kialakítva, hogy ezek a feltételek nagyon jól.

3. ábra: A minta végrehajtási tervet a javaslat DELETE.

Miért nem tranzakciós replikáció?

Lehet, hogy valaki egy kérdést, hogy miért nem vette figyelembe a tranzakciós replikáció forgalmazás csak a változásokat a nagy képet célkiszolgálók. Nézzünk egy példát a valós világban, amely érzékelteti az oka a választás. Bár a tranzakciós replikáció, akkor másolja csak azokat a módosításokat, hanem a teljes képet, amely csökkenti a mérete az adatok nagyon erős, a tranzakciós replikáció nem vonatkozik a sok helyzetben. Például egy földrajzi információs rendszer (GIS), ahol dolgozom, támogatja a térinformatikai alkalmazás, amely egyesíti adatokat a terve, hogy a költségek és a rendeltetésszerű használat. Azonban a városi szolgáltatások, ezek az adatok nem jelennek meg. Ehelyett két különböző csoportok mindhárom tanácsok, adó és a föld (valamint az építési osztályon), támogatja az adatokat különböző formátumokban. Teljes képet terve adatok jön Microstation méret? S CAD és az adatok kiértékelését pillanatfelvételek értéke és felhasználhatósága jön egy szöveges behatárolt formátumban. GIS alkalmazása elvárja táblázatos adatokat az SQL Server, és nem a fájlokat, így azt kell importálni a fájlokat egy adatbázisba, átalakítani több forrásból származó adatok egy egységes rendszer és megszüntetésére másolatokat. Továbbá, mivel az a tény, hogy az importált fájlok - tele van a képek helyett egy sor változás és átalakulás - nem 1-1, miközben egy következetes adatok változása nem túl nehéz, és nem éri meg az időt. Töltés, átalakítása és integrációja komplett külső adatok könnyebb és hatékonyabb. Annak érdekében, hogy egy ilyen teljes körű importált adatok több csomópontot is másolja a teljes képet.

Ezen felül, ha az üzemmód törlése az összes adatot a meglévő asztal (TRUNCATE) ( «Az összes törlése jelenlegi adatok (Operator TRUNCATE)») a cikkben párbeszédpanelen egy új szkriptet eltávolítja az idegen kulcs megszorítások a céltáblát előfizetés-alapú, teljesítő sp_Msdropfkreferencingarticle új tárolt eljárást a master adatbázisban. Meg kell szem előtt tartani, hogy az elosztó ügynök nem állítja vissza a távirányítókat, hogy a végén a munka replikációs pillanatkép. Step recreate esetemben visszaállítja az összes korlátozást kulcsok és indexek.

Ossza meg képeit barátaival és kollégáival