Adatok mozgatása kiterjesztett felhőalapú adatbázisok között

A következőre vonatkozik: Azure SQL Database

Ha Ön szolgáltatásfejlesztőként szoftver, és az alkalmazás hirtelen óriási keresleten megy keresztül, alkalmazkodnia kell a növekedéshez. Ezért további adatbázisokat (szegmenseket) kell hozzáadnia. Hogyan terjesztheti újra az adatokat az új adatbázisokba anélkül, hogy megzavarná az adatintegritást? Az egyesítési eszközzel áthelyezheti az adatokat a korlátozott adatbázisokból az új adatbázisokba.

Az egyesítési eszköz Azure-webszolgáltatásként fut. Egy rendszergazda vagy fejlesztő az eszközzel szilánkokat (adatokat egy szegmensből) helyez át a különböző adatbázisok (szegmensek) között. Az eszköz szegmensleképezés-kezeléssel tartja karban a szolgáltatás metaadat-adatbázisát, és biztosítja a konzisztens leképezéseket.

Overview

Letöltés

Microsoft.Azure.SqlDatabase.ElasticScale.Service.SplitMerge

Dokumentáció

  1. Rugalmas adatbázis-egyesítési eszköz oktatóanyaga
  2. Biztonsági konfiguráció felosztásos egyesítése
  3. A felosztási egyesítés biztonsági szempontjai
  4. A szilánkleképezés kezelése
  5. Meglévő adatbázisok migrálása horizontális felskálázáshoz
  6. Rugalmas adatbázis-eszközök
  7. Rugalmas adatbáziseszközökkel kapcsolatos kifejezések

Miért érdemes használni az egyesítési eszközt?

  • Rugalmasság

    Az alkalmazásoknak rugalmasan túl kell nyúlnia az Azure SQL Database-ben található egyetlen adatbázis korlátain. Az eszköz használatával szükség szerint áthelyezheti az adatokat az új adatbázisokba az integritás megőrzése mellett.

  • Felosztás a növekedéshez

    A robbanásveszélyes növekedés kezeléséhez szükséges teljes kapacitás növelése érdekében hozzon létre további kapacitást az adatok skálázásával és az adatok növekményesen több adatbázis közötti elosztásával, amíg a kapacitásigények meg nem teljesülnek. Ez a felosztási funkció első számú példája.

  • Összevonás a zsugorításhoz

    A kapacitás a vállalkozás szezonális jellege miatt zsugorodik. Az eszköz lehetővé teszi, hogy kevesebb skálázási egységre skálázható le, amikor az üzlet lelassul. A rugalmas méretezésű egyesítési szolgáltatás egyesítési funkciója lefedi ezt a követelményt.

  • Hotspotok kezelése szegmensek áthelyezésével

    Adatbázisonként több bérlő esetén a szegmensek szegmensekre való kiosztása kapacitásbeli szűk keresztmetszetekhez vezethet egyes szegmenseken. Ehhez újra kell osztania a szegmenseket, vagy át kell áthelyeznie az elfoglalt szegmenseket új vagy kevésbé kihasznált szegmensekbe.

