Voldoen aan de vereisten voor moderne databases met Azure SQL Database

Voltooid

Nadat u uw omgeving hebt geconfigureerd, kunt u beginnen met het analyseren en testen van bepaalde onderdelen van een mogelijke oplossingsarchitectuur. In het busvangende scenario en voor veel andere moderne toepassingen hebt u een moderne database nodig om gegevens op te slaan, te verwerken en te verwerken. Laten we eens kijken hoe Azure SQL Database voldoet aan de behoeften van moderne toepassingen.

Schalen om te voldoen aan de vraag met flexibele Opties voor Azure SQL Database

Een van de belangrijkste elementen van een moderne toepassing is de mogelijkheid om eenvoudig omhoog of omlaag te schalen om correct te kunnen reageren op het gebruik van workloads. De mogelijkheid om een oplossing eenvoudig bij te werken en te ontwikkelen, samen met deterministische, automatische implementatie zijn ook fundamentele pijlers van moderne toepassingsontwikkeling. Dit principe biedt toepassingen ook de mogelijkheid om alleen te betalen voor wat er nodig is, wanneer dit nodig is.

Azure SQL Database biedt sterke ondersteuning voor al deze vereiste functies. Als u een toekomstbestendige, schaalbare, veilige en krachtige database nodig hebt, biedt Azure SQL Hyperscale alles wat u nodig hebt en meer. Het kan omhoog schalen tot 100 TB en de gedistribueerde architectuur maakt het eenvoudig om omhoog en uit te schalen. Dit is de ideale database voor transactionele en hybride transactionele analyseworkloads.

Ter ondersteuning van ontwikkeling en ontwikkelaars kunt u de serverloze azure SQL Database-rekenlaag gebruiken, die automatisch omhoog en omlaag kan worden geschaald binnen een gedefinieerd bereik en automatisch kan worden gebruikt wanneer u niet wordt gebruikt om u de meest rendabele manier te bieden om uw oplossing te ontwikkelen en te testen. Gezien het feit dat de engine achter Azure SQL Database hetzelfde is, hoeft u geen codewijzigingen te wijzigen en hoeft u geen extra inspanningen uit te voeren naar de serverloze Azure SQL Database-laag en Azure SQL Hyperscale.

Ontwikkelwerkstromen ondersteunen met GitHub Actions

Omdat de DevOps-praktijk nu alomtegenwoordig is, is het belangrijk dat een moderne oplossing een goede ondersteuning biedt en een gezonde pijplijn voor continue integratie en continue levering/continue implementatie (CI/CD) heeft. Azure SQL Database biedt systeemeigen ondersteuning voor GitHub Actions, die u kunt gebruiken om wijzigingen in uw ontwikkelingsdatabase te implementeren om databases te testen en te produceren wanneer u klaar bent. Azure SQL Database-acties maken gebruik van een op status gebaseerde benadering. DevOps voor gegevens is een interessant onderwerp en u kunt er meer informatie over vinden in de afleveringen van Gegevens beschikbaar aan het einde van de module.

Een andere belangrijke vereiste van een moderne database is de mogelijkheid om de nieuwste ontwikkelingstrends en innovaties te verwerken en te ondersteunen. Azure SQL Database biedt veel functies, zodat u de beste technologie of het beste model kunt gebruiken voor een bepaalde use-case. We bieden een overzicht van alle beschikbare functies in een blogbericht aan het einde van de module.

Uw toepassingen toekomstbestendig maken met behulp van Azure SQL Database

Tijdens de levensduur van uw toepassing wilt u verschillende technologieën gebruiken om zo efficiënt mogelijk te zijn. U kunt bijvoorbeeld een Graph-model gebruiken om eenvoudig een complexe netwerkrelatie bij te houden en te modelleren, zoals een sociaal netwerk of elektriciteitsnet. Of misschien moet u snel een enorme hoeveelheid gegevens aggregeren om de groeisnelheid van een bepaalde waarde te berekenen. In al deze gevallen en in veel meer gevallen heeft Azure SQL Database u behandeld. Het ondersteunt Graph-modellen, Columnstore-indexen en zelfs tabellen die zijn geoptimaliseerd voor geheugen voor de hoogste doorvoer (deze tabellen zijn gecompileerde gegevensstructuren die vervolgens in het proces worden geladen om hoge prestaties te bereiken).

Voor het busvangende scenario gebruikt u de serverloze Rekenlaag van Azure SQL Database, zodat u alleen betaalt voor wat u nodig hebt en gebruikt, vanwege ondersteuning voor automatisch schalen en automatisch gebruik. U gebruikt GitHub Actions om zo nodig een implementatiepijplijn te maken om de database bij te werken. Er zijn enkele andere mogelijkheden die vereist zijn voor het scenario. Laten we ze eens nader bekijken. In de volgende oefening krijgt u praktische ervaring met deze mogelijkheden.

JSON-gegevens verwerken met systeemeigen JSON-mogelijkheden

Met Azure SQL Database kunnen ontwikkelaars JSON gebruiken voor het uitwisselen van gegevens met de database en het opslaan van JSON-documenten. Op deze manier kunt u JSON gebruiken als een efficiënt transportmechanisme om sets gegevens, zoals matrices en objecten, te verzenden naar een opgeslagen procedure die moet worden verwerkt. Zodra u het JSON-document hebt, kunt u het eenvoudig bewerken met systeemeigen JSON-functies, zoals JSON_VALUE, JSON_MODIFY of OPENJSON. Hier volgt een voorbeeld:

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'
    )

Meer voorbeelden die laten zien hoe u JSON in Azure SQL Database kunt gebruiken, zijn beschikbaar aan het einde van de module.

Georuimtelijke gegevens analyseren met de systeemeigen georuimtelijke engine

Azure SQL Database heeft een systeemeigen georuimtelijke engine die u kunt gebruiken om georuimtelijke query's uit te voeren zonder externe bibliotheken te installeren of gegevens te verplaatsen, wat duur kan zijn voor grote hoeveelheden gegevens. Azure SQL Database biedt volledig ondersteuning voor de OGC-standaard (Open Geospatial Consortium), zodat geëxporteerde gegevens kunnen worden gebruikt door bibliotheken zoals OpenLayers.

In het volgende voorbeeld ziet u hoe u een veelhoek kunt maken die fungeert als uw geofence in het busvangende scenario en controleer of een punt dat fungeert als uw realtime busgegevenspunten zich binnen de veelhoek bevindt.

-- 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)

Omdat de tekstindeling voor de locaties (bijvoorbeeld POINT(-122.13315058040392 47.64101193601368)) een standaardindeling is die bekend staat als BEKENDE tekst (WKT), is het mogelijk om de vorm te zien die op een kaart wordt geprojecteerd door de tekenreeks te kopiëren en plakken. In de volgende oefening test u deze zelf met de OpenStreetMap WKT Playground.