Sortarea externă este o tehnică utilizată pentru a gestiona seturi mari de date care nu se încadrează în memoria principală. Un aspect cheie al sortarea externă este calcularea costului de fuziune, care ajută la determinarea eficienței procesului de sortare. Acest ghid oferă o abordare pas cu pas pentru înțelegerea și calcularea costurilor de fuziune în sortarea externă.

Înțelegerea sortării externe

Sortarea externă implică divizarea datelor în bucăți gestionabile, sortarea fiecărei bucăți în mod individual, și apoi fuzionarea acestor bucăți sortate într-un singur fișier sortate. Procesul de fuzionare poate fi efectuat în mai multe treceri, în funcție de numărul de bucăți și memorie disponibile.

Componentele costului de combinare

Costul de fuziune depinde în primul rând de numărul de permise și de cantitatea de date prelucrate în timpul fiecărei treceri. Este influențat de:

  • Numărul de rulaje sortate inițial (bucăți)
  • Numărul de fișiere fuzionate simultan (fan-in)
  • Dimensiunea totală a datelor

Calcularea costurilor de combinare

Costul total al fuziunii poate fi calculat utilizând formula:

Cheltuieli de schimb = Numărul de permise × Date totale prelucrate în fiecare trecere

Pentru a determina numărul de permise, utilizați formula:

Număr de permise = logfan-in (Număr de rulări inițiale)

De exemplu, dacă există 16 rulări inițiale și sistemul poate fuziona 4 fișiere simultan, atunci:

Numărul de permise = log4 16 = 2

Datele totale prelucrate în fiecare trecere sunt egale cu mărimea totală a tuturor datelor care au fost unite în timpul acestui permis.