Fogalmak és főbb funkciók

  • Ügyfél által üzemeltetett szolgáltatások

    A felosztási egyesítés az ügyfél által üzemeltetett szolgáltatásként lesz kézbesítve. A szolgáltatást a Microsoft Azure-előfizetésben kell üzembe helyeznie és üzemeltetnie. A NuGet-ből letöltött csomag tartalmaz egy konfigurációs sablont, amely kiegészíti az adott üzembe helyezéssel kapcsolatos információkat. Részletekért tekintse meg a felosztásos egyesítési oktatóanyagot . Mivel a szolgáltatás az Azure-előfizetésében fut, a szolgáltatás legtöbb biztonsági aspektusát szabályozhatja és konfigurálhatja. Az alapértelmezett sablon tartalmazza a TLS konfigurálásának, a tanúsítványalapú ügyfélhitelesítésnek, a tárolt hitelesítő adatok titkosításának, a DoS-védelemnek és az IP-korlátozásoknak a beállítását. A biztonsági szempontokról a következő dokumentum felosztásos egyesítés biztonsági konfigurációjában talál további információt.

    Az alapértelmezett üzembe helyezett szolgáltatás egy feldolgozóval és egy webes szerepkörrel fut. Mindegyik az A1 virtuális gép méretét használja az Azure Cloud Servicesben. Bár ezeket a beállításokat nem módosíthatja a csomag telepítésekor, a futó felhőszolgáltatásban (az Azure Portalon keresztül) végzett sikeres üzembe helyezés után módosíthatja őket. Vegye figyelembe, hogy a feldolgozói szerepkört technikai okokból nem lehet több példányra konfigurálni.

  • Szegmenstérkép-integráció

    A felosztási egyesítési szolgáltatás az alkalmazás szegmenstérképét használja. Ha az egyesítési szolgáltatást tartományok felosztására vagy egyesítésére, illetve szegmensek közötti áthelyezésre használja, a szolgáltatás automatikusan naprakészen tartja a szegmensleképezést. Ehhez a szolgáltatás csatlakozik az alkalmazás szegmenstérkép-kezelő adatbázisához, és a kérelmek felosztása/egyesítése/áthelyezése során megtartja a tartományok és a leképezések állapotát. Ez biztosítja, hogy a szegmenstérkép mindig naprakész nézetet jelenítsen meg a felosztási egyesítési műveletek végrehajtásakor. A felosztási, egyesítési és szilánkmozgatási műveletek úgy implementálódnak, hogy egy köteget helyeznek át a forrás szegmensből a cél szegmensbe. A szegmensek áthelyezési művelete során az aktuális köteghez tartozó szegmensek offlineként vannak megjelölve a szegmenstérképen, és nem érhetők el adatfüggő útválasztási kapcsolatokhoz az Open Csatlakozás ionForKey API használatával.

  • Konzisztens szegmenskapcsolatok

    Amikor az adatáthelyezés egy új szegmensköteghez indul el, a szegmenstérkép által biztosított adatfüggő útválasztási kapcsolatok a szegmenst tároló szegmenshez megszakadnak, és a szegmenstérkép API-k és a szegmensek közötti későbbi kapcsolatok le lesznek tiltva, miközben az adatáthelyezés folyamatban van az inkonzisztenciák elkerülése érdekében. Csatlakozás ugyanazon a szegmensen lévő más szegmensekre való átirányítások is el lesznek végezve, de az újrapróbálkozások során azonnal ismét sikeresek lesznek. A köteg áthelyezése után a rendszer ismét online megjelöli a szegmenseket a cél szegmenshez, és a forrásadatok törlődnek a forrás szegmensből. A szolgáltatás végigvezeti ezeket a lépéseket minden kötegnél, amíg az összes szegmenst át nem helyezik. Ez a teljes felosztási/egyesítési/áthelyezési művelet során számos kapcsolat-törlési műveletet eredményez.

  • A szegmensek rendelkezésre állásának kezelése

    Ha a kapcsolat megszakadását a shardletek aktuális kötegére korlátozza a fentebb tárgyaltak szerint, az elérhetetlenség hatókörét egyszerre egy szegmenskötegre korlátozza. Ezt előnyben részesítik az olyan megközelítésekkel szemben, ahol a teljes szegmens offline marad az összes szegmense számára egy felosztási vagy egyesítési művelet során. Egy köteg mérete, amely az egy adott időpontban áthelyezendő különálló szegmensek számaként van definiálva, egy konfigurációs paraméter. Minden egyes felosztási és egyesítési művelethez meghatározható az alkalmazás rendelkezésre állási és teljesítményigényétől függően. Vegye figyelembe, hogy a szegmenstérképen zárolt tartomány nagyobb lehet, mint a megadott kötegméret. Ennek az az oka, hogy a szolgáltatás úgy választja ki a tartományméretet, hogy az adatokban lévő szegmenselési kulcsértékek tényleges száma hozzávetőlegesen megegyezik a köteg méretével. Ez különösen a ritkán kitöltött horizontális skálázási kulcsok esetében fontos.

  • Metaadat-tároló

    A felosztási egyesítési szolgáltatás egy adatbázist használ annak állapotának fenntartásához és a naplók kérésfeldolgozás során való megőrzéséhez. A felhasználó létrehozza ezt az adatbázist az előfizetésében, és a szolgáltatás üzembe helyezéséhez szükséges konfigurációs fájlban biztosítja a kapcsolati sztring. Rendszergazda a felhasználó szervezetének felhasználói is csatlakozhatnak ehhez az adatbázishoz a kérések előrehaladásának áttekintéséhez és a lehetséges hibákra vonatkozó részletes információk vizsgálatához.

  • Horizontális skálázási tudatosság

    Az egyesítési szolgáltatás megkülönbözteti a (1) szegmenses táblákat, a (2) referenciatáblákat és a (3) normál táblákat. Egy felosztási/egyesítési/áthelyezési művelet szemantikája a használt tábla típusától függ, és a következőképpen van definiálva:

    • Szilánkos táblák

      A felosztási, egyesítési és áthelyezési műveletek a forrásból a cél szegmensbe helyezik át a szegmenseket. Az általános kérés sikeres befejezése után ezek a szegmensek már nem találhatók a forrásban. Vegye figyelembe, hogy a céltábláknak a cél szegmensen kell lenniük, és nem tartalmazhatnak adatokat a céltartományban a művelet feldolgozása előtt.

    • Referenciatáblák

      Referenciatáblák esetén a felosztási, egyesítési és áthelyezési műveletek a forrásból a cél szegmensbe másolja az adatokat. Vegye figyelembe azonban, hogy egy adott tábla célszilánkján nem történik változás, ha a céltáblában már szerepel sor. A táblázatnak üresnek kell lennie a referenciatábla másolási műveletének feldolgozásához.

    • Egyéb táblák

      A felosztási és egyesítési művelet forrásán vagy célján más táblák is lehetnek. A felosztási egyesítési szolgáltatás figyelmen kívül hagyja ezeket a táblákat minden adatáthelyezési vagy másolási művelet esetében. Vegye figyelembe azonban, hogy korlátozások esetén zavarhatják ezeket a műveleteket.

      A hivatkozási és a szilánkos táblákra vonatkozó információkat a SchemaInfo szegmenstérképEN található API-k biztosítják. Az alábbi példa az api-k használatát mutatja be egy adott szegmenstérkép-kezelő objektumon:

      // Create the schema annotations
      SchemaInfo schemaInfo = new SchemaInfo();
      
      // reference tables
      schemaInfo.Add(new ReferenceTableInfo("dbo", "region"));
      schemaInfo.Add(new ReferenceTableInfo("dbo", "nation"));
      
      // sharded tables
      schemaInfo.Add(new ShardedTableInfo("dbo", "customer", "C_CUSTKEY"));
      schemaInfo.Add(new ShardedTableInfo("dbo", "orders", "O_CUSTKEY"));
      
      // publish
      smm.GetSchemaInfoCollection().Add(Configuration.ShardMapName, schemaInfo);
      

      A táblák regionnation referenciatáblákként vannak definiálva, és felosztási/egyesítési/áthelyezési műveletekkel lesznek másolva. customer és orders viszont szegmenses táblákként vannak definiálva. C_CUSTKEYO_CUSTKEY skálázási kulcsként szolgál.

  • Hivatkozási integritás

    A felosztási egyesítési szolgáltatás elemzi a táblák közötti függőségeket, és külső kulcs-elsődleges kulcs kapcsolatok használatával szakaszozza a referenciatáblák és szegmensek áthelyezésére szolgáló műveleteket. A referenciatáblák általában először függőségi sorrendben vannak átmásolva, majd a rendszer a szegmenseket az egyes kötegeken belüli függőségek sorrendjében másolja. Erre azért van szükség, hogy az új adatok érkezésekor a cél szegmens FK-PK korlátozásai teljesülhessenek.

  • Szegmenstérkép konzisztenciája és végleges befejezése

    Hibák esetén a felosztási egyesítési szolgáltatás a leállások után folytatja a műveleteket, és a folyamatban lévő kérések teljesítésére törekszik. Előfordulhatnak azonban helyreállíthatatlan helyzetek, például amikor a célszilánk elveszik vagy a javításon túl sérül. Ilyen körülmények között előfordulhat, hogy egyes áthelyezendő szegmensek továbbra is a forrás szegmensen találhatók. A szolgáltatás biztosítja, hogy a szegmensleképezések csak a szükséges adatok célba másolása után legyenek frissítve. A szegmensek csak akkor törlődnek a forrásból, ha az összes adatukat átmásolták a célba, és a megfelelő leképezések sikeresen frissültek. A törlési művelet a háttérben történik, miközben a tartomány már online állapotban van a cél szegmensen. Az egyesítési szolgáltatás mindig biztosítja a szegmenstérképen tárolt leképezések helyességét.

