Udostępnij za pośrednictwem


Typowe przypadki użycia usługi Azure Cosmos DB

DOTYCZY: NoSQL MongoDB Kasandra Gremlin Stół

Ten artykuł zawiera omówienie kilku typowych przypadków użycia usługi Azure Cosmos DB. Zalecenia w tym artykule służą jako punkt wyjścia podczas tworzenia aplikacji za pomocą usługi Azure Cosmos DB.

Po przeczytaniu tego artykułu będziesz w stanie odpowiedzieć na następujące pytania:

  • Jakie są typowe przypadki użycia usługi Azure Cosmos DB?
  • Jakie są zalety korzystania z usługi Azure Cosmos DB dla aplikacji detalicznych?
  • Jakie są zalety korzystania z usługi Azure Cosmos DB jako magazynu danych dla systemów Internetu rzeczy (IoT)?
  • Jakie są zalety korzystania z usługi Azure Cosmos DB dla aplikacji internetowych i mobilnych?

Wprowadzenie

Usługa Azure Cosmos DB to rozwiązanie platformy Azure dla szybkiej bazy danych NoSQL z otwartymi interfejsami API na dowolną skalę. Usługa została zaprojektowana tak, aby umożliwić klientom elastyczne (i niezależne) skalowanie przepływności i magazynowania w dowolnej liczbie regionów geograficznych. Usługa Azure Cosmos DB jest obecnie pierwszą globalnie rozproszoną usługą bazy danych, która oferuje kompleksowe umowy dotyczące poziomu usług obejmujące przepływność, opóźnienia, dostępność i spójność.

Azure Cosmos DB to globalna rozproszona, wielomodelowa baza danych używana w wielu aplikacjach i przypadkach użycia. Jest to dobry wybór dla każdej aplikacji bezserwerowej , która wymaga krótkich czasów odpowiedzi w milisekundach i musi być szybko i globalnie skalowana. Obsługuje wiele modeli danych (klucz-wartość, dokumenty, grafy i kolumny) oraz wiele interfejsów API usługi Azure Cosmos DB na potrzeby dostępu do danych, w tym interfejs API dla bazy danych MongoDB, interfejs API dla języka Gremlin i interfejs API dla tabeli natywnie i w sposób rozszerzalny.

Poniżej przedstawiono niektóre atrybuty usługi Azure Cosmos DB, które sprawiają, że są one odpowiednie dla aplikacji o wysokiej wydajności z globalnymi ambicjami.

  • Usługa Azure Cosmos DB natywnie partycjonuje dane pod kątem wysokiej dostępności i skalowalności. Usługa Azure Cosmos DB oferuje 99,99% gwarancji dostępności, przepływności, małych opóźnień i spójności na wszystkich kontach w jednym regionie i wszystkich kontach z wieloma regionami z luźną spójnością oraz dostępnością odczytu na wszystkich kontach bazy danych w wielu regionach.
  • Usługa Azure Cosmos DB ma magazyn oparty na dyskach SSD z małymi opóźnieniami i godzinami odpowiedzi na milisekundy.
  • Obsługa poziomów spójności usługi Azure Cosmos DB, takich jak ostateczna, spójny prefiks, sesja i powiązana nieaktualność, zapewnia pełną elastyczność i niski stosunek kosztów do wydajności. Żadna usługa bazy danych nie oferuje tak dużej elastyczności, jak usługa Azure Cosmos DB w spójności poziomów.
  • Usługa Azure Cosmos DB ma elastyczny model cenowy przyjazny dla danych, który niezależnie miernikuje magazyn i przepływność.
  • Model zarezerwowanej przepływności usługi Azure Cosmos DB umożliwia myślenie pod względem liczby operacji odczytu/zapisu zamiast procesorów CPU/pamięci/operacji we/wy na sekundę bazowego sprzętu.
  • Projekt usługi Azure Cosmos DB umożliwia skalowanie do ogromnych woluminów żądań w kolejności biliony żądań dziennie.

