SQL Server Linux-szolgáltatásokon

Befejeződött

Az SQL Server költségvetés-tulajdonosokra való migrálásának igazolásához segít tudni, hogy az SQL Server mely funkciói nyújthatnak versenyelőnyt a rendszerek számára.

Tegyük fel, hogy a Linuxon futó SQL Server kutatása után biztosítani szeretné, hogy az elérhető jelenlegi funkciók megfeleljenek a Wide World Importers meglévő és jövőbeli adatfeldolgozási követelményeinek.

Itt megismerheti a Linuxon futó SQL Server fő funkcióit.

Teljesítmény

A Linuxon futó SQL Server egy hibrid tranzakciós elemzési (HTAP) megoldással támogatja a gyors tranzakciós átviteli sebesség és a rugalmas elemzés konkurens igényeit. A HTAP az SQL Server néhány alapvető teljesítménytechnológiáját használja:

Memóriabeli online tranzakciófeldolgozás (OLTP)

A memóriaoptimalizált táblák és a tárolt eljárások összevonásával a Wide World Importers jelentős teljesítménynövekedést láthat a tranzakciós táblákon; például az e-kereskedelmi webhely írási és olvasási munkamenetének állapota.

Oszlopcentrikus index

Az SQL Server támogatja a soradatokat és a tömörített oszlopos adatokat is. A tranzakciós táblák olyan oszlopcentrikus indexet is tartalmazhatnak, amelyet a sortár helyett használnak elemzési lekérdezések írásakor. Az oszlopcentrikus indexek használata lehetővé tenné, hogy az aktuális elemzési csomag megőrizze a tranzakciós teljesítményt, miközben valós idejű jelentéskészítési lekérdezéseket futtat az operatív adatokon.

Query Store

A DBA csapata havi teljesítmény-finomhangolási feladatot hajt végre, hogy a megfelelő lekérdezési terveket használhassa. Figyelik a lekérdezési teljesítményt, és visszaállítják a lekérdezési terveket, ahol a végrehajtási tervek változásai hatással vannak a teljesítményre. A csapat emellett a 10 leghosszabb ideig futó lekérdezésről is jelentést készít a fejlesztési érdeklődőnek, és ellenőrzi az erőforrás-zárolásokat. A Lekérdezéstár mindezeket a feladatokat támogatja, és a Transact-SQL használatával engedélyezheti:

ALTER DATABASE <database name>
SET QUERY_STORE (OPERATION_MODE = READ_WRITE);

Automatikus hangolás és intelligens lekérdezésfeldolgozás

A lekérdezéstár engedélyezése után engedélyezheti az automatikus tervválasztási korrekciót. Ha engedélyezve van az automatikus hangolás, az SQL Server figyeli a lekérdezés teljesítményét. Ha egy új lekérdezési terv rosszabb, mint az előző verzió, az lecserélheti az új csomagot a jobb teljesítményt nyújtó előző verzióra. A beállítás az adatbázis szintjén érhető el egy ALTER utasítással:

ALTER DATABASE <database name>
SET AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = ON );

Az intelligens lekérdezésfeldolgozás (IQP) az SQL Server 2019 számos új funkcióját tartalmazza, amelyek automatikusan javítják és optimalizálják a számítási feladatok teljesítményét. Az IQP funkciói a következők:

  • Adaptív illesztések: Az SQL Server dinamikusan választ ki egy illesztési típust futásidőben a bemeneti sorok tényleges száma alapján.
  • Hozzávetőleges darabszám- eltérő: Az SQL Server közelítő számú különböző eredményt ad a big data forgatókönyvekhez az ilyen lekérdezések nagy teljesítményű és alacsony memóriaterheléssel történő futtatásához.
  • Memóriahasználati visszajelzés: Ha egy lekérdezés lemezre kiömlő műveletekkel rendelkezik, az SQL Server több memóriát adhat hozzá a későbbi műveletekhez. Hasonlóképpen, ha egy lekérdezés a lefoglalt memória több mint felét pazarolja, az SQL Server csökkentheti a hozzá rendelt memóriát.
  • Táblaváltozó késleltetett fordítása: Az SQL Server egy táblaváltozó tényleges számosságát használja az első fordításban rögzített becslés helyett.

Az IQP nem követeli meg a kód átírását vagy az adatbázisséma módosítását a legjobb teljesítmény kihasználása érdekében. Mindössze annyit kell tennie, hogy frissít egy adatbázist a 150-es vagy újabb kompatibilitási szintre:

ALTER DATABASE <database name> SET COMPATIBILITY_LEVEL = 150;

Biztonság

