Wytyczne dotyczące projektu tabel
Projektowanie tabel do użycia z usługą tabel usługi Azure Storage różni się bardzo od zagadnień projektowych dla relacyjnej bazy danych. W tym artykule opisano wskazówki dotyczące projektowania rozwiązania usługi Table Service w celu wydajnego odczytu i zapisu.
Projektowanie rozwiązania usługi Table Service w celu wydajnego odczytu
- Projektowanie pod kątem wykonywania zapytań w aplikacjach z dużą liczbą operacji odczytu. Podczas projektowania tabel pomyśl o zapytaniach (szczególnie o opóźnieniach poufnych), które zostaną wykonane, zanim zastanowisz się, jak zaktualizujesz jednostki. Zwykle skutkuje to wydajnym i wydajnym rozwiązaniem.
- Określ wartości PartitionKey i RowKey w zapytaniach. Zapytania dotyczące punktów , takie jak te, są najbardziej wydajnymi zapytaniami usługi tabel.
- Rozważ przechowywanie zduplikowanych kopii jednostek. Usługa Table Storage jest tańsza, dlatego rozważ wielokrotne przechowywanie tej samej jednostki (z różnymi kluczami), aby umożliwić bardziej wydajne zapytania.
- Rozważ zdenormalizowanie danych. Usługa Table Storage jest tańsza, dlatego rozważ denormalizację danych. Na przykład przechowuj jednostki podsumowania, aby zapytania dotyczące zagregowanych danych wymagały dostępu tylko do pojedynczej jednostki.
- Użyj wartości klucza złożonego. Jedynymi kluczami, które masz, są PartitionKey i RowKey. Na przykład użyj wartości klucza złożonego, aby włączyć alternatywne ścieżki dostępu klucza alternatywnego do jednostek.
- Użyj projekcji zapytań. Możesz zmniejszyć ilość danych przesyłanych przez sieć, używając zapytań, które wybierają tylko potrzebne pola.
Projektowanie rozwiązania usługi Table Service w celu wydajnego zapisu
- Nie twórz gorących partycji. Wybierz klucze, które umożliwiają rozłożenie żądań na wiele partycji w dowolnym momencie.
- Unikaj skoków ruchu. Wygładź ruch w rozsądnym okresie i unikaj skoków ruchu.
- Niekoniecznie należy utworzyć oddzielną tabelę dla każdego typu jednostki. Jeśli potrzebujesz transakcji niepodzielnych w różnych typach jednostek, możesz przechowywać te wiele typów jednostek w tej samej partycji w tej samej tabeli.
- Rozważ maksymalną przepływność, którą musisz osiągnąć. Należy pamiętać o celach skalowalności usługi Table Service i upewnić się, że projekt nie spowoduje ich przekroczenia.
Po przeczytaniu tego przewodnika zobaczysz przykłady, które w praktyce wprowadziły wszystkie te zasady.