A felosztásos egyesítés felhasználói felülete

Az egyesítési szolgáltatáscsomag egy feldolgozói szerepkört és egy webes szerepkört tartalmaz. A webes szerepkörrel interaktív módon küldheti el a felosztásos egyesítési kérelmeket. A felhasználói felület fő összetevői a következők:

  • Művelet típusa

    A művelet típusa egy választógomb, amely szabályozza a szolgáltatás által a kéréshez végrehajtott műveletet. Választhat a felosztási, egyesítési és áthelyezési forgatókönyvek közül. A korábban elküldött műveletet is megszakíthatja. Használhat felosztási, egyesítési és áthelyezési kérelmeket a tartományszilánk-térképekhez. A szegmenstérképek listázása csak az áthelyezési műveleteket támogatja.

  • Szegmenstérkép

    A kérelemparaméterek következő szakasza a szegmenstérképre és a szegmenstérképet üzemeltető adatbázisra vonatkozó információkat ismerteti. Meg kell adnia a szegmenstérképet futtató kiszolgáló és adatbázis nevét, a szegmenstérkép-adatbázishoz való csatlakozáshoz szükséges hitelesítő adatokat, végül pedig a szegmenstérkép nevét. A művelet jelenleg csak egyetlen hitelesítő adatot fogad el. Ezeknek a hitelesítő adatoknak megfelelő engedélyekkel kell rendelkezniük a szegmenstérkép és a szegmensek felhasználói adatainak módosításához.

  • Forrástartomány (felosztás és egyesítés)

    A felosztási és egyesítési művelet alacsony és magas kulcsával dolgozza fel a tartományt. Ha kötetlen magas kulcsértékkel rendelkező műveletet szeretne megadni, jelölje be a "Magas kulcs maximális" jelölőnégyzetet, és hagyja üresen a magas kulcs mezőt. A megadott tartománykulcs-értékeknek nem kell pontosan egyeznie egy leképezéssel és annak határaival a szegmenstérképen. Ha nem ad meg tartományhatárokat, a szolgáltatás automatikusan a legközelebbi tartományt fogja következtetni. A GetMappings.ps1 PowerShell-szkripttel lekérheti az aktuális leképezéseket egy adott szegmenstérképen.

  • Forrás felosztása (felosztás)

    Felosztási műveletek esetén adja meg a forrástartomány felosztási pontjának megadását. Ezt úgy teheti meg, hogy megadja a szegmenskulcsot, ahol a felosztást el szeretné végezni. A választógombbal megadhatja, hogy a tartomány alsó része (az osztott kulcs kivételével) mozogni szeretne-e, vagy a felső rész mozgatását (beleértve az osztott kulcsot is).

  • Forráshardlet (áthelyezés)

    Az áthelyezési műveletek eltérnek a felosztási vagy egyesítési műveletektől, mivel nem igényelnek tartományt a forrás leírásához. Az áthelyezés forrását egyszerűen azonosítja az áthelyezni kívánt horizontális skálázási kulcs értéke.

  • Cél szegmens (felosztás)

    Miután megadta a felosztási művelet forrására vonatkozó információkat, meg kell határoznia, hogy hová szeretné másolni az adatokat a cél kiszolgálójának és adatbázisának nevével.

  • Céltartomány (egyesítés)

    Az egyesítési műveletek egy meglévő szegmensbe helyezik át a szegmenseket. A meglévő szegmens azonosításához meg kell adnia annak a meglévő tartománynak a tartományhatárait, amelyekkel egyesíteni szeretne.

  • Köteg mérete

    A kötegméret szabályozza azoknak a szegmenseknek a számát, amelyek az adatáthelyezés során egyszerre offline állapotba kerülnek. Ez egy egész szám, amelyben kisebb értékeket használhat, ha érzékeny a szegmensek hosszú állásidejű időszakára. A nagyobb értékek növelik az adott szegmens offline állapotának idejét, de javíthatja a teljesítményt.

  • Műveletazonosító (mégse)

    Ha már nincs szükség egy folyamatban lévő műveletre, a művelet megszakításához adja meg a művelet azonosítóját ebben a mezőben. A műveletazonosítót lekérheti a kérelem állapottáblájából (lásd a 8.1. szakaszt), vagy abból a webböngészőből, ahol a kérelmet elküldte.

Követelmények és korlátozások

Az egyesítési szolgáltatás jelenlegi implementációjára a következő követelmények és korlátozások vonatkoznak:

  • A szegmenseknek létezniük kell, és regisztrálniuk kell őket a szegmenstérképen, mielőtt a szegmenseken felosztási egyesítési műveletet végre lehetne hajtani.
  • A szolgáltatás nem hoz létre automatikusan táblákat vagy más adatbázis-objektumokat a műveletei részeként. Ez azt jelenti, hogy az összes szegmenses tábla és referenciatábla sémájának léteznie kell a célszilánkon a felosztási/egyesítési/áthelyezési művelet előtt. A szegmenses tábláknak különösen üresnek kell lenniük abban a tartományban, ahol az új szegmenseket felosztási/egyesítési/áthelyezési művelettel kell hozzáadni. Ellenkező esetben a művelet nem fogja elvégezni a cél szegmens kezdeti konzisztencia-ellenőrzését. Azt is vegye figyelembe, hogy a referenciaadatok másolása csak akkor történik meg, ha a referenciatábla üres, és hogy a referenciatáblákon nem áll fenn konzisztenciagarancia más egyidejű írási műveletekre vonatkozóan. Javasoljuk, hogy a felosztási/egyesítési műveletek futtatásakor semmilyen más írási művelet ne módosítsa a referenciatáblákat.
  • A szolgáltatás egy egyedi index vagy kulcs által létrehozott soridentitásra támaszkodik, amely magában foglalja a horizontális skálázási kulcsot a nagy szegmensek teljesítményének és megbízhatóságának javítása érdekében. Ez lehetővé teszi, hogy a szolgáltatás még finomabb részletességgel helyezze át az adatokat, mint a horizontális kulcsérték. Ez segít csökkenteni a művelet során szükséges naplóterület és zárolások maximális mennyiségét. Érdemes lehet egyedi indexet vagy elsődleges kulcsot létrehozni, beleértve az adott táblán lévő horizontális skálázási kulcsot is, ha a táblát felosztási/egyesítési/áthelyezési kérésekkel szeretné használni. Teljesítménybeli okokból a horizontális skálázási kulcsnak a kulcs vagy az index első oszlopának kell lennie.
  • A kérésfeldolgozás során előfordulhat, hogy egyes szegmensadatok a forráson és a cél szegmensen is megtalálhatók. Erre azért van szükség, hogy védelmet nyújtsunk a szilánkok mozgása során fellépő hibák ellen. A szegmenstérkép felosztásos egyesítésének integrálása biztosítja, hogy az adatfüggő útválasztási API-kon keresztül a szegmenstérképen az Open Csatlakozás ionForKey metódussal történő kapcsolatok ne lássanak inkonzisztens köztes állapotokat. Ha azonban az Open Csatlakozás ionForKey metódus használata nélkül csatlakozik a forráshoz vagy a cél szegmensekhez, inkonzisztens köztes állapotok is megjelenhetnek a felosztási/egyesítési/áthelyezési kérelmek végrehajtásakor. Ezek a kapcsolatok részleges vagy ismétlődő eredményeket jeleníthetnek meg a kapcsolat alapjául szolgáló időzítéstől vagy szegmenstől függően. Ez a korlátozás jelenleg magában foglalja a rugalmas skálázású több szegmenses lekérdezések által létrehozott kapcsolatokat.
  • Az egyesítési szolgáltatás metaadat-adatbázisát nem szabad megosztani a különböző szerepkörök között. Az előkészítésben futó felosztási egyesítési szolgáltatás szerepkörének például az éles szerepkörhöz képest más metaadat-adatbázisra kell mutatnia.

