Horizontális felskálázás az Azure SQL Database segítségével
A következőre vonatkozik: Azure SQL Database
Az Azure SQL Database-ben egyszerűen méretezheti az adatbázisokat az Elastic Database-eszközökkel . Ezek az eszközök és funkciók lehetővé teszik, hogy az Azure SQL Database adatbázis-erőforrásaival olyan megoldásokat hozzon létre a tranzakciós számítási feladatokhoz, különösen a Szoftver mint szolgáltatás (SaaS) alkalmazásokhoz. A rugalmas adatbázis funkciói a következőkből állnak:
- Rugalmas adatbázis-ügyfélkódtár: Az ügyfélkódtár egy olyan szolgáltatás, amely lehetővé teszi horizontális adatbázisok létrehozását és karbantartását. Tekintse meg az Elastic Database-eszközök használatának első lépéseit.
- Rugalmas adatbázis-egyesítési eszköz: adatok áthelyezése szegmenses adatbázisok között. Ez az eszköz akkor hasznos, ha adatokat helyez át több-bérlős adatbázisból egy egybérlős adatbázisba (vagy fordítva). Lásd: Elastic Database Split-Merge tool tutorial.
- Rugalmas adatbázis-feladatok (előzetes verzió): A feladatok segítségével nagy számú adatbázist kezelhet az Azure SQL Database-ben. Egyszerűen hajthat végre felügyeleti műveleteket, például sémamódosításokat, hitelesítő adatok kezelését, referenciaadat-frissítéseket, teljesítményadatok gyűjtését vagy bérlői (ügyfél-) telemetriai gyűjteményt feladatok használatával.
- Rugalmas adatbázis-lekérdezés (előzetes verzió): Több adatbázisra kiterjedő Transact-SQL-lekérdezés futtatását teszi lehetővé. Ez lehetővé teszi az olyan jelentéskészítő eszközökhöz való kapcsolódást, mint az Excel, a Power BI, a Tableau stb.
- Rugalmas tranzakciók: Ezzel a funkcióval több adatbázisra kiterjedő tranzakciókat futtathat. Rugalmas adatbázis-tranzakciók érhetők el az ADO .NET-et használó .NET-alkalmazásokhoz, és integrálhatók a jól ismert programozási felülettel a System.Transaction osztályok használatával.
Az alábbi ábrán egy olyan architektúra látható, amely az Elastic Database funkcióit tartalmazza egy adatbázisgyűjteményhez viszonyítva.
Ebben a ábrában az adatbázis színei sémákat jelölnek. Az azonos színű adatbázisok ugyanazt a sémát használják.
- Az Azure-ban több SQL-adatbázist üzemeltetnek horizontális skálázási architektúra használatával.
- A rugalmas adatbázis ügyfélkódtára egy szegmenskészlet kezelésére szolgál.
- Az adatbázisok egy részhalmaza rugalmas készletbe kerül. (Lásd: Mi az a készlet?).
- Egy rugalmas adatbázis-feladat ütemezett vagy alkalmi T-SQL-szkripteket futtat az összes adatbázison.
- A felosztási egyesítési eszköz az adatok egyik szegmensből a másikba való áthelyezésére szolgál.
- A Rugalmas adatbázis lekérdezéssel olyan lekérdezést írhat, amely a szegmenskészlet összes adatbázisára kiterjed.
- A rugalmas tranzakciók lehetővé teszik több adatbázisra kiterjedő tranzakciók futtatását.
Miért érdemes használni az eszközöket?
A felhőalkalmazások rugalmasságának és skálázásának elérése a virtuális gépek és a blobtárolók számára egyszerű volt – egyszerűen egységeket adhat hozzá vagy vonhat ki, vagy növelheti a teljesítményt. A relációs adatbázisok állapotalapú adatfeldolgozása azonban továbbra is kihívást jelent. Az alábbi forgatókönyvekben felmerülő kihívások:
- A számítási feladat relációs adatbázis-részének kapacitásának növekedése és zsugorítása.
- Olyan hotspotok kezelése, amelyek az adatok egy adott részhalmazát érinthetik – például egy foglalt végfelhasználót (bérlőt).
Az ilyen forgatókönyveket hagyományosan az alkalmazás támogatásához nagyobb méretű kiszolgálókba való befektetéssel oldották meg. Ez a lehetőség azonban korlátozott a felhőben, ahol minden feldolgozás előre meghatározott áruhardveren történik. Ehelyett az adatok és a feldolgozás elosztása számos azonos strukturált adatbázis között (a horizontális felskálázási minta, más néven horizontális felskálázás) alternatívát kínál a hagyományos vertikális felskálázási megközelítésekkel szemben mind a költségek, mind a rugalmasság szempontjából.
Vízszintes és függőleges skálázás
Az alábbi ábra a skálázás vízszintes és függőleges dimenzióit mutatja be, amelyek a rugalmas adatbázisok méretezésének alapvető módjai.
A horizontális skálázás az adatbázisok hozzáadását vagy eltávolítását jelenti a kapacitás vagy az általános teljesítmény módosítása érdekében, más néven "horizontális felskálázás". A horizontális skálázás megvalósításának gyakori módja a horizontális horizontális skálázás, amelyben az adatok azonos strukturált adatbázisok gyűjteményei között particionálva lesznek.
A vertikális skálázás az egyes adatbázisok számítási méretének növelését vagy csökkentését jelenti, más néven "vertikális felskálázást".
A legtöbb felhőalapú adatbázis-alkalmazás a két stratégia kombinációját használja. A szoftver mint szolgáltatásalkalmazás például horizontális skálázást használhat az új végfelhasználók kiépítéséhez és a vertikális skálázáshoz, hogy lehetővé tegye az egyes végfelhasználók adatbázisának az erőforrások igény szerinti növelését vagy zsugorítását a számítási feladat számára.
- A horizontális skálázás kezelése az Elastic Database ügyfélkódtárával történik.
- A vertikális skálázás az Azure PowerShell-parancsmagok használatával történik a szolgáltatási szint módosításához vagy az adatbázisok rugalmas készletbe helyezéséhez.
Sharding
A horizontális méretezéssel nagy mennyiségű azonos struktúrájú adatot oszthat el több független adatbázis között. Különösen népszerű a felhőfejlesztők számára, akik szolgáltatásként (SAAS) kínálják a végfelhasználókat vagy a vállalkozásokat. Ezeket a végfelhasználókat gyakran "bérlőknek" nevezik. Több okból is szükség lehet horizontális skálázásra:
- Az adatok teljes mennyisége túl nagy ahhoz, hogy beleférjen az egyes adatbázisok korlátaiba
- A teljes számítási feladat tranzakciós átviteli sebessége meghaladja az egyes adatbázisok képességeit
- A bérlők fizikai elkülönítést igényelhetnek egymástól, ezért minden bérlőhöz külön adatbázisokra van szükség
- Az adatbázisok különböző szakaszainak megfelelőségi, teljesítmény- vagy geopolitikai okokból különböző földrajzi helyeken kell elhelyezkedniük.
Más esetekben, például az elosztott eszközökről történő adatbetöltés esetén a horizontális skálázás használható az ideiglenesen rendszerezett adatbázisok halmazának kitöltésére. Egy külön adatbázis például minden napra vagy hétre dedikáltan használható. Ebben az esetben a horizontális skálázási kulcs lehet a dátumot (a szegmenses táblák összes sorában megtalálható) egész szám, és a dátumtartomány adatait lekért lekérdezéseket az alkalmazásnak a szóban forgó tartományt lefedő adatbázisok részhalmazához kell irányítania.
A horizontális skálázás akkor működik a legjobban, ha egy alkalmazás minden tranzakciója egy szegmenskulcs egyetlen értékére korlátozható. Ez biztosítja, hogy az összes tranzakció egy adott adatbázishoz legyen helyi.
Több-bérlős és egybérlős
Egyes alkalmazások a legegyszerűbb módszert használják arra, hogy minden bérlőhöz külön adatbázist hozzanak létre. Ez a megközelítés az egyetlen bérlői horizontális skálázási minta , amely elkülönítést, biztonsági mentési/visszaállítási képességet és erőforrás-skálázást biztosít a bérlő részletességében. Az önálló bérlői horizontális skálázás esetén minden adatbázis egy adott bérlőazonosító-értékkel (vagy ügyfélkulcs-értékkel) van társítva, de ennek a kulcsnak nem kell mindig az adatokban szerepelnie. Az alkalmazás feladata, hogy az egyes kéréseket a megfelelő adatbázishoz irányítsa , és ezt az ügyfélkódtár egyszerűsítheti.
Más forgatókönyvek több bérlőt csomagolnak össze adatbázisokba ahelyett, hogy külön adatbázisokba osztanák őket. Ez a minta egy tipikus több-bérlős horizontális skálázási minta , amelyet az is okozhat, hogy egy alkalmazás nagy számú kis bérlőt kezel. Több-bérlős skálázás esetén az adatbázistáblák sorai mind úgy vannak kialakítva, hogy a bérlőazonosítót vagy a horizontális skálázási kulcsot azonosító kulcsot hordozzák. Az alkalmazásszint feladata a bérlői kérések átirányítása a megfelelő adatbázisba, és ezt a rugalmas adatbázis-ügyfélkódtár is támogatja. Emellett a sorszintű biztonság segítségével szűrheti, hogy az egyes bérlők mely sorokat érhetik el – a részletekért lásd a rugalmas adatbáziseszközökkel és sorszintű biztonsággal rendelkező több-bérlős alkalmazásokat. A több-bérlős horizontális skálázási mintával szükség lehet az adatok adatbázisok közötti újraelosztására, és ezt a rugalmas adatbázis-egyesítési eszköz teszi lehetővé. A rugalmas készleteket használó SaaS-alkalmazások szerkezeti kialakításainak alaposabb megismeréséhez olvassa el a Tervminták több-bérlős SaaS-alkalmazásokhoz Azure SQL Database esetén című részt.
Adatok áthelyezése többről egy-bérlős adatbázisokra
SaaS-alkalmazások létrehozásakor általában a szoftver próbaverzióját kínálják a leendő ügyfeleknek. Ebben az esetben költséghatékony, ha több-bérlős adatbázist használ az adatokhoz. Ha azonban egy potenciális ügyfél ügyfél lesz, az egybérlős adatbázis jobb, mivel jobb teljesítményt nyújt. Ha az ügyfél a próbaidőszak során hozott létre adatokat, az egyesítési eszközzel helyezze át az adatokat a több-bérlős adatbázisból az új egybérlős adatbázisba.
Megjegyzés:
A több-bérlős adatbázisokból egyetlen bérlőre történő visszaállítás nem lehetséges.
További lépések
Az ügyfélkódtárat bemutató mintaalkalmazásért tekintse meg az Elastic Database-eszközök használatának első lépéseit.
Ha meglévő adatbázisokat szeretne átalakítani az eszközök használatára, tekintse meg a meglévő adatbázisok migrálását a vertikális felskálázáshoz.
A rugalmas készlet jellemzőinek megtekintéséhez tekintse meg a rugalmas készlet ár- és teljesítménybeli szempontjait, vagy hozzon létre egy új készletet rugalmas készletekkel.
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.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: