Spełnianie nowoczesnych wymagań dotyczących bazy danych za pomocą usługi Azure SQL Database

Ukończone

Po skonfigurowaniu środowiska możesz rozpocząć analizowanie i testowanie niektórych składników potencjalnej architektury rozwiązania. W scenariuszu przechwytywania magistrali i w przypadku wielu innych nowoczesnych aplikacji potrzebna jest nowoczesna baza danych do przechowywania, przetwarzania i udostępniania danych. Przyjrzyjmy się, jak usługa Azure SQL Database spełnia potrzeby nowoczesnych aplikacji.

Skalowanie w celu spełnienia wymagań dzięki elastycznym opcjom usługi Azure SQL Database

Jednym z podstawowych elementów nowoczesnej aplikacji jest możliwość łatwego skalowania w górę lub w dół w celu poprawnego reagowania na użycie obciążenia. Możliwość łatwego aktualizowania i rozwijania rozwiązania wraz z deterministycznym automatycznym wdrażaniem jest również podstawowymi filarami nowoczesnego tworzenia aplikacji. Ta zasada umożliwia również aplikacjom płacenie tylko za to, co jest potrzebne, gdy jest to konieczne.

Usługa Azure SQL Database zapewnia silną obsługę wszystkich tych wymaganych funkcji. Jeśli potrzebujesz przyszłej, skalowalnej, bezpiecznej i wysokiej wydajności bazy danych, hiperskala usługi Azure SQL zapewnia wszystko, czego potrzebujesz i nie tylko. Można go skalować do 100 TB, a jego architektura rozproszona ułatwia skalowanie w górę i w poziomie. Jest to idealna baza danych dla obciążeń transakcyjnych i hybrydowych analizy transakcyjnej.

Aby obsługiwać programowanie i deweloperów, możesz użyć bezserwerowej warstwy obliczeniowej usługi Azure SQL Database, która może automatycznie skalować w górę i w dół w zdefiniowanym zakresie i automatycznie używać ich do zapewniania najbardziej ekonomicznego sposobu tworzenia i testowania rozwiązania. Biorąc pod uwagę, że aparat usługi Azure SQL Database jest taki sam, przejście do bezserwerowej warstwy obliczeniowej usługi Azure SQL Database i hiperskala usługi Azure SQL nie będzie wymagać żadnych zmian w kodzie i bez dodatkowych wysiłków.

Obsługa przepływów pracy tworzenia za pomocą funkcji GitHub Actions

Ponieważ praktyka metodyki DevOps jest obecnie wszechobecna, ważne jest, aby nowoczesne rozwiązanie prawidłowo obsługiwało i obsługiwało zdrowy potok ciągłej integracji i ciągłego dostarczania/ciągłego wdrażania (CI/CD). Usługa Azure SQL Database natywnie obsługuje funkcję GitHub Actions, której można użyć do wdrażania zmian w bazie danych deweloperskich w celu testowania i produkcji baz danych, gdy będą gotowe. Akcje usługi Azure SQL Database korzystają z podejścia opartego na stanie. Metodyka DevOps dla danych jest interesującym tematem i możesz dowiedzieć się więcej o nim w odcinekach uwidocznionych na końcu modułu.

Innym kluczowym wymaganiem nowoczesnej bazy danych jest możliwość obsługi i obsługi najnowszych trendów i innowacji programistycznych. Usługa Azure SQL Database udostępnia wiele funkcji, dzięki czemu można użyć najlepszej technologii lub modelu dla danego przypadku użycia. Przedstawiamy omówienie wszystkich dostępnych funkcji we wpisie w blogu na końcu modułu.

Przyszłe sprawdzanie aplikacji przy użyciu usługi Azure SQL Database

W okresie istnienia aplikacji należy używać tak wydajnych technologii, jak to możliwe. Na przykład możesz użyć modelu programu Graph do łatwego śledzenia i modelowania złożonej relacji sieciowej, takiej jak sieć społecznościowa lub sieć energetyczna. Możesz też szybko zagregować ogromną ilość danych, aby obliczyć współczynnik wzrostu określonej wartości. We wszystkich tych przypadkach i w wielu innych przypadkach usługa Azure SQL Database została omówiona. Obsługuje ona modele programu Graph, indeksy magazynu kolumn, a nawet tabele zoptymalizowane pod kątem pamięci dla najwyższej przepływności (te tabele są kompilowanymi strukturami danych, które następnie są ładowane w procesie w celu osiągnięcia wysokiej wydajności).

W scenariuszu przechwytywania magistrali użyjesz bezserwerowej warstwy obliczeniowej usługi Azure SQL Database, aby płacić tylko za to, czego potrzebujesz i używać, ze względu na skalowanie automatyczne i obsługę automatycznego użycia. Użyjesz funkcji GitHub Actions do utworzenia potoku wdrażania w celu zaktualizowania bazy danych zgodnie z potrzebami. Istnieje kilka innych funkcji, które są wymagane w tym scenariuszu. Przyjrzyjmy się im bliżej. W następnym ćwiczeniu poznasz te możliwości.

Przetwarzanie danych JSON przy użyciu natywnych funkcji JSON

Usługa Azure SQL Database umożliwia deweloperom używanie formatu JSON do wymiany danych z bazą danych i przechowywania dokumentów JSON. Dzięki temu można użyć formatu JSON jako wydajnego mechanizmu transportu do wysyłania zestawów danych, takich jak tablice i obiekty, do procedury składowanej do przetworzenia. Po utworzeniu dokumentu JSON można łatwo manipulować nim przy użyciu natywnych funkcji JSON, takich jak JSON_VALUE, JSON_MODIFY lub OPENJSON. Oto przykład:

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

Więcej przykładów pokazujących, jak można używać kodu JSON w usłudze Azure SQL Database, są dostępne na końcu modułu.

Analizowanie danych geoprzestrzennych za pomocą natywnego aparatu geoprzestrzennych

Usługa Azure SQL Database ma natywny aparat geoprzestrzenny, którego można użyć do wykonywania zapytań geoprzestrzennych bez instalowania bibliotek zewnętrznych lub przenoszenia danych, co może być kosztowne w przypadku znacznych ilości danych. Usługa Azure SQL Database w pełni obsługuje standard Open Geospatial Consortium (OGC), więc wyeksportowane dane są używane przez biblioteki, takie jak OpenLayers.

W poniższym przykładzie pokazano, jak utworzyć wielokąt, który będzie służyć jako geofencing w scenariuszu przechwytywania magistrali, i sprawdzić, czy punkt, który będzie służyć jako punkty danych magistrali czasu rzeczywistego, znajduje się w wielokącie.

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

Ponieważ format tekstu lokalizacji (na przykład POINT(-122.13315058040392 47.64101193601368)) jest standardowym formatem dobrze znanego tekstu (WKT), można zobaczyć kształt przewidywany na mapie tylko przez skopiowanie i wklejenie ciągu. W następnym ćwiczeniu przetestujesz go samodzielnie przy użyciu placu zabaw OpenStreetMap WKT.