Billing

A felosztási egyesítési szolgáltatás felhőszolgáltatásként fut a Microsoft Azure-előfizetésében. Ezért a felhőszolgáltatások díjai a szolgáltatás példányára vonatkoznak. Ha nem hajt végre gyakran felosztási/egyesítési/áthelyezési műveleteket, javasoljuk, hogy törölje a felosztott egyesítésű felhőszolgáltatást. Ez költségmegtakarítást eredményez a felhőszolgáltatás-példányok futtatásához vagy üzembe helyezéséhez. Újra üzembe helyezheti és elindíthatja a könnyen futtatható konfigurációt, amikor felosztási vagy egyesítési műveleteket kell végrehajtania.

Figyelés

Állapottáblák

Az egyesítési szolgáltatás a Metaadattár-adatbázisban a RequestStatus táblát biztosítja a befejezett és a folyamatban lévő kérések figyeléséhez. A táblázat felsorolja az egyes felosztási egyesítési kérelmek sorait, amelyeket a felosztási egyesítési szolgáltatásnak ezen példányához küldtek el. Az egyes kérésekhez a következő információkat adja meg:

  • Időbélyeg

    A kérés indításának időpontja és dátuma.

  • Műveletazonosító

    A kérést egyedileg azonosító GUID. Ez a kérés arra is használható, hogy megszakítsa a műveletet, amíg még folyamatban van.

  • Állapot

    A kérés aktuális állapota. A folyamatban lévő kérések esetében a kérelem aktuális fázisát is felsorolja.

  • CancelRequest

    Egy jelző, amely jelzi, hogy a kérést visszavonták-e.

  • Haladás

    A művelet befejezésének százalékos becslése. Az 50 érték azt jelzi, hogy a művelet körülbelül 50%.

  • Részletek

    Egy XML-érték, amely részletesebb folyamatjelentést biztosít. A folyamatjelentés rendszeres időközönként frissül, mivel a rendszer sorokat másol a forrásból a célba. Hibák vagy kivételek esetén ez az oszlop részletesebb információkat is tartalmaz a hibáról.