A Linuxon futó SQL Server olyan speciális biztonsági funkciókat támogat, mint az Always Encrypted, a sorszintű biztonság és a dinamikus adatmaszkolás a lemezen, a memóriában vagy az átvitel alatt lévő adatok védelme érdekében. Ezek a funkciók minden kiadásban támogatottak, beleértve a Standard kiadás:

  • transzparens adattitkosítás (TDE) titkosítja a inaktív adatokat, amikor azok adatbázisfájlokban vannak tárolva. Az adatok az adatbázisban és a biztonsági másolatokban is védve lesznek a rosszindulatú felhasználók ellen.

  • Az Always Encrypted biztosítja, hogy csak az adatokkal rendelkező felhasználók tekinthetik meg és dolgozhatják fel azokat. Az adatokat kezelő felhasználók, például az adatbázisgazdák, nem tekinthetik meg őket. Always Encrypted használata esetén:

    • A titkosított adatokat a visszafejtés nélkül is lekérdezheti.
    • Az adatok inaktív állapotban vannak védve, amikor a kiszolgáló memóriájába kerülnek, és amikor a kiszolgálóról a megbízható ügyfélalkalmazásba kerülnek.
    • A titkosítás és a visszafejtés az ügyfélillesztőben történik, hogy a folyamat átlátható legyen az ügyfélalkalmazások számára.
    • Csak megbízható alkalmazások és az adatok tulajdonosai férhetnek hozzá. Az alkalmazásfejlesztők és az adatbázisgazdák nem rendelkeznek hozzáféréssel az oszloptitkosítási kulcshoz (CEK).
  • A naplózás nyomon követi az adatbázismotoron előforduló eseményeket, és ki hajtotta végre ezeket az eseményeket. A naplózott események tárolhatók eseménynaplókban vagy auditfájlokban, és használhatja őket olyan problémák kivizsgálására, mint a támadások és az adatsértések.

  • A sorszintű biztonság a lekérdezés végrehajtásának kije alapján szabályozza a tábla adott soraihoz való hozzáférést. Ön szabályozhatja, hogy kik férhetnek hozzá az adatokhoz, például csoporttagság vagy végrehajtási környezet alapján.

  • A dinamikus adatmaszkolás az adatok egy részét maszkolja. Négy különböző maszktípus érhető el: egy oszlop összes adatának maszkolása, az e-mail-címek maszkolása, a numerikus adatok véletlenszerű számmaszkolása és egyéni sztringmaszkolás. Egyéni sztringmaszkolással például maszkolhatja a társadalombiztosítási szám utolsó négy számjegyét.

  • Az adatfelderítés és -besorolás azonosítja, címkézi és jelenti az adatbázisok bizalmas adatait, például a személyes adatokat. Ez egy olyan eszköz az SQL Server Management Studióban (SSMS), amely megkönnyíti az adatvédelmi jogszabályok betartását és a legértékesebb adatokat tartalmazó adatbázisok megkeményítését. Az Adatfelderítés és -besorolás egy olyan szolgáltatás, amely az Advanced Data Security (ADS) csomag része.

  • A sebezhetőségi felmérés azonosítja az adatbázisok biztonsági réseit. Ha már tisztában van a kiszolgálókonfiguráció és az adatbázistervek által okozott hiányosságokkal, mérsékelheti azokat, és megakadályozhatja a gyakori támadásokat. A sebezhetőségi felmérés egy másik ADS-szolgáltatás.

SQL Server Agent

Az SQL Server Agent karbantartási feladatokat és ütemezett, automatizált feladatokat futtat. Az SQL Server Agent a következő három számítási feladatot támogatja:

  • Transact-SQL-feladatok
  • DB-levelek
  • Log shipping

Alapértelmezés szerint az SQL Server Agent le van tiltva, de telepítve van, és a parancssori mssql-conf segédprogrammal engedélyezhető.

sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
sudo systemctl restart mssql-server

Magas szintű rendelkezésre állás

Az SQL Server többféleképpen is megadhatja az elfogadható hibatűrési szintet. A Linuxon futó SQL Server támogatja az Always On rendelkezésre állási csoportokat és az Always On feladatátvevő fürtpéldányokat. Mindkét beállításhoz telepíteni kell az mssql-server-ha csomagot minden kiszolgálón. A Linux támogatja a Pacemakeren keresztüli fürtözést, amely egyenértékű a Windows Server feladatátvételi fürtszolgáltatással (WSCF), bár nem olyan szorosan integrálva a gazdagép operációs rendszerébe.

Ha nagyobb a rugalmasság az állásidő elfogadhatóságában, a log Shipping az SQL Agent használatával meleg készenléti állapotot biztosíthat, amelyet a kiszolgálóvesztés utáni helyreállításhoz használ.

A Linuxon futó SQL Server egy másik megoldása, hogy olyan eszközökkel vezényelt tárolókban futtatható, mint a Kubernetes. A vezénylési eszközök biztosítják, hogy mindig legyen SQL Servert futtató csomópont. Ha a csomópont meghibásodik, a rendszer automatikusan elindít egy másik példányt. Ha robusztusabb rendelkezésre állásra van szükség, egy Always On rendelkezésre állási csoport futtatható tárolókban.

Egyéb figyelemre méltó funkciók

PolyBase

Számos szervezet különböző rendszerekben rendelkezik adatokkal. Ennek az lehet az oka, hogy a különböző csapatok eltérő követelményekkel rendelkeznek a rendszer kiválasztásakor, mert egy másik vállalattal egyesült, vagy valamilyen más előzmény okból. A felhasználók kérdéseinek megválaszolásához hagyományosan nehéz volt adatokat integrálni ezen rendszerhatárok között.

