Share via


Az Azure SQL Database és a felügyelt SQL-példány többmodelles képességei

A következőre vonatkozik: Azure SQL DatabaseFelügyelt Azure SQL-példány

A többmodelles adatbázisok lehetővé teszik az adatok tárolását és használatát több formátumban, például relációs adatok, grafikonok, JSON- vagy XML-dokumentumok, térbeli adatok és kulcs-érték párok formájában.

Az Azure SQL termékcsaládja egy relációs modellt használ, amely a legjobb teljesítményt nyújtja számos általános célú alkalmazáshoz. Az Azure SQL-termékek, például az Azure SQL Database és a felügyelt SQL-példányok azonban nem korlátozódnak a relációs adatokra. Lehetővé teszik a nem relációs formátumok használatát, amelyek szorosan integrálva vannak a relációs modellbe.

Fontolja meg az Azure SQL többmodelles funkcióinak használatát a következő esetekben:

  • Rendelkezik olyan információkkal vagy struktúrákkal, amelyek jobban megfelelnek a NoSQL-modelleknek, és nem szeretne külön NoSQL-adatbázist használni.
  • Az adatok többsége alkalmas relációs modellre, és az adatok bizonyos részeit NoSQL-stílusban kell modelleznie.
  • A Transact-SQL nyelv használatával relációs és NoSQL-adatokat is lekérdezhet és elemezhet, majd integrálhatja ezeket az adatokat az SQL-nyelvet használó eszközökkel és alkalmazásokkal.
  • Olyan adatbázis-funkciókat szeretne alkalmazni, mint a memórián belüli technológiák az elemzések teljesítményének vagy a NoSQL-adatstruktúrák feldolgozásának javítására. Tranzakciós replikációval vagy olvasható replikákkal másolatot készíthet az adatokról, és kioszthat néhány elemzési számítási feladatot az elsődleges adatbázisból.

Az alábbi szakaszok az Azure SQL legfontosabb többmodelles képességeit ismertetik.

Megjegyzés:

JSONPath-kifejezések, XQuery-/XPath-kifejezések, térbeli függvények és gráfos lekérdezési kifejezések is használhatók ugyanabban a Transact-SQL-lekérdezésben az adatbázisban tárolt adatok eléréséhez. A Transact-SQL-lekérdezések végrehajtására képes bármely eszköz vagy programozási nyelv ezt a lekérdezési felületet is használhatja a többmodelles adatok eléréséhez. Ez a fő különbség a többmodelles adatbázisoktól, például az Azure Cosmos DB-től, amelyek speciális API-kat biztosítanak az adatmodellekhez.

Gráffunkciók

Az Azure SQL-termékek gráfadatbázis-képességeket kínálnak az adatbázisok több-a-többhöz kapcsolatok modellezéséhez. A gráf csomópontok (vagy csúcsok) és élek (vagy kapcsolatok) gyűjteménye. A csomópontok egy entitást (például egy személyt vagy egy szervezetet) jelölnek. A peremhálózat a két összekapcsolt csomópont (például kedvelések vagy barátok) közötti kapcsolatot jelöli.

Íme néhány funkció, amely egyedivé teszi a gráfadatbázist:

  • Az élek első osztályú entitások egy gráfadatbázisban. Attribútumok vagy tulajdonságok társíthatók hozzájuk.
  • Egyetlen él rugalmasan csatlakoztathat több csomópontot egy gráfadatbázisban.
  • A mintaegyeztetés és a több ugrásos navigációs lekérdezések egyszerűen kifejezhetők.
  • A tranzitív lezárás és a polimorfikus lekérdezések egyszerűen kifejezhetők.

A gráfkapcsolatok és a gráfalapú lekérdezési képességek integrálva vannak a Transact-SQL-be, és élvezhetik az SQL Server adatbázismotor alapvető adatbázis-kezelő rendszerként való használatának előnyeit. A gráffunkciók a gráf MATCH operátorral bővített standard Transact-SQL-lekérdezéseket használnak a gráfadatok lekérdezéséhez.

A relációs adatbázisok bármit elérhetnek, amit egy gráfadatbázis képes. A gráfadatbázisok azonban megkönnyítik bizonyos lekérdezések kifejezését. Az ön döntése, hogy kiválaszt egy másikat, a következő tényezőkön alapulhat:

  • Hierarchikus adatokat kell modelleznie, ahol egy csomópont több szülővel is rendelkezhet, így nem használhatja a hierarchiaazonosító adattípust.
  • Az alkalmazás összetett több-a-többhöz kapcsolatokkal rendelkezik. Az alkalmazás fejlődésével új kapcsolatok lesznek hozzáadva.
  • Elemeznie kell az összekapcsolt adatokat és kapcsolatokat.
  • Gráfspecifikus T-SQL keresési feltételeket szeretne használni, például SHORTEST_PATH.