Azure Diagnostics

A felosztási egyesítési szolgáltatás az Azure SDK 2.5-alapú Azure Diagnosticst használja a monitorozáshoz és a diagnosztikához. A diagnosztikai konfigurációt az alábbiak szerint szabályozhatja: A diagnosztika engedélyezése az Azure Cloud Servicesben és a virtuális gépeken. A letöltési csomag két diagnosztikai konfigurációt tartalmaz: egyet a webes szerepkörhöz, egyet pedig a feldolgozói szerepkörhöz. Tartalmazza a teljesítményszámlálók, az IIS-naplók, a Windows-eseménynaplók és a split-merge alkalmazás eseménynaplóinak naplózására vonatkozó definíciókat.

Diagnosztika üzembe helyezése

Megjegyzés:

Ez a cikk az Azure Az PowerShell-modult használja, amely az Azure-ral való interakcióhoz ajánlott PowerShell-modul. Az Az PowerShell-modul használatának megkezdéséhez lásd az Azure PowerShell telepítését ismertető szakaszt. To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

Fontos

A PowerShell Azure Resource Manager modul továbbra is támogatott, de minden jövőbeli fejlesztés az Az.Sql modulhoz tartozik. Ezekhez a parancsmagokhoz lásd: AzureRM.Sql. Az Az modulban és az AzureRm-modulokban található parancsok argumentumai lényegében azonosak.

