Partycjonowanie Danych

Problem

Chcielibyśmy zwiększyć wydajność komponentów przetwarzających i zarządzających danymi oraz poprawić dostępność warstwy danych.

Rozwiązanie

Należy skorzystać ze wzorca partycjonowania danych.

Partycjonowanie danych - podział danych na fizyczne lub logiczne partycje w celu zwiększenia wydajności operacji przetwarzających i zarządzających danymi. Partycjonowanie danych jest to popularna technika wykorzystywana w celu zwiększenia wydajności baz danych - relacyjnych, NoSQL oraz obiektowych.

Partycjonowanie aby było poprawne musi zapewniać następujące cechy:

  • kompletność - jeżeli pewien zbiór danych Z (np. tabela relacyjnej bazy danych) został podzielony na partycje P1, P2 … Pn to każdy rekord ze zbioru Z powinien znaleźć się w jednej partycji. Cecha ta gwarantuje, że na skutek partycjonowania żadne dane nie zostały utracone.

  • rekonstrukcja - cecha ta oznacza, że musi istnieć możliwość odtworzenia pierwotnego zbioru danych Z ze wszystkich partycji P1, P2 … Pn.

  • rozłączność - jeżeli pewien zbiór danych Z (np. tabela relacyjnej bazy danych) został podzielony na partycje P1, P2 … Pn to każdy rekord ze zbioru Z może się znaleźć tylko i wyłącznie w jednej partycji.

Istnieje kilka sposobów partycjonowania danych. Do najpopularniejszych należą partycjonowanie pionowe, poziome oraz hybrydowe.

Comments