Projektowanie baz danych
Lis Sulmont
Curriculum Manager
Tabele rosną (setki GB / TB)
Problem: zapytania i aktualizacje stają się wolniejsze
Przyczyna: np. indeksy nie mieszczą się w pamięci
Rozwiązanie: podział tabeli na mniejsze części (= partycjonowanie)

1. Konceptualny model danych
2. Logiczny model danych
W przypadku partycjonowania logiczny model danych pozostaje taki sam
3. Fizyczny model danych
Partycjonowanie jest częścią fizycznego modelu danych
Podział tabeli nawet po pełnej normalizacji
Np. przechowywanie long_description na wolniejszym medium


CREATE TABLE sales ( ... timestamp DATE NOT NULL ) PARTITION BY RANGE (timestamp);CREATE TABLE sales_2019_q1 PARTITION OF sales FOR VALUES FROM ('2019-01-01') TO ('2019-03-31'); ... CREATE TABLE sales_2019_q4 PARTITION OF sales FOR VALUES FROM ('2019-10-01') TO ('2020-01-31');CREATE INDEX ON sales ('timestamp');
Zalety
Wady
Projektowanie baz danych