Quindi voglio capire come funziona l'implementazione DBMS
Per fare un esempio:
MySQL implementa ogni tabella con le proprie pagine, che sono 16KB
quindi ogni tabella è un file, ed è un multiplo di 16 KB, considerando quanto è grande e quindi quante pagine ha bisogno
Ora leggo da qualche parte che queste pagine non vengono frammentate, quindi la mia domanda è: COME?
in che modo gli sviluppatori DBMS dicono al sistema operativo che "ho appena aggiunto un dato di 16KB (pagina) a questo file, ma rendi questa pagina non frammentata"
scusa se si tratta di un duplicato, ho cercato e non ho trovato alcuna domanda correlata, inoltre diciamo che O.S è Windows o Linux
il mio punto è che il sistema operativo memorizza i file in base a blocchi 4KB e può frammentare alcuni file quando vengono superati e il DBMS utilizza pagine da 16 KB, la mia domanda è come implementano tale DBMS in modo che le pagine da 16 KB aggiunte i file tabella non vengono frammentati? quando aggiungo un dato da 16 KB a un file, per impostazione predefinita è riservato e non verrà mai frammentato? (in pratica come riservano un disco da 16 KB sul disco e si assicurano che non si frammenti?)
se puoi dare un esempio in qualsiasi lingua su come è fatto questo tipo di accodamento, io sono Ok, non sto cercando una lingua specifica, voglio solo sapere come è fatta
Inoltre, non sto chiedendo alcun database specifico, tutti i database relazionali usano queste pagine.
ANCHE Sto prendendo in considerazione la frammentazione all'interno di un'immagine del disco o dell'immagine di memoria , non sono sicuro che queste immagini siano logiche o cosa, così quando prendo l'immagine di quella cartella del database, o il suo processo in memoria, queste pagine non sono frammentate, come?