Changes between Version 5 and Version 6 of AdvancedTopics


Ignore:
Timestamp:
05/21/26 18:38:53 (5 days ago)
Author:
231105
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedTopics

    v5 v6  
    77За решавање на овој проблем користевме RANGE партиционирање базирано на временски атрибути, бидејќи податоците во системот се природно временски ориентирани, освен за билетите за нив користевме HASH партиционирање.
    88
    9 == 1. Train Trip табела – партиционирање по departure_time ==
     9## 1. Train Trip табела – партиционирање по `departure_time`
    1010
    11 Табелата Train_Trip претставува централна табела во системот, бидејќи ги содржи сите информации за железничките патувања (време на поаѓање, пристигнување, статус, воз, вработени итн.).
     11Табелата **Train_Trip** претставува централна табела во системот, бидејќи ги содржи сите информации за железничките патувања, како што се времето на поаѓање и пристигнување, статусот на патувањето, поврзаниот воз, како и вработените кои се вклучени во неговото извршување.
    1212
    13 Причини за партиционирање:
     13---
    1414
    15 -Висока фреквенција на податоци
     15### Причини за партиционирање
    1616
    17 Секој ден се генерираат нови патувања.
    18 Со тек на време, оваа табела станува една од најголемите во системот.
     17#### • Висока фреквенција на податоци
     18Секојдневно се генерираат голем број нови патувања. 
     19Со тек на време, оваа табела станува една од најголемите во целиот систем, што може да доведе до намалување на перформансите при пребарување и обработка на податоци.
    1920
    20 -Природна временска структура
     21---
    2122
    22 Секое патување има точно дефиниран departure_time.
    23 Овој атрибут е идеален за RANGE партиционирање.
     23#### • Природна временска структура
     24Секое патување има точно дефиниран атрибут `departure_time`. 
     25Овој атрибут е идеален за **RANGE партиционирање**, бидејќи податоците природно се групираат по временски интервали (месеци/години).
    2426
    25 -Типични прашања во системот
     27---
    2628
    27 „Сите патувања во одреден месец“
    28 „Патувања во 2026 година“
    29 „Доцнења во последната недела“
     29#### • Типични прашања во системот
     30Во реални услови, најчестите барања за оваа табела се од типот:
    3031
    31 Овие барања бараат временско филтрирање, кое со партиционирање се извршува многу побрзо.
     32- „Сите патувања во одреден месец“ 
     33- „Патувања во 2026 година“ 
     34- „Доцнења во последната недела“ 
    3235
    33 -Како помага партиционирањето:
     36Овие барања бараат ефикасно временско филтрирање, кое со партиционирање се извршува значително побрзо, бидејќи се пребарува само релевантната партиција, а не целата табела.
    3437
    35 Со месечни партиции, PostgreSQL чита само дел од податоците (приближно 1/12 од годишните податоци), наместо целата табела. Ова значително ја подобрува брзината на SELECT, UPDATE и DELETE операции.
     38---
    3639
    37 Дополнително, DEFAULT партицијата овозможува стабилност при внесување на податоци кои не спаѓаат во дефинираните временски интервали.
     40### Како помага партиционирањето
     41
     42Со примена на **месечни партиции**, PostgreSQL работи само со мал дел од податоците (приближно 1/12 од годишните податоци), наместо да ја скенира целата табела. Ова значително ја подобрува брзината на:
     43
     44- `SELECT` операции 
     45- `UPDATE` операции 
     46- `DELETE` операции 
     47
     48---
     49
     50#### • DEFAULT партиција
     51Дополнително, се користи и **DEFAULT партиција**, која обезбедува стабилност на системот. Таа ги прифаќа сите записи кои не спаѓаат во дефинираните временски интервали и спречува грешки при внесување на податоци.