Modern adatbázis-követelmények kezelése az Azure SQL Database-lel

Befejeződött

A környezet konfigurálása után készen áll a lehetséges megoldásarchitektúra egyes összetevőinek elemzésére és tesztelésére. A bus-catching forgatókönyvben és sok más modern alkalmazáshoz modern adatbázisra van szükség az adatok tárolásához, feldolgozásához és kiszolgálásához. Vizsgáljuk meg, hogyan felel meg az Azure SQL Database a modern alkalmazások igényeinek.

Skálázás az igényeknek megfelelően rugalmas Azure SQL Database-beállításokkal

A modern alkalmazások egyik alapvető eleme az a képesség, hogy egyszerűen fel- vagy leskálázhatók, hogy megfelelően reagálhassanak a számítási feladatok használatára. A megoldások egyszerű frissítésének és fejlesztésének képessége, valamint a determinisztikus, automatikus üzembe helyezés a modern alkalmazásfejlesztés alapvető pillérei. Ez az elv azt is lehetővé teszi, hogy az alkalmazások csak a szükségesért fizessenek, amikor szükség van rá.

Az Azure SQL Database határozottan támogatja ezeket a szükséges funkciókat. Ha időtálló, skálázható, biztonságos és nagy teljesítményű adatbázisra van szüksége, az Azure SQL Rugalmas skálázás minden szükséges és további információt biztosít. 100 TB-ig skálázható, elosztott architektúrája pedig megkönnyíti a vertikális fel- és felskálázást. Ideális adatbázis tranzakciós és hibrid tranzakcióelemzési számítási feladatokhoz.

A fejlesztés és a fejlesztők támogatásához használhatja az Azure SQL Database kiszolgáló nélküli számítási rétegét, amely automatikusan fel- és leskálázható egy meghatározott tartományon belül, és automatikusan elvégezheti, ha nincs használatban a megoldás fejlesztésének és tesztelésének legköltséghatékonyabb módja. Mivel az Azure SQL Database mögötti motor ugyanaz, az Azure SQL Database kiszolgáló nélküli számítási szintjére való áttéréshez és az Azure SQL Rugalmas skálázáshoz nincs szükség kódmódosításra, és nincs szükség további erőfeszítésekre.

Fejlesztési munkafolyamatok támogatása a GitHub Actions használatával

Mivel a DevOps gyakorlata ma már mindenütt jelen van, fontos, hogy egy modern megoldás megfelelően támogassa és kifogástalan folyamatos integrációval és folyamatos kézbesítési/folyamatos üzembe helyezési (CI/CD) folyamattal rendelkezzen. Az Azure SQL Database natív módon támogatja a GitHub Actionst, amellyel a fejlesztési adatbázis módosításait üzembe helyezheti, hogy készenlétben tesztelje és élesíthesse az adatbázisokat. Az Azure SQL Database-műveletek állapotalapú megközelítést használnak. Az adatokhoz készült DevOps egy érdekes témakör, amelyről a modul végén hivatkozott Data Exposed epizódokban tudhat meg többet.

A modern adatbázisok másik fő követelménye a legújabb fejlesztési trendek és innovációk kezelése és támogatása. Az Azure SQL Database számos funkciót kínál, így a legjobb technológiát vagy modellt használhatja egy adott használati esethez. A modul végén található blogbejegyzésben áttekintést nyújtunk az összes elérhető funkcióról.

Időtálló alkalmazások az Azure SQL Database használatával