Te atrybuty są korzystne w aplikacjach internetowych, mobilnych, gier i IoT, które wymagają krótkich czasów odpowiedzi i muszą obsługiwać ogromne ilości operacji odczytu i zapisu.

IoT i telematyka

Przypadki użycia IoT często udostępniają pewne wzorce w sposobie pozyskiwania, przetwarzania i przechowywania danych. Najpierw systemy te muszą pozyskiwać serie danych z czujników urządzeń różnych ustawień regionalnych. Następnie te systemy przetwarzają i analizują dane przesyłane strumieniowo w celu uzyskania szczegółowych informacji w czasie rzeczywistym. Dane są następnie archiwizowane w zimnym magazynie na potrzeby analizy wsadowej. Platforma Microsoft Azure oferuje zaawansowane usługi, które można zastosować w przypadku przypadków użycia IoT, takich jak Azure Cosmos DB, Azure Event Hubs, Azure Stream Analytics, Azure Notification Hub, Azure Machine Learning, Azure HDInsight i Power BI.

Architektura referencyjna usługi Azure Cosmos DB IoT

Wzrosty ilości danych mogą być pozyskiwane przez usługę Azure Event Hubs, ponieważ oferuje pozyskiwanie danych o wysokiej przepływności z małym opóźnieniem. Pozyskane dane, które należy przetworzyć na potrzeby szczegółowych informacji w czasie rzeczywistym, można przesyłać do usługi Azure Stream Analytics na potrzeby analizy w czasie rzeczywistym. Dane można załadować do usługi Azure Cosmos DB na potrzeby wykonywania zapytań adhoc. Po załadowaniu danych do usługi Azure Cosmos DB dane są gotowe do odpytowania. Ponadto nowe dane i zmiany istniejących danych mogą być odczytywane w kanale informacyjnym zmian. Zestawienie zmian to trwały, dołączany tylko dziennik, który przechowuje zmiany w kontenerach usługi Azure Cosmos DB w kolejności sekwencyjnej. Następnie wszystkie dane lub tylko zmiany danych w usłudze Azure Cosmos DB mogą być używane jako dane referencyjne w ramach analizy w czasie rzeczywistym. Ponadto dane można dodatkowo udoskonalić i przetworzyć, łącząc dane usługi Azure Cosmos DB z usługą HDInsight dla usług Pig, Hive lub Map/Reduce. Dane uściśliwane są następnie ładowane z powrotem do usługi Azure Cosmos DB na potrzeby raportowania.

Aby zapoznać się z przykładowym rozwiązaniem IoT korzystającym z usług Azure Cosmos DB, Event Hubs i Apache Storm, zobacz repozytorium hdinsight-storm-examples w witrynie GitHub.

Aby uzyskać więcej informacji na temat ofert platformy Azure dla IoT, zobacz Tworzenie Internetu rzeczy.

Sprzedaż detaliczna i marketing

Usługa Azure Cosmos DB jest szeroko używana na własnych platformach handlu elektronicznego firmy Microsoft, które korzystają ze Sklepu Windows i XBox Live. Jest on również używany w branży handlu detalicznego do przechowywania danych katalogu i określania źródła zdarzeń w potokach przetwarzania zamówień.

Scenariusze użycia danych wykazu obejmują przechowywanie i wykonywanie zapytań dotyczących zestawu atrybutów dla jednostek, takich jak osoby, miejsca i produkty. Niektóre przykłady danych wykazu to konta użytkowników, katalogi produktów, rejestry urządzeń IoT i rachunki systemów materiałów. Atrybuty tych danych mogą się różnić i mogą zmieniać się wraz z upływem czasu w celu dopasowania ich do wymagań aplikacji.

Rozważmy przykład wykazu produktów dla dostawcy części samochodowych. Każda część może mieć własne atrybuty oprócz wspólnych atrybutów współużytkujących wszystkie części. Ponadto atrybuty określonej części mogą ulec zmianie w następnym roku po wydaniu nowego modelu. Usługa Azure Cosmos DB obsługuje elastyczne schematy i dane hierarchiczne, dlatego dobrze nadaje się do przechowywania danych katalogu produktów.

