Wybieranie rozwiązania do magazynowania na platformie Azure

Ukończone

Wybranie właściwego rozwiązania magazynu może prowadzić do podwyższenia wydajności i zwiększenia możliwości zarządzania oraz zapewnić oszczędności. Każdy typ danych ma inne wymagania dotyczące magazynu. Twoim zadaniem jest określenie, które rozwiązanie magazynu jest najlepsze dla typów danych używanych przez firmę. Zawsze należy rozważyć typ danych, wymagane operacje, oczekiwane opóźnienie i potrzebę obsługi transakcyjnej.

W tym miejscu zastosujesz zdobytą wiedzę na temat danych w scenariuszu handlu detalicznego online i znajdziesz najlepszą usługę platformy Azure dla każdego zestawu danych.

Dane katalogu produktów

Klasyfikacja danych: Częściowo ustrukturyzowana ze względu na potrzebę rozszerzenia lub zmodyfikowania schematu dla nowych produktów.

Operacje:

  • Klienci wymagają dużej liczby operacji odczytu z możliwością wykonywania zapytań o wiele pól w bazie danych.
  • Firma wymaga dużej liczby operacji zapisu do śledzenia stale zmieniających się stanów magazynowych.

Opóźnienie i przepływność: wysoka przepływność i małe opóźnienia.

Obsługa transakcyjna: ponieważ dane produktów są powiązane z płatnościami i zapasami, wymagana jest obsługa transakcyjna.

Usługa Azure Cosmos DB obsługuje dane częściowo ustrukturyzowane lub NoSQL zgodnie z projektem. Dlatego obsługa nowych pól, takich jak pole "z obsługą połączenia Bluetooth" lub dowolne nowe pola potrzebne w przyszłości, jest czymś, co można zrobić w usłudze Azure Cosmos DB.

Usługa Azure Cosmos DB obsługuje język SQL dla zapytań, a każda właściwość jest domyślnie indeksowana. Możesz tworzyć zapytania, aby Twoi klienci mogli przeprowadzać filtrowanie według dowolnej właściwości w katalogu.

Usługa Azure Cosmos DB jest również zgodna ze standardem ACID, więc możesz mieć pewność, że transakcje są wykonywane zgodnie z tymi ścisłymi wymaganiami. Łącznik OLTP jest dostępny dla usługi Azure Cosmos DB.

Ponadto możesz użyć usługi Azure Cosmos DB, aby łatwo replikować dane w dowolnym miejscu na świecie. Jeśli więc twoja witryna handlu elektronicznego ma użytkowników skoncentrowanych w Stanach Zjednoczonych, Francji i Anglii, możesz replikować dane do centrów danych w tych regionach. Opóźnienie jest mniejsze, ponieważ dane zostały fizycznie przeniesione bliżej użytkowników.

Nawet w przypadku danych replikowanych na całym świecie można wybrać jeden z pięciu poziomów spójności. Dzięki wybraniu odpowiedniego poziomu spójności możesz określić kompromisy między spójnością, dostępnością, opóźnieniem i przepływnością. Możesz skalować w górę, aby obsłużyć większe zapotrzebowanie klientów w okresach szczytowych zakupów lub skalować w dół w wolniejszym czasie, aby zaoszczędzić na kosztach.

Dlaczego nie inne usługi platformy Azure?

Usługa Azure SQL Database byłaby doskonałym wyborem dla tego zestawu danych, jeśli można zidentyfikować podzbiór właściwości, które są wspólne dla większości produktów i właściwości zmiennych, które mogą nie istnieć w niektórych produktach. Za pomocą usługi Azure SQL Database można łączyć dane ustrukturyzowane w kolumnach i częściowo ustrukturyzowane dane przechowywane jako kolumny JSON, które można łatwo rozszerzyć. Usługa Azure SQL Database może zapewnić wiele tych samych zalet usługi Azure Cosmos DB, ale zapewnia niewielkie korzyści, jeśli struktura danych zmienia się w różnych jednostkach i nie można wstępnie zdefiniować zestawu typowych właściwości powtarzanych w większości jednostek. W przeciwieństwie do usługi Azure Cosmos DB, która indeksuje każdą właściwość w dokumentach, w usłudze Azure SQL Database należy jawnie zdefiniować właściwości w dokumentach częściowo ustrukturyzowanych. Usługa Azure Cosmos DB to lepszy wybór dla wysoce nieustrukturyzowanych i zmiennych danych, w których nie można przewidzieć, jakie właściwości powinny być indeksowane. Usługa Azure SQL Database obsługuje olTP.

Inne usługi platformy Azure, takie jak Azure Table Storage, Apache HBase w usłudze Azure HDInsight i Azure Cache for Redis, mogą również przechowywać dane NoSQL. W tym scenariuszu użytkownicy chcą wykonywać zapytania względem wielu pól, więc usługa Azure Cosmos DB jest lepszym rozwiązaniem. Usługa Azure Cosmos DB domyślnie indeksuje każde pole, natomiast inne usługi platformy Azure są ograniczone do indeksowanych danych. Wykonywanie zapytań względem pól nieindeksowanych powoduje zmniejszenie wydajności.

Zdjęcia i wideo

Klasyfikacja danych: bez struktury.

Operacje:

  • Pobierz tylko według identyfikatora.
  • Klienci wymagają dużej liczby operacji odczytu z małymi opóźnieniami.
  • Operacje tworzenia i aktualizowanie operacji będą rzadsze i mogą mieć większe opóźnienie niż operacje odczytu.

Opóźnienie i przepływność: pobieranie według identyfikatora wymaga obsługi małych opóźnień i wysokiej przepływności. Operacje tworzenia i aktualizowanie operacji mogą mieć większe opóźnienie niż operacje odczytu.

Obsługa transakcyjna: nie jest wymagana.

Usługa Azure Blob Storage obsługuje przechowywanie plików, takich jak zdjęcia i filmy wideo. Działa również z usługą Azure Content Delivery Network, buforując najczęściej używaną zawartość, a następnie przechowując ją na serwerach brzegowych. Usługa Azure Content Delivery Network zmniejsza opóźnienie podczas dostarczania tych obrazów użytkownikom.

W usłudze Azure Blob Storage można również przenosić obrazy z warstwy magazynowania Gorąca do warstwy magazynowania chłodnego lub warstwy magazynowania archiwum, aby zmniejszyć koszty i skoncentrować przepływność na najczęściej oglądanych obrazach i filmach wideo.

Dlaczego nie inne usługi platformy Azure?

Obrazy można przekazać do usługi aplikacja systemu Azure, aby ten sam serwer, na którym działa aplikacja, obsługiwał obrazy. To rozwiązanie będzie działać, jeśli nie masz wielu plików. Jeśli jednak masz wiele plików i odbiorców globalnych, uzyskasz lepszą wydajność przy użyciu usługi Azure Blob Storage z usługą Azure Content Delivery Network.

Dane biznesowe

Klasyfikacja danych: ustrukturyzowana.

Operacje: złożone zapytania analityczne tylko do odczytu w wielu bazach danych.

Opóźnienie i przepływność: oczekiwane jest pewne opóźnienie w wynikach na podstawie złożonego charakteru zapytań.

Obsługa transakcyjna: nie jest wymagana.

Dane biznesowe najprawdopodobniej będą odpytywane przez analityków biznesowych, którzy najprawdopodobniej znają język SQL niż jakikolwiek inny język zapytań. Możesz użyć usługi Azure SQL Database jako rozwiązania, ale jeśli połączysz ją z usługą Azure Analysis Services, analitycy danych mogą utworzyć model semantyczny na danych w usłudze Azure SQL Database. Analitycy danych mogą następnie udostępniać model użytkownikom biznesowym, którzy muszą łączyć się tylko z modelem z dowolnego narzędzia analizy biznesowej (BI), aby natychmiast eksplorować dane i uzyskiwać szczegółowe informacje. Usługi Azure Analysis Services obsługują OLAP.

Dlaczego nie inne usługi platformy Azure?

Usługa Azure Synapse Analytics obsługuje rozwiązania OLAP i zapytania SQL, ale analitycy biznesowi będą musieli wykonywać zapytania obejmujące wiele baz danych, które usługa Azure Synapse Analytics nie obsługuje.

Usługa Azure Stream Analytics to doskonały sposób analizowania danych i przekształcania ich w szczegółowe informacje umożliwiające podejmowanie działań, ale koncentruje się ona na danych w czasie rzeczywistym, które są przysyłane strumieniowo. W tym scenariuszu analitycy biznesowi będą przeszukiwać tylko dane historyczne.