Ha a NuGet-csomag által biztosított webes és feldolgozói szerepkörök diagnosztikai konfigurációjának használatával szeretné engedélyezni a monitorozást és a diagnosztikát, futtassa a következő parancsokat az Azure PowerShell használatával:

$storageName = "<azureStorageAccount>"
$key = "<azureStorageAccountKey"
$storageContext = New-AzStorageContext -StorageAccountName $storageName -StorageAccountKey $key
$configPath = "<filePath>\SplitMergeWebContent.diagnostics.xml"
$serviceName = "<cloudServiceName>"

Set-AzureServiceDiagnosticsExtension -StorageContext $storageContext `
    -DiagnosticsConfigurationPath $configPath -ServiceName $serviceName `
    -Slot Production -Role "SplitMergeWeb"

Set-AzureServiceDiagnosticsExtension -StorageContext $storageContext `
    -DiagnosticsConfigurationPath $configPath -ServiceName $serviceName `
    -Slot Production -Role "SplitMergeWorker"

A diagnosztikai beállítások konfigurálásáról és üzembe helyezéséről itt talál további információt: A diagnosztika engedélyezése az Azure Cloud Servicesben és a virtuális gépeken.

Diagnosztika lekérése

A diagnosztika egyszerűen elérhető a Visual Studio Server Explorerből a Kiszolgálókezelő fa Azure-részén. Nyisson meg egy Visual Studio-példányt, és a menüsávon kattintson a Nézet és a Kiszolgálókezelő elemre. Az Azure-előfizetéshez való csatlakozáshoz kattintson az Azure ikonra. Ezután lépjen az Azure – Storage –>>><your storage account> Táblák –> WADLogsTable elemre. További információ: Kiszolgálókezelő.

WADLogsTable

A fenti ábrán kiemelt WADLogsTable a split-merge szolgáltatás alkalmazásnaplójának részletes eseményeit tartalmazza. Vegye figyelembe, hogy a letöltött csomag alapértelmezett konfigurációja éles üzembe helyezésre van kapcsolva. Ezért a naplók és számlálók szolgáltatáspéldányokból való lekérésének időtartama nagy (5 perc). Teszteléshez és fejlesztéshez csökkentse az intervallumot a webes diagnosztikai beállítások vagy a feldolgozói szerepkör igényeinek megfelelően történő beállításával. Kattintson a jobb gombbal a Szerepkörre a Visual Studio Server Explorerben (lásd fent), majd módosítsa az átviteli időszakot a Diagnosztikai konfiguráció beállításai párbeszédpanelen:

Configuration

Teljesítmény

Általában jobb teljesítményt kell elvárni a magasabb, nagyobb teljesítményű szolgáltatási szintektől. A magasabb szolgáltatási szintek magasabb I/O-, CPU- és memóriafoglalásai a felosztott egyesítési szolgáltatás által használt tömeges másolási és törlési műveletek előnyeit élvezik. Ezért csak az adatbázisok szolgáltatási szintjét növelje egy meghatározott, korlátozott ideig.

A szolgáltatás a normál műveletek részeként érvényesítési lekérdezéseket is végrehajt. Ezek az érvényesítési lekérdezések ellenőrzik, hogy nincsenek-e váratlan adatok a céltartományban, és biztosítják, hogy minden felosztási/egyesítési/áthelyezési művelet konzisztens állapotból induljon ki. Ezek a lekérdezések mindegyike a művelet hatóköre és a kérelemdefiníció részeként megadott kötegméret által meghatározott skálázási kulcstartományokon dolgozik. Ezek a lekérdezések akkor működnek a legjobban, ha egy olyan index van jelen, amely vezető oszlopként a horizontális skálázási kulcsot tartalmazza.

