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.
W tym artykule opisano kryteria porównania używane podczas oceniania magazynu danych. Celem jest ułatwienie określenia typów magazynów danych, które mogą spełniać wymagania rozwiązania.
Zagadnienia ogólne
Podczas wybierania należy wziąć pod uwagę następujące zagadnienia.
Wymagania funkcjonalne
- Format danych: jakiego typu dane zamierzasz przechowywać? Typowe typy obejmują dane transakcyjne, obiekty JSON, dane telemetryczne, indeksy wyszukiwania lub pliki proste.
- Rozmiar danych: Jak duże są jednostki potrzebne do przechowywania? Czy te jednostki muszą być przechowywane jako pojedynczy dokument, czy też mogą być podzielone na wiele dokumentów, tabel i kolekcji?
- Skalowanie i struktura: Jaka jest ogólna ilość potrzebnej pojemności magazynu? Czy przewidujesz partycjonowanie danych?
- Relacje danych: Czy twoje dane muszą obsługiwać relacje jeden do wielu lub wiele do wielu? Czy relacje same w sobie są ważnym elementem danych? Czy musisz dołączyć lub w inny sposób połączyć dane z tego samego zestawu danych lub z zewnętrznych zestawów danych?
- Model spójności: Jak ważne jest, aby aktualizacje wprowadzone w jednym węźle pojawiały się w innych węzłach przed wprowadzeniem dalszych zmian? Czy możesz zaakceptować spójność ostateczną? Czy potrzebujesz gwarancji ACID dla transakcji?
- Elastyczność schematu: jakiego rodzaju schematy będą stosowane do danych? Czy będziesz używać stałego schematu, podejścia schematu przy zapisie, czy schematu przy odczycie?
- Współbieżność: Jakiego rodzaju mechanizm współbieżności ma być używany podczas aktualizowania i synchronizowania danych? Czy aplikacja będzie wykonywać wiele aktualizacji, które mogą potencjalnie powodować konflikt? Jeśli tak, może być wymagane blokowanie rekordów i pesymistyczne sterowanie współbieżnością. Czy możesz wspierać optymistyczne mechanizmy kontroli współbieżności? Jeśli tak, czy wystarczy prosta kontrola współbieżności oparta na sygnaturze czasowej, czy potrzebujesz dodatkowej funkcjonalności wielowersyjnej kontroli współbieżności?
- Przenoszenie danych: Czy rozwiązanie będzie musiało wykonywać zadania ETL, aby przenieść dane do innych magazynów lub magazynów danych?
- Cykl życia danych: czy dane są zapisywane raz, a często odczytywane? Czy można przenieść go do chłodnego lub zimnego magazynu?
- Inne obsługiwane funkcje: Czy potrzebujesz innych określonych funkcji, takich jak walidacja schematu, agregacja, indeksowanie, wyszukiwanie pełnotekstowe, MapReduce lub inne możliwości zapytań?
Wymagania niefunkcjonalne
- Wydajność i skalowalność: Jakie są wymagania dotyczące wydajności danych? Czy masz określone wymagania dotyczące szybkości pozyskiwania danych i szybkości przetwarzania danych? Jakie są dopuszczalne czasy odpowiedzi na zapytania i agregację danych po ich pozyskiwaniu? Jak duży będzie potrzebny magazyn danych do skalowania w górę? Czy Twoje obciążenie jest bardziej związane z odczytem czy zapisem?
- Niezawodność: Jaka ogólna umowa dotycząca poziomu usług jest potrzebna do wsparcia? Jaki poziom odporności na uszkodzenia należy zapewnić dla użytkowników danych? Jakiego rodzaju możliwości tworzenia i przywracania kopii zapasowych są potrzebne?
- Replikacja: Czy dane muszą być dystrybuowane między wieloma replikami lub regionami? Jakiego rodzaju możliwości replikacji danych są wymagane?
- Limity: Czy limity określonego magazynu danych będą obsługiwać wymagania dotyczące skalowania, liczby połączeń i przepływności?
Zarządzanie i koszty
- Usługa zarządzana: jeśli to możliwe, użyj zarządzanej usługi danych, chyba że potrzebujesz określonych funkcji, które można znaleźć tylko w magazynie danych hostowanym w infrastrukturze jako usłudze (IaaS).
- Dostępność regionów: czy w przypadku usług zarządzanych usługa jest dostępna we wszystkich regionach świadczenia usługi Azure? Czy twoje rozwiązanie musi być hostowane w niektórych regionach świadczenia usługi Azure?
- Przenośność: czy dane muszą być migrowane do lokalnych, zewnętrznych centrów danych lub innych środowisk hostingu w chmurze?
- Licencjonowanie: Czy masz preferencje dotyczące własności i typu licencji systemu operacyjnego? Czy istnieją inne ograniczenia zewnętrzne dotyczące typu licencji, której można użyć?
- Całkowity koszt: Jaki jest całkowity koszt korzystania z usługi w ramach rozwiązania? Ile wystąpień będzie musiało działać, aby obsługiwać wymagania dotyczące czasu pracy i przepływności? Rozważ koszty operacji w tym obliczeniu. Jednym z powodów, dla których warto preferować usługi zarządzane, jest zmniejszenie kosztów operacyjnych.
- Opłacalność: Czy można podzielić dane na partycje, aby przechowywać je bardziej opłacalnie? Na przykład czy można przenieść duże obiekty z kosztownej relacyjnej bazy danych do magazynu obiektów?
Bezpieczeństwo
- Zabezpieczenia: Jakiego typu szyfrowanie jest wymagane? Czy potrzebujesz szyfrowania danych w spoczynku? Jakiego mechanizmu uwierzytelniania chcesz użyć do nawiązania połączenia z danymi?
- Inspekcja: Jakiego rodzaju dziennik inspekcji należy wygenerować?
- Wymagania dotyczące sieci: Czy musisz ograniczyć dostęp do danych z innych zasobów sieciowych lub zarządzać nim w inny sposób? Czy dane muszą być dostępne tylko z poziomu środowiska platformy Azure? Czy dane muszą być dostępne z określonych adresów IP lub podsieci? Czy musi być dostępny z aplikacji lub usług hostowanych lokalnie lub w innych zewnętrznych centrach danych?
Metodyka DevOps
- Zestaw umiejętności: czy istnieją języki programowania, systemy operacyjne lub inna technologia, z której korzysta Twój zespół? Czy są inni, z którymi twój zespół miałby trudności w pracy?
- Klienci: Czy istnieje dobra obsługa klienta dla języków programowania?
Dalsze kroki
- Rozwiązania i usługi magazynu w chmurze platformy Azure
- Przejrzyj opcje przechowywania
- Wprowadzenie do usługi Azure Storage