Architektura referencyjna katalogu detalicznego usługi Azure Cosmos DB

Usługa Azure Cosmos DB jest często używana do określania źródła zdarzeń do architektur opartych na zdarzeniach zasilania przy użyciu funkcji zestawienia zmian. Źródło zmian zapewnia mikrousługi podrzędne możliwość niezawodnego i przyrostowego odczytywania wstawień i aktualizacji (na przykład zdarzeń zamówienia) w usłudze Azure Cosmos DB. Ta funkcja może być służyć do zapewnienia trwałego magazynu zdarzeń jako brokera komunikatów dla zdarzeń zmieniających stan i napędzania przepływu pracy przetwarzania zamówień między wieloma mikrousługami (które można zaimplementować jako bezserwerowe usługi Azure Functions).

Architektura referencyjna potoku porządkowania usługi Azure Cosmos DB

Ponadto dane przechowywane w usłudze Azure Cosmos DB można zintegrować z usługą HDInsight na potrzeby analizy danych big data za pośrednictwem zadań platformy Apache Spark. Aby uzyskać szczegółowe informacje na temat łącznika Spark dla usługi Azure Cosmos DB, zobacz Run a Spark job with Azure Cosmos DB and HDInsight (Uruchamianie zadania spark za pomocą usług Azure Cosmos DB i HDInsight).

Gry

Warstwa bazy danych jest kluczowym elementem składowym aplikacji gier. Współczesne gry wykonują przetwarzanie graficzne na klientach mobilnych/konsolowych, ale to technologia chmury dostarcza odpowiednio dostosowaną i spersonalizowaną zawartość, taką jak statystyki uzyskane podczas gry, zestawienia najlepszych wyników czy integracja z mediami społecznościowymi. Gry często wymagają opóźnień jedno milisekundowych dla odczytów i zapisów, aby zapewnić angażowanie się w grę. Baza danych w przypadku gier musi być szybka i musi być w stanie obsłużyć ogromne ilości żądań podczas uruchomień nowych gier i aktualizacji funkcji.

Usługa Azure Cosmos DB jest używana przez gry takie jak The Walking Dead: No Man's Land by Next Games i Halo 5: Guardians by 343 Industries. Usługa Azure Cosmos DB zapewnia następujące korzyści deweloperom gier:

  • Usługa Azure Cosmos DB umożliwia elastyczne skalowanie wydajności w górę lub w dół. Dzięki temu gry mogą obsługiwać aktualizowanie profilu i statystyk od kilkudziesięciu do milionów równoczesnych graczy przez wykonanie jednego wywołania interfejsu API.
  • Usługa Azure Cosmos DB obsługuje odczyty i zapisy w milisekundach, aby uniknąć opóźnień podczas gry.
  • Automatyczne indeksowanie usługi Azure Cosmos DB umożliwia filtrowanie pod kątem wielu różnych właściwości w czasie rzeczywistym, na przykład lokalizowanie graczy według ich wewnętrznych identyfikatorów graczy lub ich gamecenter, Facebook, Identyfikatory Google lub zapytania na podstawie członkostwa graczy w gildii. Jest to możliwe bez tworzenia złożonej infrastruktury indeksowania lub fragmentowania.
  • Funkcje społecznościowe, w tym wiadomości czatu w grze, członkostwa w gildii graczy, wyzwania ukończone, rankingi wysokiej oceny i wykresy społecznościowe są łatwiejsze do zaimplementowania przy użyciu elastycznego schematu.
  • Usługa Azure Cosmos DB jako zarządzana platforma jako usługa (PaaS) wymagała minimalnej konfiguracji i zarządzania, aby umożliwić szybką iterację i skrócić czas obrotu.

Architektura referencyjna gier usługi Azure Cosmos DB

Aplikacje internetowe i mobilne

Azure Cosmos DB jest często używana w aplikacjach internetowych i mobilnych. Dobrze nadaje się do modelowania interakcji społecznościowych, integracji z usługami innych firm oraz do tworzenia bogatych, spersonalizowanych środowisk. Zestawy SDK usługi Azure Cosmos DB mogą służyć do tworzenia zaawansowanych aplikacji dla systemów iOS i Android przy użyciu popularnej platformy Xamarin.

Aplikacje społecznościowe

Typowym przypadkiem użycia usługi Azure Cosmos DB jest przechowywanie i wykonywanie zapytań dotyczących zawartości wygenerowanej przez użytkownika (UGC) dla aplikacji internetowych, mobilnych i społecznościowych. Niektóre przykłady ugC to sesje czatów, tweety, wpisy w blogu, oceny i komentarze. Często funkcja UGC w aplikacjach mediów społecznościowych to mieszanka wolnego tekstu, właściwości, tagów i relacji, które nie są powiązane ze sztywną strukturą. Zawartość, taka jak czaty, komentarze i wpisy, może być przechowywana w usłudze Azure Cosmos DB bez konieczności przekształcania ani złożonego obiektu do warstw mapowania relacyjnego. Właściwości danych można łatwo dodawać lub modyfikować w celu dopasowania ich do wymagań, ponieważ deweloperzy iterują kod aplikacji, co pozwala na szybkie opracowywanie aplikacji.

Aplikacje zintegrowane z sieciami społecznościowymi innych firm muszą reagować na zmiany schematów z tych sieci. Ponieważ dane są domyślnie indeksowane automatycznie w usłudze Azure Cosmos DB, dane są gotowe do wykonywania zapytań w dowolnym momencie. W związku z tym te aplikacje mają elastyczność pobierania projekcji zgodnie z ich potrzebami.

Wiele aplikacji społecznościowych działa w skali globalnej i może wykazywać nieprzewidywalne wzorce użycia. Elastyczność skalowania magazynu danych jest niezbędna, ponieważ warstwa aplikacji jest skalowana w celu dopasowania do zapotrzebowania na użycie. Możesz skalować w poziomie, dodając dodatkowe partycje danych na koncie usługi Azure Cosmos DB. Ponadto można również utworzyć dodatkowe konta usługi Azure Cosmos DB w wielu regionach. Aby uzyskać dostępność regionów usługi Azure Cosmos DB, zobacz Regiony świadczenia usługi Azure.

Diagram przedstawiający architekturę referencyjną aplikacji internetowej usługi Azure Cosmos DB.

Personalizacja

Obecnie nowoczesne aplikacje mają złożone widoki i środowiska. Są to zazwyczaj dynamiczne, catering dla preferencji użytkownika lub nastrojów i potrzeb marki. W związku z tym aplikacje muszą mieć możliwość efektywnego pobierania spersonalizowanych ustawień w celu szybkiego renderowania elementów interfejsu użytkownika i środowisk.

Format JSON obsługiwany przez usługę Azure Cosmos DB jest skutecznym formatem reprezentującym dane układu interfejsu użytkownika, ponieważ nie tylko jest lekki, ale także może być łatwo interpretowany przez język JavaScript. Usługa Azure Cosmos DB oferuje dostrajane poziomy spójności, które umożliwiają szybkie odczyty z zapisami o małych opóźnieniach. W związku z tym przechowywanie danych układu interfejsu użytkownika, w tym spersonalizowanych ustawień jako dokumentów JSON w usłudze Azure Cosmos DB, jest skutecznym sposobem uzyskania tych danych za pośrednictwem przewodu.

Architektura referencyjna aplikacji internetowej usługi Azure Cosmos DB

Następne kroki

  • Aby rozpocząć pracę z usługą Azure Cosmos DB, postępuj zgodnie z naszymi przewodnikami Szybki start, które przeprowadzą Cię przez proces tworzenia konta i rozpoczynania pracy z usługą Azure Cosmos DB.

  • Jeśli chcesz dowiedzieć się więcej o klientach korzystających z usługi Azure Cosmos DB, zobacz stronę analizy przypadków klientów.