Az alkalmazás élettartama alatt különböző technológiákat kell használnia, hogy a lehető leghatékonyabb legyen. Előfordulhat például, hogy egy Graph-modell használatával egyszerűen nyomon követhet és modellezhet egy összetett hálózati kapcsolatot, például egy közösségi hálózatot vagy egy energiahálózatot. Vagy lehet, hogy gyorsan összesítenie kell egy nagy mennyiségű adatot egy bizonyos érték növekedési sebességének kiszámításához. Ezekben az esetekben és még sok más esetben az Azure SQL Database-ről is szó van. Támogatja a Graph-modelleket, az oszlopcentrikus indexeket és még a memóriaoptimalizált táblákat is a legnagyobb átviteli sebességhez (ezek a táblák olyan adatstruktúrák, amelyeket aztán a nagy teljesítmény elérése érdekében a folyamat során betöltenek).

A bus-catching forgatókönyv esetében az Azure SQL Database kiszolgáló nélküli számítási szintjét fogja használni, így csak a szükséges és használt adatokért kell fizetnie az automatikus skálázás és az automatikus skálázás támogatása miatt. A GitHub Actions használatával létrehoz egy üzembehelyezési folyamatot az adatbázis szükség szerinti frissítéséhez. A forgatókönyvhöz további képességekre is szükség van. Vizsgáljuk meg őket közelebbről. A következő gyakorlatban ezekkel a képességekkel ismerkedhet meg.

JSON-adatok feldolgozása natív JSON-képességekkel

Az Azure SQL Database lehetővé teszi a fejlesztők számára a JSON használatát az adatbázissal való adatcseréhez és a JSON-dokumentumok tárolásához. Így a JSON használatával hatékony átviteli mechanizmusként adatkészleteket, például tömböket és objektumokat küldhet egy feldolgozandó tárolt eljárásba. Miután megkapta a JSON-dokumentumot, könnyen kezelheti natív JSON-függvényekkel, például JSON_VALUE, JSON_MODIFY vagy OPENJSON használatával. Példa:

DECLARE @json NVARCHAR(MAX) = '[{"user":{"id": 1, "name": "Anna"}},{"user":{"id": 2, "name": "Davide"}}]'
SELECT * FROM
    OPENJSON(@json) WITH (
        [Id] INT '$.user.id', 
        [Name] NVARCHAR(100) '$.user.name'
    )

A modul végén további minták érhetők el, amelyek bemutatják, hogyan használhatja a JSON-t az Azure SQL Database-ben.

Térinformatikai adatok elemzése a natív térinformatikai motorral

Az Azure SQL Database natív térinformatikai motorral rendelkezik, amellyel térinformatikai lekérdezéseket hajthat végre külső kódtárak telepítése vagy adatok áthelyezése nélkül, ami jelentős mennyiségű adat esetében költséges lehet. Az Azure SQL Database teljes mértékben támogatja az Open Geospatial Consortium (OGC) szabványt, így az exportált adatok olyan kódtárak által használhatóak, mint az OpenLayers.

Az alábbi példa bemutatja, hogyan hozhat létre olyan sokszöget, amely a földrajzi helyként szolgál a buszfogó forgatókönyvben, és ellenőrizheti, hogy a valós idejű buszadatpontként szolgáló pont a sokszögben van-e.

-- Microsoft Building 44
declare @bldg44 as geography = geography::STGeomFromText('POLYGON((-122.13403149305233 47.64136608877112,-122.13398769073248 47.64058891712273,-122.13319924946629 47.64011342667547,-122.13285369830483 47.640106868176076,-122.13254221532335 47.640834858789844,-122.13257628383073 47.6410086568205,-122.13334039023833 47.64144150986729,-122.13403149305233 47.64136608877112))', 4326)

-- A point you want to check
declare @p as geography = geography::STPointFromText('POINT(-122.13315058040392 47.64101193601368)', 4326)

-- Is the point within the perimeter?
select @p.STWithin(@bldg44)

Mivel a helyek szöveges formátuma (például POINT(-122.13315058040392 47.64101193601368)) egy jól ismert szöveg (WKT) formátum, a térképre vetített alakzatot csak a sztring másolásával és beillesztésével tekintheti meg. A következő gyakorlatban az OpenStreetMap WKT-játszótérrel fogja tesztelni.