Changes between Version 6 and Version 7 of AdvancedTopics
- Timestamp:
- 05/21/26 18:41:43 (5 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
AdvancedTopics
v6 v7 9 9 ## 1. Train Trip табела – партиционирање по `departure_time` 10 10 11 Табелата **Train_Trip** претставува централна табела во системот, бидејќи ги содржи сите информации за железничките патувања, како што се времето на поаѓање и пристигнување, статусот на патувањето, поврзаниот воз, како и вработените кои се вклучени во неговото извршување. 12 13 --- 11 Табелата **Train_Trip** претставува централна табела во системот, бидејќи ги содржи сите информации за железничките патувања, како што се времето на поаѓање и пристигнување, статусот на патувањето, поврзаниот воз, како и вработените кои учествуваат во неговото извршување. 14 12 15 13 ### Причини за партиционирање 16 14 17 #### • Висока фреквенција на податоци 18 Секојдневно се генерираат голем број нови патувања. 19 Со тек на време, оваа табела станува една од најголемите во целиот систем, што може да доведе до намалување на перформансите при пребарување и обработка на податоци. 15 #### Висока фреквенција на податоци 16 Секојдневно се генерираат голем број нови патувања. Со тек на време, оваа табела станува една од најголемите во системот, што може значително да ги намали перформансите при пребарување и обработка на податоци. 20 17 21 --- 18 #### Природна временска структура 19 Секое патување има точно дефиниран атрибут `departure_time`. Овој атрибут е природно погоден за RANGE партиционирање, бидејќи податоците логички се групираат по временски интервали (месеци или години). 22 20 23 #### • Природна временска структура 24 Секое патување има точно дефиниран атрибут `departure_time`. 25 Овој атрибут е идеален за **RANGE партиционирање**, бидејќи податоците природно се групираат по временски интервали (месеци/години). 21 #### Типични прашања во системот 22 Најчестите барања во системот се од типот: 23 - Сите патувања во одреден месец 24 - Патувања во одредена година 25 - Анализа на доцнења во одреден временски период 26 26 27 --- 28 29 #### • Типични прашања во системот 30 Во реални услови, најчестите барања за оваа табела се од типот: 31 32 - „Сите патувања во одреден месец“ 33 - „Патувања во 2026 година“ 34 - „Доцнења во последната недела“ 35 36 Овие барања бараат ефикасно временско филтрирање, кое со партиционирање се извршува значително побрзо, бидејќи се пребарува само релевантната партиција, а не целата табела. 37 38 --- 27 Овие операции бараат временско филтрирање, кое со партиционирање се извршува значително побрзо, бидејќи системот пристапува само до релевантната партиција. 39 28 40 29 ### Како помага партиционирањето 41 30 42 Со примена на **месечни партиции**, PostgreSQL работи само со мал дел од податоците (приближно 1/12 од годишните податоци), наместо да ја скенира целата табела. Ова значително ја подобрува брзинатана:31 Со примена на месечни партиции, PostgreSQL обработува само мал дел од податоците (околу 1/12 од годишните податоци), наместо целата табела. Ова значително ги подобрува перформансите на: 43 32 44 - `SELECT`операции45 - `UPDATE`операции46 - `DELETE`операции33 - SELECT операции 34 - UPDATE операции 35 - DELETE операции 47 36 48 --- 37 ### DEFAULT партиција 49 38 50 #### • DEFAULT партиција 51 Дополнително, се користи и **DEFAULT партиција**, која обезбедува стабилност на системот. Таа ги прифаќа сите записи кои не спаѓаат во дефинираните временски интервали и спречува грешки при внесување на податоци. 39 Се користи и DEFAULT партиција која обезбедува стабилност на системот. Таа ги прима сите записи кои не спаѓаат во дефинираните временски опсези и спречува грешки при внесување на податоци.