Tegyük fel, hogy az SQL Serveren vannak olyan adatai, amelyek a termékkatalógus értékesítéseit rögzítik, de azok az adatok, amelyek rögzítik, hogy a termékek mennyibe kerülnek, egy SAP HANA-adatbázisban vannak. Létre szeretne hozni egy jelentést, amely a haszonkulcsokat elemzi. Mindkét adatbázisból szüksége lesz információra. A múltban a következőt teheti:

  • Az adatok egyik adatbázisrendszerből a másikba való migrálásához használjon kinyerési, átalakítási, betöltési (ETL-) csomagot.
  • Lekérdezheti mindkét adatbázist, majd egyéni kódot írhat az eredmények egyetlen jelentésbe való csatlakoztatásához és integrálásához.

Mindkét megközelítés összetett, és jelentős fejlesztési időt igényelhet a helyes megoldáshoz.

A PolyBase használatával létrehozhat egy külső táblát az SQL Serveren. A külső tábla egy külső rendszerrel és egy ott üzemeltetett adatkészlettel való kapcsolat. A létrehozás után az ügyfelek ugyanúgy küldhetnek lekérdezéseket a külső táblába, mint a belső táblákba. JOIN a lekérdezések belső táblákkal integrálhatják a külső táblákból származó adatokat. Mint látható, a PolyBase eltávolíthatja a különböző rendszerek által az adatokra vonatkozó határokat, és megkönnyíti az üzleti adatokon szükséges elemzések végrehajtását, függetlenül azok helyétől.

Megjegyzés:

Linux operációs rendszereken a PolyBase támogatott az SQL Server 2019-ben vagy újabb verzióiban. A használatához az SQL Server 2019 mellett telepítenie kell az mssql-server-polybase csomagot is.

Machine Learning Services

A gépi tanulásban a nagy adathalmazok egy összetett rendszer viselkedésének modellezésére szolgálnak. Ha olyan modellt fejlesztettek ki, amely pontosan előrejelzi a rendszer megfigyelt viselkedését, a rendszer jövőbeli viselkedésének előrejelzésére szolgál. Olyan kifinomult kódtárakat fejlesztettek ki, amelyek gyakran nyílt forráskódúak, amelyek előkészítik az adathalmazt, szolgáltatásokat adnak hozzá, betanítenek egy modellt, kiértékelik a betanított modell pontosságát, és üzembe helyezhetik ezeket a modelleket más ügyfelek számára, hogy meghívják őket. Ezek a kódtárak R és Python nyelven vannak megírva.

Az SQL Server Machine Tanulás Services lehetővé teszi ezen R- és Python-szkriptek futtatását az SQL Server-adatbázisokban lévő adatokon. Hozzáadhatja a népszerű gépi tanulási és adatelemzési keretrendszereket, például a PyTorchot, a TensorFlow-t, a SciKit-Learn-t és másokat.

Megjegyzés:

Linux operációs rendszereken az SQL Server Machine Tanulás az SQL Server 2019-ben vagy újabb verzióiban támogatott. A használatához további csomagokat kell hozzáadnia. Ha például a Pythont szeretné használni az összes gépi tanulási kódhoz, telepítse az mssql-mlservices-mlm-py-9.4.7 csomagot. Az R megfelelő csomagja az mssql-mlservices-mlm-r-9.4.7 telepítése.

Gráftámogatás

Az SQL Server natív támogatást nyújt a gráfalapú adatok tárolásához és lekérdezéséhez. Az SQL Server entitások (csomópontok) és köztük lévő kapcsolatok (élek) sorozataként tárolja az adatokat.

A teljes szöveges keresésekkel a felhasználók lekérdezéseket futtathatnak a nyelvészi szabályokat tiszteletben tartó szöveges adatokon. Ha például a "futtatás" szóra keres, a teljes szöveges keresés olyan találatokat ad vissza, amelyek tartalmazzák a "futtatás" szót, például a "futtatás" és a "futtatás" kifejezést.

Ez a funkció alapértelmezés szerint nincs telepítve. Linuxon a csomag telepítésével mssql-server-fts engedélyezheti.

ETL-számítási feladatok

Az SQL Server Integration Services-csomagok (SSIS) linuxos SQL Serveren is futtathatók. Nem csak Linuxon futó SQL Serveren futtathatóak. Ezek a csomagok csatlakozhatnak a Helyszíni Windowson vagy a felhőben futó Microsoft SQL Serverhez, vagy egy tárolóban futó SQL Serverhez is.

SSIS-csomagokat kell írnia és karbantartania egy SQL Server Data Toolst futtató Windows-gépen.

Tesztelje tudását

1.

Milyen funkciókat biztosít a Linuxon futó SQL Server az üzletmenet folytonosságának támogatásához?

2.

Ha az adatok titkosítása Always Encrypted használatával történik, mikor lesznek visszafejtve az adatok?