Architektura Cosmos DB
Programowanie dla Azure Storage
Shahzad Mian
Content developer, DataCamp
Azure Cosmos DB
Problem
Czym jest Cosmos DB?
Wielomodelowa, globalnie dystrybuowana baza danych NoSQL.
NoSQL – elastyczne przechowywanie danych.
Obsługuje wiele interfejsów API i typów danych.
Jak elastyczne menu restauracji – wybierz swój interfejs API:
SQL (Core) dla dokumentów JSON.
MongoDB dla deweloperów Mongo.
Cassandra dla danych szerokołańcuchowych.
Gremlin dla relacji grafowych.
Table API dla przechowywania klucz-wartość.
Cosmos DB dla deweloperów
Zaprojektowany z myślą o deweloperach.
Automatyczne indeksowanie – brak zarządzania schematem.
Szybkie zapytania.
Pięć poziomów spójności: od Strong do Eventual.
Kompromis między wydajnością a spójnością.
Strong – wszyscy otrzymują tę samą informację natychmiast.
Eventual – wszyscy synchronizują się z opóźnieniem.
Skalowanie i przepustowość (RU/s)
Jednostki żądań na sekundę (RU/s) = waluta wydajności Cosmos DB.
Każdy odczyt, zapis lub zapytanie zużywa pewną liczbę RU/s.
Wybór między stałą aprowizacją a skalowaniem automatycznym.
Skalowanie i przepustowość (RU/s)
Jednostki żądań na sekundę (RU/s) = waluta wydajności Cosmos DB.
Każdy odczyt, zapis lub zapytanie zużywa pewną liczbę RU/s.
Wybór między stałą aprowizacją a skalowaniem automatycznym.
Skalowanie automatyczne dostosowuje się do obciążenia.
Elastyczne skalowanie i partycjonowanie
Cosmos DB skaluje się dzięki partycjonowaniu.
Każdy kontener używa klucza partycji.
Klucz grupuje powiązane dane.
Przykład: Cipher Coffee używa
/customerId
dla zamówień.
Zamówienia klienta trafiają do tej samej partycji przy użyciu
/customerId
.
Zapytania pozostają szybkie nawet przy rosnących danych.
Gorąca partycja
: nierównomierne obciążenie partycji spowalnia wydajność.
Globalna dystrybucja
Łatwa replikacja danych do dowolnego regionu platformy Azure.
Wystarczy zaznaczyć pola wyboru – bez konfiguracji.
Gdy region ulegnie awarii, ruch jest automatycznie przekierowywany.
Bez przestojów i utraty danych.
Jak rezerwowa kawiarnia gotowa natychmiast obsłużyć klientów.
Monitorowanie i optymalizacja kosztów
Śledzenie wydajności w portalu Azure.
Wyświetlanie metryk: RU/s, opóźnienie, koszt żądania.
Jak deska rozdzielcza samochodu – prędkość i zużycie paliwa.
Inżynierowie Cipher Coffee analizowali te metryki.
Obniżyli koszty, dynamicznie dostosowując przepustowość.
Czas na ćwiczenia!
Programowanie dla Azure Storage
Preparing Video For Download...