Un DataBlock, también conocido como bloque de datos o clúster, es la unidad atómica más pequeña de almacenamiento que un sistema de archivos o un sistema de gestión de bases de datos (DBMS) puede asignar o direccionar. Representa un segmento contiguo de espacio en disco de tamaño fijo (típicamente 512 bytes, 1 KB, 4 KB, 8 KB, 16 KB, etc.) donde se almacenan los datos de usuario. La gestión de datos a nivel de bloque permite al sistema operativo y al DBMS abstraerse de los detalles físicos del hardware de almacenamiento subyacente, optimizando las operaciones de I/O al leer o escribir múltiples bytes de datos en una sola operación.

En el mundo real, los DataBlocks son omnipresentes. Sistemas de archivos como ext4 (Linux), NTFS (Windows) y HFS+ (macOS) utilizan DataBlocks para organizar los archivos en el disco. Por ejemplo, en ext4, el tamaño del bloque es configurable durante la creación del sistema de archivos y afecta la eficiencia del almacenamiento y el rendimiento. Bases de datos como PostgreSQL y MySQL (con motores como InnoDB) también gestionan sus datos en páginas o bloques de tamaño fijo (comúnmente 8 KB o 16 KB), que son la unidad de I/O más pequeña para la persistencia de datos. Sistemas de almacenamiento distribuido como HDFS (Hadoop Distributed File System) fragmentan los archivos grandes en bloques (típicamente 128 MB o 256 MB) para distribuirlos y replicarlos a través de un clúster de nodos.

Para un arquitecto, la elección del tamaño del DataBlock es una decisión crítica con importantes trade-offs. Un tamaño de bloque pequeño puede reducir el 'slack space' (espacio desperdiciado) para archivos pequeños, pero aumenta la sobrecarga de metadatos y el número de operaciones de I/O para archivos grandes. Por el contrario, un tamaño de bloque grande es eficiente para archivos grandes y operaciones secuenciales, pero puede resultar en un desperdicio significativo de espacio para archivos pequeños (fragmentación interna). En sistemas de bases de datos, el tamaño del bloque impacta directamente el rendimiento de las consultas, la eficiencia del caché y la contención de bloqueos. Un arquitecto debe considerar el patrón de acceso a los datos (lecturas/escrituras secuenciales vs. aleatorias), el tamaño promedio de los archivos/registros y las características del hardware de almacenamiento para optimizar el rendimiento y la utilización del espacio.