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