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 zastanów się nad zapytaniami (szczególnie poufnymi opóźnieniami), które zostaną wykonane przed zastanowieniu się nad sposobem aktualizowania jednostek. Zazwyczaj skutkuje to wydajnym i wydajnym rozwiązaniem.
- Określ wartości PartitionKey i RowKey w zapytaniach.Zapytania punktowe, takie jak te, są najbardziej wydajnymi zapytaniami usługi tabel.
- Rozważ przechowywanie duplikatów kopii jednostek. Magazyn tabel jest tańszy, więc rozważ wielokrotne przechowywanie tej samej jednostki (z różnymi kluczami), aby umożliwić bardziej wydajne zapytania.
- Rozważ denormalizację danych. Usługa Table Storage jest tańsza, więc 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 złożonych wartości kluczy. Jedyne klucze, które masz, to 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ć przy użyciu 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ładz ruch w rozsądnym okresie i unikaj skoków ruchu.
- Niekoniecznie należy utworzyć oddzielną tabelę dla każdego typu jednostki. Jeśli wymagane są transakcje niepodzielne między typami jednostek, można 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.
Podczas czytania tego przewodnika zobaczysz przykłady, które w praktyce wprowadziły wszystkie te zasady.