Sobes.tech
Middle — Senior

Dlaczego nie można po prostu obliczyć mediany na każdym pracowniku, a następnie je połączyć?

sobes.tech AI

Odpowiedź od AI

Mediana to wartość, która dzieli uporządkowany zbiór danych na dwie równe części. Jeśli po prostu obliczymy medianę na każdym workerze (części danych), a następnie połączymy te mediany, końcowy wynik nie będzie dokładną medianą całego zbioru.

Powód jest taki, że mediana lokalnego podzbioru nie uwzględnia rozkładu danych w innych częściach. Na przykład, jeśli mediana na jednym workerze wynosi 10, a na innym 100, połączenie tych dwóch liczb w żaden sposób nie odzwierciedla mediany całego zbioru.

Aby poprawnie obliczyć medianę w systemach rozproszonych, zwykle stosuje się algorytmy, które:

  • zbierają statystyki rozkładu danych (np. histogramy lub kwantyle);
  • używają algorytmów przybliżonego obliczania mediany (np. na podstawie próbek);
  • lub zbierają wszystkie dane w jednym miejscu, aby obliczyć dokładnie (jeśli to możliwe).

W związku z tym, proste łączenie lokalnych median nie daje poprawnego wyniku z powodu braku globalnego kontekstu rozkładu danych.