Emellett egy egyediség tulajdonság, amelynek első oszlopaként a szegmenskulcs szolgál, lehetővé teszi a szolgáltatás számára, hogy olyan optimalizált megközelítést használjon, amely korlátozza az erőforrás-felhasználást a naplóterület és a memória tekintetében. Ez az egyediség tulajdonság a nagy adatméretek (általában 1 GB feletti) mozgatásához szükséges.

A frissítés lépései

  1. Kövesse a felosztásos egyesítési szolgáltatás üzembe helyezésének lépéseit.
  2. Módosítsa a felhőszolgáltatás konfigurációs fájlját a felosztásos egyesítéses üzembe helyezéshez, hogy az tükrözze az új konfigurációs paramétereket. Egy új kötelező paraméter a titkosításhoz használt tanúsítvány adatai. Ennek egy egyszerű módja, ha összehasonlítja a letöltésből származó új konfigurációs sablonfájlt a meglévő konfigurációval. Győződjön meg arról, hogy megadja a webes és DataEncryptionPrimary a feldolgozói szerepkör beállításait DataEncryptionPrimaryCertificateThumbprint is.
  3. Mielőtt üzembe helyeznénk a frissítést az Azure-ban, győződjön meg arról, hogy az összes jelenleg futó felosztásos egyesítési művelet befejeződött. Ezt egyszerűen megteheti úgy, hogy lekérdezi a RequestStatus és a PendingWorkflows táblákat az osztott egyesítésű metaadat-adatbázisban a folyamatban lévő kérelmekhez.
  4. Frissítse meglévő felhőszolgáltatás-üzembe helyezését az Azure-előfizetés felosztásos egyesítéséhez az új csomaggal és a frissített szolgáltatáskonfigurációs fájllal.

A frissítéshez nem kell új metaadat-adatbázist kiépítenie a felosztásos egyesítéshez. Az új verzió automatikusan frissíti a meglévő metaadat-adatbázist az új verzióra.

Ajánlott eljárások és hibaelhárítás

  • Definiáljon egy tesztbérlelőt, és gyakorolja a legfontosabb felosztási/egyesítési/áthelyezési műveleteket a tesztelési bérlővel több szegmensben. Győződjön meg arról, hogy az összes metaadat helyesen van definiálva a szegmenstérképen, és hogy a műveletek nem sértik a korlátozásokat vagy az idegen kulcsokat.
  • A tesztelési bérlő adatméretét a legnagyobb bérlő maximális adatmérete felett kell tartani, hogy ne tapasztaljon adatmérettel kapcsolatos problémákat. Ez segít felmérni, hogy mennyi ideig tart egy bérlő áthelyezése.
  • Győződjön meg arról, hogy a séma engedélyezi a törlést. A felosztási egyesítési szolgáltatás megköveteli az adatok eltávolítását a forrás szegmensből, miután az adatok sikeresen át lettek másolva a célba. A törlési eseményindítók például megakadályozhatják, hogy a szolgáltatás törölje a forrás adatait, és a műveletek meghiúsulhatnak.
  • A horizontális skálázási kulcsnak az elsődleges kulcs vagy az egyedi indexdefiníció első oszlopának kell lennie. Ez biztosítja a legjobb teljesítményt a felosztási vagy egyesítési érvényesítési lekérdezések, valamint a tényleges adatáthelyezési és törlési műveletek esetében, amelyek mindig skálázási kulcstartományokon működnek.
  • A felosztási egyesítési szolgáltatás rendezése abban a régióban és adatközpontban, ahol az adatbázisok találhatók.

További információforrások

Még nem használ rugalmas adatbázis-eszközöket? Tekintse meg az első lépések útmutatót. Ha kérdése van, lépjen kapcsolatba velünk az SQL Database-hez készült Microsoft Q&A kérdésoldalon, és a funkciókérésekért, adjon hozzá új ötleteket, vagy szavazzon a meglévő ötletekre az SQL Database visszajelzési fórumában.