JSON-funkciók

Az Azure SQL-termékekben Elemezheti és lekérdezheti a JavaScript Object Notation (JSON) formátumban képviselt adatokat, és JSON-szövegként exportálhatja a relációs adatokat. A JSON az SQL Server adatbázismotor alapvető funkciója.

A JSON-funkciók lehetővé teszik JSON-dokumentumok táblákba helyezését, a relációs adatok JSON-dokumentumokká való átalakítását, valamint A JSON-dokumentumok relációs adatokká való átalakítását. A dokumentumok elemzéséhez használhatja a JSON-függvényekkel bővített standard Transact-SQL-nyelvet. A lekérdezések optimalizálásához nem fürtözött indexeket, oszlopcentrikus indexeket vagy memóriaoptimalizált táblákat is használhat.

A JSON egy népszerű adatformátum a modern webes és mobilalkalmazások adatcseréjéhez. A JSON-t félstrukturált adatok naplófájlokban vagy NoSQL-adatbázisokban való tárolására is használják. Számos REST-webszolgáltatás JSON-szövegként formázott eredményeket ad vissza, vagy JSON formátumban formázott adatokat fogad el.

A legtöbb Azure-szolgáltatás rendelkezik OLYAN REST-végpontokkal, amelyek JSON-t adnak vissza vagy használnak fel. Ezek a szolgáltatások közé tartozik az Azure Cognitive Search, az Azure Storage és az Azure Cosmos DB.

Ha JSON-szövegekkel rendelkezik, adatokat nyerhet ki a JSON-ból, vagy ellenőrizheti, hogy a JSON megfelelően van-e formázva a beépített függvények JSON_VALUE, JSON_QUERY és ISJSON használatával. A többi függvény a következő:

  • JSON_MODIFY: Lehetővé teszi az értékek JSON-szövegen belüli frissítését.
  • OPENJSON: A JSON-objektumok tömbje sorhalmazsá alakítható a fejlettebb lekérdezés és elemzés érdekében. Bármely SQL-lekérdezés végrehajtható a visszaadott eredményhalmazon.
  • JSON esetén: Lehetővé teszi a relációs táblákban tárolt adatok JSON-szövegként való formázását.

Diagram that illustrates JSON functions.

További információ: JSON-adatok használata.

Bizonyos esetekben a relációs modellek helyett dokumentummodelleket is használhat:

  • A séma magas normalizálása nem jár jelentős előnyökkel, mivel az objektumok összes mezőjét egyszerre éri el, vagy az objektumok normalizált részeit soha nem frissíti. A normalizált modell azonban növeli a lekérdezések összetettségét, mivel nagy számú táblához kell csatlakoznia az adatok lekéréséhez.
  • Olyan alkalmazásokkal dolgozik, amelyek natív módon használnak JSON-dokumentumokat kommunikációs vagy adatmodellekhez, és nem szeretne több réteget bevezetni, amelyek a relációs adatokat JSON-lá alakítják, és fordítva.
  • Egyszerűsíteni kell az adatmodellt a gyermektáblák vagy az Entity-Object-Value minták denormalizálásával.
  • JSON formátumban tárolt adatokat kell betöltenie vagy exportálnia anélkül, hogy további, az adatokat elemző eszköz kellene.

XML-funkciók

Az XML-funkciók lehetővé teszik XML-adatok tárolását és indexelésére az adatbázisban, valamint natív XQuery-/XPath-műveleteket használhat az XML-adatok használatához. Az Azure SQL-termékek speciális, beépített XML-adattípussal és lekérdezési függvényekkel rendelkeznek, amelyek XML-adatokat dolgoznak fel.

