Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Nowoczesne rozwiązania obsługują różne dane, takie jak transakcje, zdarzenia, dokumenty, dane telemetryczne, zasoby binarne i fakty analityczne. Pojedynczy magazyn danych rzadko spełnia wszystkie wzorce dostępu wydajnie. Większość systemów produkcyjnych stosuje wielojęzyczną trwałość danych, co oznacza, że wybierasz wiele modeli magazynowania. W tym artykule scentralizuje kanoniczne definicje podstawowych modeli magazynu danych dostępnych na platformie Azure i udostępnia tabele porównawcze w celu przyspieszenia wyboru modelu przed wybraniem określonych usług.
Aby wybrać modele danych, wykonaj następujące kroki:
Identyfikowanie wzorców dostępu do obciążeń, takich jak odczyty punktów, agregacje, pełny tekst, podobieństwo, skanowanie okien czasowych i dostarczanie obiektów.
Przyporządkuj wzorce do modeli przechowywania danych w poniższych sekcjach.
Utwórz krótką listę usług platformy Azure, które implementują te modele.
Zastosuj kryteria oceny, takie jak spójność, opóźnienie, skala, zarządzanie i koszt.
Łączenie modeli tylko wtedy, gdy wzorce dostępu lub cykle życia wyraźnie się różnią.
Jak korzystać z tego przewodnika
Każda sekcja modelu zawiera zwięzłą definicję, typowe obciążenia, charakterystykę danych, przykładowe scenariusze i linki do reprezentatywnych usług platformy Azure. Każda sekcja zawiera również tabelę, która ułatwia wybór odpowiedniej usługi platformy Azure dla danego przypadku użycia. W niektórych przypadkach możesz użyć innych artykułów, aby dokonywać bardziej świadomych wyborów dotyczących opcji usług platformy Azure. Odpowiednie sekcje modelu odwołują się do tych artykułów.
Dwie tabele porównawcze zawierają podsumowanie cech modelu nierelacyjnego, które ułatwiają szybkie ocenianie opcji bez powtarzania zawartości między sekcjami.
Omówienie klasyfikacji
| Kategoria | Cel podstawowy | Typowe przykłady usług platformy Azure |
|---|---|---|
| Relacyjne (OLTP) | Spójne operacje transakcyjne | Azure SQL Database, Azure Database for PostgreSQL lub Azure Database for MySQL |
| Nierelacyjne, takie jak dokument, klucz-wartość, rodzina kolumn i graf | Elastyczne schematy lub obciążenia skoncentrowane na relacjach | Interfejsy API usługi Azure Cosmos DB, usługa Azure Managed Redis, zarządzana baza danych Cassandra lub HBase |
| Szeregi czasowe | Wysoko pozyskane metryki i zdarzenia ze znacznikami czasu | Azure Data Explorer |
| Obiekt i plik | Duży magazyn plików binarnych lub częściowo ustrukturyzowanych | Azure Blob Storage lub Azure Data Lake Storage |
| Wyszukiwanie i indeksowanie | Indeksowanie pełnotekstowe i wielopolowe, indeksowanie pomocnicze | Wyszukiwanie AI platformy Azure |
| Vector | Podobieństwo semantyczne lub przybliżone najbliższego sąsiada (ANN) | Warianty usługi Azure AI Search lub Azure Cosmos DB |
| Analiza, przetwarzanie analityczne online (OLAP), masowe przetwarzanie równoległe (MPP) | Agregacja historyczna lub analiza biznesowa (BI) na dużą skalę | Microsoft Fabric, Azure Synapse Analytics, Azure Data Explorer, Azure Analysis Services lub Azure Databricks |
Uwaga / Notatka
Pojedyncza usługa może udostępniać wiele modeli, nazywanych również modelami wielomodelowymi. Wybierz model najlepiej dopasowany zamiast łączyć modele w sposób, który komplikuje operacje.
Relacyjne magazyny danych
Systemy zarządzania relacyjnymi bazami danych organizują dane w znormalizowane tabele przy użyciu schematu podczas zapisu. Zapewniają integralność i obsługują niepodzielność, spójność, izolację oraz trwałość transakcji (ACID) oraz rozbudowane zapytania SQL.
Mocne strony: Spójność transakcyjna z wieloma wierszami, złożone łączenia, silne ograniczenia relacyjne i dojrzałe narzędzia do raportowania, administrowania i zarządzania.
Zagadnienia dotyczące: Skalowanie w poziomie zwykle wymaga fragmentowania lub partycjonowania, a normalizacja może zwiększyć koszt sprzężenia dla zdenormalizowanych widoków odczytu.
Obciążeń: Zarządzanie zamówieniami, śledzenie zapasów, rejestrowanie rejestru finansowego, rozliczenia i raportowanie operacyjne.
Wybieranie usługi platformy Azure dla relacyjnych magazynów danych
SQL Database to zarządzana relacyjna baza danych dla nowoczesnych aplikacji w chmurze korzystających z aparatu programu SQL Server.
Usługa Azure SQL Managed Instance to niemal kompletne środowisko programu SQL Server w chmurze idealne do migracji metodą lift-and-shift.
Sql Database (Hiperskala) to wysoce skalowalna warstwa SQL przeznaczona dla dużych obciążeń z szybkim skalowaniem automatycznym i szybkimi kopiami zapasowymi.
Azure Database for PostgreSQL to zarządzana usługa PostgreSQL, która obsługuje rozszerzenia typu open source i elastyczne opcje wdrażania.
Usługa Azure Database for MySQL to zarządzana baza danych MySQL dla aplikacji internetowych i obciążeń typu open source.
Sql Database in Fabric to przyjazna dla deweloperów transakcyjna baza danych oparta na usłudze SQL Database, której można użyć do łatwego tworzenia operacyjnej bazy danych w sieci szkieletowej.
Skorzystaj z poniższej tabeli, aby określić, która usługa platformy Azure spełnia wymagania dotyczące przypadków użycia.
| Usługa | Najlepsze dla | Kluczowe funkcje | Przykładowy przypadek użycia |
|---|---|---|---|
| SQL Database | Aplikacje natywne dla chmury | Zarządzane, elastyczne pule, Hiperskala, wbudowana wysoka dostępność, zaawansowane zabezpieczenia | Tworzenie nowoczesnej aplikacji typu oprogramowanie jako usługa (SaaS) przy użyciu skalowalnego zaplecza SQL |
| Zarządzana instancja SQL | Starsze aplikacje dla przedsiębiorstw | Pełna zgodność z programem SQL Server, obsługa metodą lift-and-shift, sieci wirtualne, zaawansowana inspekcja | Migrowanie lokalnej aplikacji programu SQL Server przy użyciu minimalnych zmian kodu |
| SQL Database (Hyperscale) | Globalne rozproszenie | Skalowalność odczytu w wielu regionach, replikacja geograficzna, szybkie skalowanie automatyczne | Obsługa globalnie rozproszonej aplikacji wymagającej wysokiej przepływności odczytu |
| Azure Database for PostgreSQL | Obciążenia analityczne typu open source | PostGIS, Hiperskala, Serwer elastyczny, rozszerzenia open source | Tworzenie aplikacji do analizy geoprzestrzennej przy użyciu usług PostgreSQL i PostGIS |
| Azure Database for MySQL | Uproszczone aplikacje internetowe | Serwer elastyczny, zgodność typu open source, ekonomiczny | Hosting witryny handlu elektronicznego opartego na platformie WordPress |
| SQL Database w Fabric | Obciążenia przetwarzania transakcji online (OLTP) w ekosystemie sieci szkieletowej | Zbudowana na silniku bazy danych SQL, skalowalna i zintegrowana z Fabric. | Tworzenie aplikacji sztucznej inteligencji na operacyjnym, relacyjnym modelu danych, który obejmuje natywne możliwości wyszukiwania wektorów |
Magazyny danych nierelacyjnych
Nierelacyjne bazy danych, nazywane również bazami danych NoSQL, optymalizują pod kątem elastycznych schematów, skalowania w poziomie oraz określonych wzorców dostępu lub agregacji. Zazwyczaj rozluźniają niektóre aspekty zachowania relacyjnego, takie jak sztywność schematu i zakres transakcji, w celu zapewnienia skalowalności lub elastyczności.
Magazyny danych dokumentów
Magazyny danych dokumentów służą do przechowywania częściowo ustrukturyzowanych dokumentów, często w formacie JSON, gdzie każdy dokument zawiera nazwane pola i dane. Dane mogą być prostymi wartościami lub złożonymi elementami, takimi jak listy i zbiory podrzędne. Elastyczność schematu poszczególnych dokumentów umożliwia stopniową ewolucję.
Mocnych: Mapowanie obiektów aplikacji naturalnej, denormalizowane agregacje, indeksowanie wielu pól
Zagadnienia dotyczące: Zwiększanie rozmiaru dokumentu, selektywny zakres transakcyjny, potrzeba starannego projektowania kształtu danych w przypadku zapytań o dużą skalę
Obciążenia: Katalogi produktów, zarządzanie zawartością, bazy danych profili
Wybieranie usługi platformy Azure dla magazynów danych dokumentów
Usługa Azure Cosmos DB for NoSQL to bez schematu wieloregionowa baza danych NoSQL, która ma odczyty i zapisy o małych opóźnieniach.
Usługa Azure Cosmos DB dla bazy danych MongoDB to globalnie rozproszona baza danych, która ma zgodność protokołu przewodowego MongoDB i skalowanie automatyczne.
Azure Cosmos DB w Fabric to baza danych NoSQL bez schematów, która ma odczyty i zapisy o małych opóźnieniach, uproszczone zarządzanie oraz wbudowane analizy Fabric.
Skorzystaj z poniższej tabeli, aby określić, która usługa platformy Azure spełnia wymagania dotyczące przypadków użycia.
| Usługa | Najlepsze dla | Kluczowe funkcje | Przykładowy przypadek użycia |
|---|---|---|---|
| Azure Cosmos DB for NoSQL | Niestandardowe modele dokumentów JSON, które obsługują wykonywanie zapytań przypominających język SQL | Rozbudowany język zapytań, zapisy w wielu regionach, czas wygaśnięcia (TTL), zestawienie zmian | Tworzenie wielodostępnej platformy SaaS obsługującej elastyczne schematy |
| Usługa Azure Cosmos DB dla bazy danych MongoDB | Aplikacje korzystające ze sterowników bazy danych MongoDB lub interfejsów API zorientowanych na dane JSON | Dystrybucja globalna, skalowanie automatyczne, natywny protokół przewodowy bazy danych MongoDB | Migrowanie aplikacji Node.js z bazy danych MongoDB na platformę Azure |
| Usługa Azure Cosmos DB w sieci szkieletowej | Analiza w czasie rzeczywistym z wykorzystaniem danych NoSQL | Automatyczne wyodrębnianie, przekształcanie i ładowanie (ETL) do OneLake poprzez integrację z Fabric | Transakcyjne aplikacje, które obejmują pulpity nawigacyjne analityczne w czasie rzeczywistym |
Magazyny danych rodziny kolumnowej
Baza danych skupiona na rodzinach kolumn, znana również jako baza danych o szerokiej kolumnie, przechowuje rzadkie dane w wierszach i organizuje kolumny dynamiczne w rodziny kolumn w celu zapewnienia jednoczesnego dostępu. Orientacja kolumny poprawia skanowanie w wybranych zestawach kolumn.
Mocne strony: Wysoka szybkość zapisu, wydajne pobieranie szerokich lub rzadkich zestawów danych, dynamiczne schematy w ramach rodzin danych
Zagadnienia dotyczące: Projektowanie z wyprzedzeniem klucza wiersza i rodziny kolumn, obsługa indeksów wtórnych różni się, elastyczność zapytań jest niższa niż w systemach relacyjnych
Obciążenia: Telemetria Internetu Rzeczy (IoT), personalizacja, preaggregacja analiz, dane masowe w stylu szeregów czasowych, gdy nie używasz dedykowanej bazy danych szeregów czasowych
Wybierz usługę platformy Azure dla magazynów danych rodziny kolumn
Wystąpienie zarządzane platformy Azure dla usługi Apache Cassandra to usługa zarządzana dla klastrów Apache Cassandra typu open source.
Baza danych Apache HBase w usłudze Azure HDInsight to skalowalny magazyn NoSQL dla obciążeń danych big data oparty na bazie danych Apache HBase i ekosystemie hadoop.
Azure Data Explorer (Kusto) to aparat analityczny do danych telemetrycznych, dzienników i szeregów czasowych korzystających z języka Kusto Query Language (KQL).
Skorzystaj z poniższej tabeli, aby określić, która usługa platformy Azure spełnia wymagania dotyczące przypadków użycia.
| Usługa | Najlepsze dla | Kluczowe funkcje | Przykładowy przypadek użycia |
|---|---|---|---|
| Instancja zarządzana Azure dla Apache Cassandra | Nowe i zmigrowane obciążenia bazy danych Cassandra | Zarządzane, natywne rozwiązanie Apache Cassandra | Gromadzenie danych telemetrycznych urządzeń IoT z obsługą zgodności z Cassandra |
| Baza danych Apache HBase w usłudze HDInsight | Ekosystem hadoop, analiza wsadowa | Integracja rozproszonego systemu plików Hadoop (HDFS), przetwarzanie wsadowe o dużej skali | Przetwarzanie wsadowe danych czujników w zakładzie produkcyjnym |
| Azure Data Explorer (Kusto) | Systemy telemetrii o dużym poborze danych, analiza szeregów czasowych | KQL, szybkie zapytania ad hoc, funkcje okna czasowego | Analizy w czasie rzeczywistym dla logów i metryk aplikacji |
Magazyny danych klucz-wartość
Baza danych klucz-wartość kojarzy każdą wartość danych z unikatowym kluczem. Większość magazynów klucz-wartość obsługuje tylko proste operacje zapytań, wstawiania i usuwania. Aby zmodyfikować wartość częściowo lub całkowicie, aplikacja musi zastąpić istniejące dane dla całej wartości. W większości implementacji odczyt lub zapis pojedynczej wartości to operacja atomowa.
Mocnych: Prostota, małe opóźnienia, skalowalność liniowa
Uwagi: Ograniczona wyrazistość zapytań, przeprojektowanie wymagane do wyszukiwań opartych na wartościach, wysoki koszt nadpisywania dużych wartości
Obciążenia: Buforowanie, sesje, flagi funkcji, profile użytkowników, wyszukiwanie rekomendacji
Wybierz usługę platformy Azure dla magazynów danych klucz-wartość
Usługa Azure Managed Redis to zarządzany magazyn danych w pamięci oparty na najnowszej wersji usługi Redis Enterprise, która zapewnia małe opóźnienia i wysoką przepływność.
Usługa Azure Cosmos DB for Table to magazyn par klucz-wartość zoptymalizowany pod kątem szybkiego dostępu do ustrukturyzowanych danych NoSQL.
Usługa Azure Cosmos DB for NoSQL to magazyn danych dokumentów zoptymalizowany pod kątem szybkiego dostępu do ustrukturyzowanych danych NoSQL i zapewnia skalowalność w poziomie.
Skorzystaj z poniższej tabeli, aby określić, która usługa platformy Azure spełnia wymagania dotyczące przypadków użycia.
| Usługa | Najlepsze dla | Kluczowe funkcje | Przykładowy przypadek użycia |
|---|---|---|---|
| Azure Managed Redis | Szybkie buforowanie, stan sesji, publikowanie i subskrybowanie | Pamięciowy magazyn, opóźnienie poniżej milisekundy, protokół Redis | Buforowanie stron produktów dla witryny handlu elektronicznego |
| Usługa Azure Cosmos DB dla tabeli | Migrowanie istniejących obciążeń usługi Azure Table Storage | Zgodność interfejsu API usługi Table Storage | Przechowywanie preferencji i ustawień użytkownika w aplikacji mobilnej |
| Azure Cosmos DB for NoSQL | Szybkie buforowanie z ogromną skalą i wysoką dostępnością | Bez schematu, wiele regionów, skalowanie automatyczne | Buforowanie, stan sesji, warstwa obsługi |
Bazy danych grafowych
Grafowa baza danych przechowuje informacje jako węzły i krawędzie. Krawędzie definiują relacje, a obie węzły i krawędzie mogą mieć właściwości podobne do kolumn tabeli. Możesz analizować połączenia między jednostkami, takimi jak pracownicy i działy.
Silne strony: Wzorce zapytań relacyjnych, wydajne przechodzenia o zmiennej głębokości
Rozważania: Nadmiar obciążenia przy powierzchownych relacjach, wymaga starannego modelowania pod kątem wydajności, nie nadaje się do zbiorczych skanów analitycznych.
Obciążeń: Sieci społecznościowe, pierścienie oszustw, wykresy wiedzy, zależności łańcucha dostaw
Wybieranie usługi platformy Azure dla magazynów danych grafowych
Użyj rozszerzeń grafu programu SQL Server do przechowywania danych grafu. Rozszerzenie grafu rozszerza możliwości programów SQL Server, SQL Database i SQL Managed Instance w celu umożliwienia modelowania i wykonywania zapytań dotyczących złożonych relacji przy użyciu struktur grafów bezpośrednio w relacyjnej bazie danych.
Magazyny danych szeregów czasowych
Magazyny danych szeregów czasowych zarządzają zestawem wartości zorganizowanych według czasu. Obsługują one funkcje, takie jak zapytania i agregacje oparte na czasie, i są zoptymalizowane pod kątem pozyskiwania i analizowania dużych ilości danych niemal w czasie rzeczywistym.
Mocne strony: Kompresja, wydajność zapytań okiennych, obsługa pozyskiwania poza kolejnością
Zagadnienia dotyczące: Zarządzanie liczebnością tagów, zarządzanie kosztami przechowywania, strategia próbkowania
Obciążeń: Metryki czujników IoT, telemetria aplikacji, monitorowanie, dane przemysłowe
Wybieranie usługi platformy Azure dla magazynów danych szeregów czasowych
Użyj usługi Azure Data Explorer do przechowywania danych szeregów czasowych. Azure Data Explorer to zarządzana, wysokiej wydajności platforma analizy danych big data, która ułatwia analizowanie dużych ilości danych niemal w czasie rzeczywistym.
Składowiska danych obiektowych
Przechowuj duże obiekty binarne lub częściowo ustrukturyzowane i zawierają metadane, które rzadko zmieniają się lub pozostają niezmienne.
Mocne strony: Praktycznie nieograniczona skala, koszt warstwowy, trwałość, możliwość odczytu równoległego
Zagadnienia dotyczące: Operacje całego obiektu, ograniczone zapytania dotyczące metadanych, zachowania dotyczące listy ostatecznej
Obciążenia: Zasoby multimedialne, kopie zapasowe, strefy nieprzetworzone usługi Data Lake, archiwa dzienników
Wybieranie usługi platformy Azure dla magazynów danych obiektów
Data Lake Storage to magazyn obiektów zoptymalizowany pod kątem danych big data, który łączy hierarchiczną przestrzeń nazw i zgodność z systemem plików HDFS na potrzeby zaawansowanej analizy i przetwarzania danych na dużą skalę.
Blob Storage to skalowalny magazyn obiektów dla danych bez struktury, takich jak obrazy, dokumenty i kopie zapasowe, które obejmują dostęp warstwowy na potrzeby optymalizacji kosztów.
Skorzystaj z poniższej tabeli, aby określić, która usługa platformy Azure spełnia wymagania dotyczące przypadków użycia.
| Usługa | Najlepsze dla | Kluczowe funkcje | Przykładowy przypadek użycia |
|---|---|---|---|
| |
Analiza danych big data i dane hierarchiczne | HDFS, hierarchiczna przestrzeń nazw zoptymalizowana pod kątem analizy | Przechowywanie i wykonywanie zapytań dotyczących petabajtów danych ze strukturą i bez struktury przy użyciu usługi Azure Synapse Analytics lub Azure Databricks |
| Blob Storage | Magazyn obiektów ogólnego przeznaczenia | Płaska przestrzeń nazw, prosty interfejs API REST i magazyn warstwowy, który obejmuje gorącą, chłodną i archiwalną. | Hostowanie obrazów, dokumentów, kopii zapasowych i zawartości statycznej witryny internetowej |
Wyszukiwanie i indeksowanie magazynów danych
Baza danych aparatu wyszukiwania umożliwia aplikacjom wyszukiwanie informacji w zewnętrznych magazynach danych. Baza danych aparatu wyszukiwania może indeksować ogromne ilości danych i zapewniać niemal w czasie rzeczywistym dostęp do tych indeksów.
Mocne strony: Zapytania pełnotekstowe, ocenianie, analiza językowa, dopasowywanie rozmyte
Zagadnienia dotyczące: Docelowa spójność indeksów, oddzielne przetwarzanie danych lub potok indeksowania, koszty aktualizacji dużych indeksów
Obciążeń: Wyszukiwanie witryn lub produktów, wyszukiwanie dzienników, filtrowanie metadanych, odnajdywanie wielu atrybutów
Wybieranie usługi platformy Azure do wyszukiwania magazynów danych
Aby uzyskać więcej informacji, zobacz Wybieranie magazynu danych wyszukiwania na platformie Azure.
Repozytoria danych wyszukiwania wektorowego
Magazyny danych wyszukiwania wektorowego przechowują i pobierają wielowymiarowe wektorowe reprezentacje danych, często generowane przez modele uczenia maszynowego.
Mocnych: Wyszukiwanie semantyczne, algorytmy ANN
Zagadnienia dotyczące: Złożoność indeksowania, obciążenie magazynu, opóźnienie i dokładność, wyzwania związane z integracją
Obciążenia: Semantyczne wyszukiwanie dokumentów, silniki rekomendacji, pobieranie obrazów i wideo, wykrywanie oszustw i anomalii
Wybieranie usługi platformy Azure dla magazynów danych wyszukiwania wektorowego
Aby uzyskać więcej informacji, zobacz Wybieranie usługi platformy Azure na potrzeby wyszukiwania wektorów.
Magazyny danych analitycznych
Magazyny danych analitycznych przechowują big data i utrwalają je w całym cyklu życia potoku analitycznego.
Mocnych: Skalowalne zasoby obliczeniowe i magazynowe, obsługa usług SQL i Spark, integracja z narzędziami analizy biznesowej, szeregami czasowymi i analizą telemetrii
Zagadnienia dotyczące: Koszt i złożoność aranżacji, opóźnienie zapytań dla obciążeń ad hoc, nadzór w wielu domenach danych
Obciążenia: Raportowanie korporacyjne, analiza big data, agregacja telemetryczna, operacyjne pulpity nawigacyjne, potoki przetwarzania danych w nauce
Wybieranie usługi platformy Azure na potrzeby magazynów danych analitycznych
Aby uzyskać więcej informacji, zobacz Wybieranie magazynu danych analitycznych na platformie Azure.
Charakterystyka porównawcza (podstawowe modele nierelacyjne)
| Aspekt | Dokument | Rodzina kolumn (Column family) | Klucz-wartość | Graph |
|---|---|---|---|---|
| Normalizacja | Zdenormalizowane | Zdenormalizowane | Zdenormalizowane | Znormalizowane relacje |
| Podejście schematu | Schemat podczas odczytywania | Zdefiniowane rodziny kolumn, schemat kolumn podczas odczytu | Schemat podczas odczytywania | Schemat podczas odczytywania |
| Spójność (typowa) | Dostosowywalny dla każdego elementu | Dla każdego wiersza lub grupy danych | Dla każdego klucza | Dla każdej krawędzi lub semantyki przejścia |
| Zakres atomowości | Dokument | Wiersz lub kolumna, w zależności od implementacji tabeli | Pojedynczy klucz | Transakcja grafu (zmienna) |
| Blokowanie i współbieżność | Optymistyczne (ETag) | Pesymistyczne lub optymistyczne, w zależności od implementacji | Optymistyczny (klucz) | Optymistyczne (wzorzec) |
| Wzorzec dostępu | Agregacja (jednostka) | Szerokie rzadkie zbiory | Wyszukiwanie punktów według klucza | Przechodzenie relacji |
| Indeksowanie | Podstawowa i pomocnicza | Podstawowa i ograniczona wtórna | Podstawowy (klucz) | Podstawowa i czasami pomocnicza |
| Kształt danych | Elastyczna hierarchiczna struktura | Szeroki tabelaryczny odstęp | Nieprzezroczyste wartości | Węzły i krawędzie |
| Rzadkie/Szerokie zastosowanie | Tak/Tak | Tak/Tak | Yes/No | Nie/Nie |
| Typowy rozmiar dat | Mały–średni | Średni–duży | Mały | Mały |
| Wymiar skalowania | Liczba partycji | Szerokość rodziny partycji i kolumn | Przestrzeń kluczy | Liczba węzłów lub krawędzi |
Cechy porównawcze (wyspecjalizowane modele nierelacyjne)
| Aspekt | Szeregi czasowe | Obiekt (blob) | Wyszukiwanie/indeksowanie |
|---|---|---|---|
| Normalizacja | Znormalizowana | Zdenormalizowane | Zdenormalizowane |
| Schema | Schemat podczas odczytu (tagi) | Nieprzezroczyste wartości i metadane | Schemat podczas zapisu (mapowanie indeksu) |
| Zakres atomowości | Nie dotyczy (dodaj) | Object | Dla każdej operacji dokumentu lub indeksu |
| Wzorzec dostępu | Skanowanie fragmentów czasu, agregacja okien | Operacje całego obiektu | Zapytania tekstowe i filtry |
| Indeksowanie | Czas i opcjonalny dodatkowy | Tylko klucz (ścieżka) | Odwrócone i opcjonalne aspekty |
| Kształt danych | Tabela (sygnatura czasowa, tagi, wartość) | Plik binarny lub obiekt blob z metadanymi | Tokenizowany tekst i ustrukturyzowane pola |
| Rejestracja profilu | Dołączanie o wysokiej szybkości | Zbiorcze lub rzadkie aktualizacje | Indeks wsadowy lub strumieniowy |
| Odczyt profilu | Zagregowane zakresy | Pobieranie całkowite lub częściowe | Sklasyfikowane zestawy wyników |
| Czynnik wzrostu | Współczynnik zdarzeń pomnożony przez przechowywanie | Liczba i rozmiar obiektów | Indeksowany wolumin dokumentu |
| Tolerancja jednolitości | Ostateczna dla późnych danych | Odczyt po zapisie dla każdego obiektu | Ostateczna liczba nowych dokumentów |
Wybór spośród modeli (heurystyka)
| Potrzeba | Woleć |
|---|---|
| Ścisłe transakcje obejmujące wiele jednostek | Relacyjne |
| Zmieniające się kształty agregatów, interfejsy API skoncentrowane na JSON-ie | Dokument |
| Ekstremalnie szybkie wyszukiwania kluczy z niskimi opóźnieniami lub cache'owanie | Klucz-wartość |
| Szerokie, rozrzedliwe, duże dane telemetryczne z dużą liczbą zapisów | Rodzina kolumn lub szereg czasowy |
| Przechodzenie relacji głębokich | Graph |
| Masowe historyczne skanowania analityczne | Analiza lub OLAP |
| Duże nieustrukturyzowane pliki binarne lub strefy jezior danych | Object |
| Pełnotekstowa trafność i filtrowanie | Wyszukiwanie i indeksowanie |
| Metryki znacznika czasu o dużym poborze z zapytaniami z oknami | Szeregi czasowe |
| Szybkie podobieństwo (semantyczne lub wektorowe) | Wyszukiwanie wektorowe |
Łączenie modeli i unikanie pułapek
Użyj więcej niż jednego modelu, jeśli mają zastosowanie następujące scenariusze:
- Wzorce dostępu różnią się, takie jak wyszukiwanie punktowe, szerokie skanowanie analityczne oraz wyszukiwanie pełnotekstowe z uwzględnieniem trafności.
- Cykl życia i przechowywanie różnią się, takie jak niezmienne surowe i opracowane strukturalne.
- Konflikt opóźnień i wymagań dotyczących przepływności.
Unikaj przedwczesnej fragmentacji.
- Używaj jednej usługi, gdy nadal spełnia cele dotyczące wydajności, skalowalności i zarządzania.
- Scentralizowanie współużytkowanej logiki klasyfikacji i unikanie duplikowania potoków przekształcania między magazynami, chyba że jest to konieczne.
Poszukaj następujących typowych antywzorzeców:
- Wiele mikrousług współużytkuje jedną bazę danych, która tworzy sprzężenie.
- Zespoły dodają kolejny model bez dojrzałości operacyjnej, na przykład monitorowanie lub tworzenie kopii zapasowych.
- Indeks wyszukiwania staje się podstawowym magazynem danych, co prowadzi do nieprawidłowego użycia.
Kiedy ponownie ocenić wybór modelu
| Sygnał | Możliwe działanie |
|---|---|
| Zwiększanie sprzężeń ad hoc w magazynie dokumentów | Wprowadzanie modelu odczytu relacyjnego |
| Wysokie użycie procesora CPU w indeksie wyszukiwania z powodu agregacji analitycznych | Odciążanie silnika analitycznego |
| Duże zdenormalizowane dokumenty tworzą rywalizację o częściową aktualizację | Przekształcanie agregatów lub ich dzielenie |
| Zapytania dotyczące okien czasowych są powolne w magazynie danych typu kolumna | Wdrażanie specjalnie utworzonej bazy danych szeregów czasowych |
| Opóźnienie wyszukiwania punktów rośnie z głębokością przechodzenia grafu | Dodawanie zmaterializowanych widoków pochodnych |
Dalsze kroki
- Metodologia Bezpieczna w Frameworku wdrażania chmury dla platformy Azure
- Zabezpieczenia danych platformy Zero Trust
Powiązane zasoby
Użyj następujących artykułów, aby wybrać wyspecjalizowany magazyn danych:
- Wybieranie technologii magazynu danych big data na platformie Azure
- Wybieranie magazynu danych wyszukiwania na platformie Azure
- Wybieranie usługi platformy Azure na potrzeby wyszukiwania wektorowego
Dowiedz się więcej o architekturach referencyjnych korzystających z usług platformy Azure w tym artykule:
- Podstawowa architektura aplikacji internetowej strefowo nadmiarowej o wysokiej dostępności używa usługi SQL Database jako magazynu danych relacyjnych.
- Wdrażanie mikrousług za pomocą usługi Azure Container Apps i architektury języka Dapr korzysta z usług SQL Database, Azure Cosmos DB i Azure Cache for Redis jako magazynów danych.
- Automatyzacja klasyfikacji dokumentów w architekturze platformy Azure używa usługi Azure Cosmos DB jako magazynu danych.