Kiedy należy osadzać lub odwoływać się do danych

Ukończone

W poprzedniej lekcji osadzono dane dotyczące adresu klienta i hasła w nowym dokumencie klienta. Ta akcja zmniejsza liczbę żądań, co zwiększa wydajność i zmniejsza koszty. Jednak nie zawsze można osadzać dane. Istnieją reguły dotyczące osadzania danych w dokumencie zamiast odwoływania się do nich w innym wierszu.

Kiedy należy osadzać dane?

Osadź dane w dokumencie, gdy do danych mają zastosowanie następujące kryteria:

  • Odczytywanie lub aktualizowanie razem: dane, które są odczytywane lub aktualizowane razem, są prawie zawsze modelowane jako pojedynczy dokument. Zmniejsza to liczbę żądań, które są naszym celem w efektywnej wydajności. W naszym scenariuszu wszystkie jednostki klienta są odczytywane lub zapisywane razem.
  • Relacja 1:1: Na przykład Klient i CustomerPassword mają relację 1:1.
  • 1:Kilka relacji: W bazie danych NoSQL należy odróżnić relacje 1:Wiele jako powiązanych lub niezwiązanych. Klient i CustomerAddress mają powiązaną relację 1:Wiele, ponieważ klienci w aplikacji do handlu elektronicznego zwykle mają tylko kilka adresów do wysłania. Gdy relacja jest powiązana, jest to relacja 1:Kilka.

Kiedy należy odwoływać się do danych?

Dane referencyjne są oddzielnymi dokumentami, gdy do danych mają zastosowanie następujące kryteria:

  • Odczytywanie lub aktualizowanie niezależnie: jest to szczególnie istotne w przypadku łączenia jednostek, które mogłyby spowodować duże dokumenty. Aktualizacje w usłudze Azure Cosmos DB wymagają zastąpienia całego elementu. Jeśli dokument zawiera kilka właściwości, które są często aktualizowane wraz z dużą liczbą głównie właściwości statycznych, znacznie bardziej wydajne jest podzielenie dokumentu na dwa. Następnie jeden dokument zawiera mniejszy zestaw właściwości, które są często aktualizowane. Drugi dokument zawiera statyczne, niezmienne wartości.

  • 1:Wiele relacji: jest to szczególnie prawdziwe, jeśli relacja jest niezwiązana. Jeśli masz dokument, który zwiększa rozmiar nieznany lub nieograniczony czas, koszty i opóźnienia dla tych aktualizacji będą nadal rosnąć. Wynika to z rosnącego rozmiaru aktualizacji kosztujących więcej JEDNOSTEK RU/s i ładunków przechodzących przez sieć, która sama jest nieefektywna.

  • Wiele:wiele relacji: zapoznamy się z przykładem tej relacji w kolejnej lekcji z tagami produktów.

    Rozdzielenie tych właściwości zmniejsza zużycie przepływności w celu zwiększenia wydajności. Zmniejsza również opóźnienia w celu uzyskania lepszej wydajności.