Az SQL Server adatbázismotorja hatékony platformot biztosít a részben strukturált adatok kezeléséhez szükséges alkalmazások fejlesztéséhez. Az XML-támogatás az adatbázismotor összes összetevőjére integrálva van, és a következőket tartalmazza:

  • Xml-értékek natív tárolása XML-adattípusú oszlopban, amely xml-sémák gyűjteményének megfelelően írható be, vagy nem írható meg. Indexelheti az XML-oszlopot.
  • XQuery-lekérdezés megadásával az XML-típus oszlopaiban és változóiban tárolt XML-adatokon. Az XQuery funkcióit bármely Olyan Transact-SQL-lekérdezésben használhatja, amely hozzáfér az adatbázisban használt adatmodellhez.
  • Az XML-dokumentumok összes elemének automatikus indexelése az elsődleges XML-index használatával. Megadhatja a másodlagos XML-index használatával indexelendő pontos elérési utakat is.
  • OPENROWSET, amely lehetővé teszi az XML-adatok tömeges betöltését.
  • A relációs adatok XML formátumúvá alakításának lehetősége.

Bizonyos esetekben a relációs modellek helyett dokumentummodelleket is használhat:

  • A séma magas normalizálása nem jár jelentős előnyökkel, mivel az objektumok összes mezőjét egyszerre éri el, vagy az objektumok normalizált részeit soha nem frissíti. A normalizált modell azonban növeli a lekérdezések összetettségét, mivel nagy számú táblához kell csatlakoznia az adatok lekéréséhez.
  • Olyan alkalmazásokkal dolgozik, amelyek natív módon használnak XML-dokumentumokat kommunikációhoz vagy adatmodellekhez, és nem szeretne több réteget bevezetni, amelyek a relációs adatokat JSON-vá alakítják át, és fordítva.
  • Egyszerűsíteni kell az adatmodellt a gyermektáblák vagy az Entity-Object-Value minták denormalizálásával.
  • Xml formátumban tárolt adatokat kell betöltenie vagy exportálnia anélkül, hogy további, az adatokat elemző eszköz kellene.

Térbeli jellemzők

A térbeli adatok az objektumok fizikai helyével és alakjával kapcsolatos információkat jelölik. Ezek az objektumok lehetnek ponthelyek vagy összetettebb objektumok, például országok/régiók, utak vagy tavak.

Az Azure SQL két térbeli adattípust támogat:

  • A geometria típusa euklideszi (lapos) koordináta-rendszerben jeleníti meg az adatokat.
  • A földrajzi típus egy ciklikus föld koordinátarendszer adatait jelöli.

Az Azure SQL térbeli funkciói lehetővé teszik geometriai és földrajzi adatok tárolását. Az Azure SQL térbeli objektumai segítségével JSON formátumban ábrázolt adatokat elemezhet és kérdezhet le, és JSON-szövegként exportálhatja a relációs adatokat. Ezek a térbeli objektumok közé tartozik a Pont, a LineString és a Sokszög. Az Azure SQL speciális térbeli indexeket is biztosít, amelyekkel javíthatja a térbeli lekérdezések teljesítményét.

A térbeli támogatás az SQL Server adatbázismotor alapvető funkciója.

Kulcs-érték párok

Az Azure SQL-termékek nem rendelkeznek olyan speciális típusokkal vagy struktúrákkal, amelyek támogatják a kulcs-érték párokat, mivel a kulcs-érték struktúrák natív módon szabványos relációs táblákként jeleníthetők meg:

CREATE TABLE Collection (
  Id int identity primary key,
  Data nvarchar(max)
)

Ezt a kulcs-érték struktúrát úgy szabhatja testre, hogy minden korlátozás nélkül megfeleljen az igényeinek. Az érték például egy XML-dokumentum lehet a nvarchar(max) típus helyett. Ha az érték JSON-dokumentum, használhat olyan korlátozást CHECK , amely ellenőrzi a JSON-tartalom érvényességét. A további oszlopokban tetszőleges számú, egy kulccsal kapcsolatos érték helyezhető el. Például:

  • Az adathozzáférés egyszerűsítése és optimalizálása érdekében adjon hozzá számított oszlopokat és indexeket.
  • A jobb teljesítmény érdekében definiálja a táblát memóriaoptimalizált, sémaalapú táblázatként.

Példa arra, hogy a relációs modell hogyan használható hatékonyan kulcs-érték pár megoldásként a gyakorlatban: Hogyan használja a bwin az SQL Server 2016 Memórián belüli OLTP-t a példátlan teljesítmény és a skálázás érdekében. Ebben az esettanulmányban a bwin egy relációs modellt használt ASP.NET gyorsítótárazási megoldásához, hogy másodpercenként 1,2 millió köteget érjen el.

További lépések

A többmodelles képességek olyan alapvető SQL Server-adatbázismotor-funkciók, amelyek az Azure SQL-termékek között vannak megosztva. A funkciókkal kapcsolatos további információkért tekintse meg az alábbi cikkeket: