de Martin LE TARNEC.

Agrupación de datos


El término agrupación (en inglés, cluster) se usa en distintos sectores. Por ejemplo, una agrupación de estrellas, es un grupo de estrellas. Por otro lado, una agrupación de servidores, es un grupo de servidores que tra­ba­jan juntos, para resolver un problema (agrupación de servidores en alta dispo­nibilidad) o para incrementar la disponibilidad (tolerancia frente a fallos). De manera general, las agrupaciones se relacionan con cosas que aparecen juntas.

En el sector de la informática, también existe un tipo de agrupaciones, uno que en general es menos comprendido: la agrupación de datos. Agrupación de datos significa almacenar los datos de forma consecutiva, casi de la misma manera de la que se quiere acceder a ellos; así el acceso necesitará menos operaciones I/O (entrada/salida, en inglés, input/output). Las agrupaciones de datos son muy importantes para la optimización de las bases de datos. Por su parte, las agrupaciones de servidores son también muy comunes en los entornos de bases de datos. Por consiguiente, el tér­mi­no agrupación (en inglés, cluster) es muy ambiguo. La sentencia “se usa una agrupación para mejorar el rendimiento de la base de datos” es solamente un ejemplo; es posible que se refiera a una agrupación de servidores pero podría ser también una agrupación de datos. En este capítulo, la palabra agrupación se refiere generalmente a agrupación de datos.

La agrupación de datos más sencilla en una base de datos SQL es la fila. Las bases de datos almacenan todas las columnas de una fila en el mismo bloque de la base de datos siempre que sea posible. Las excepciones aparecen cuando una fila no cabe dentro de un sólo bloque; por ejemplo, cuando los tipos LOB están involucrados.

Almacenamiento columnar

Bases de datos orientada a colum­nas, almacenamiento por columnas, tablas organizadas como columnas. Este modelo es beneficioso cuan­do se tiene acceso a muchas filas pero a pocas columnas; un modelo muy común en los almacenes de datos (en inglés, datawarehouses u OLAP).

Se pueden agrupar los datos gracias a los índices. El fundamento ya se ha explicado en el Capítulo 1, “Anatomía de un índice SQL: los nodos hojas del índice almacenan las columnas indexadas de una manera ordenada así que los valores similares están almacenados justo uno al lado del otro. Eso significa que los índices construyen agrupaciones de filas con valores similares. El potencial de las agrupaciones de datos es tan importante que me refiero a ellas como el segundo poder de la indexación.

Nota

El recorrido del B-tree es el primer poder de la indexación.

La agrupación es el el segundo poder de la indexación.

Las siguientes secciones explican cómo usar los índices para las agrupa­ciones de datos y mejorar el rendimiento de las sentencias.

Si te gusta mi manera de explicar, te encantará mi libro.

Acerca del autor

Foto de Markus Winand

Markus Winand enseña eficientemente SQL, en casa y online. Minimiza el tiempo de desarrollo utilizando moderno SQL y optimiza el tiempo de ejecución con indexación inteligente. Para ello también ha publicado el libro SQL Performance Explained.

“Use The Index, Luke” de Markus Winand se halla bajo licencia Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.
Aspectos legales | Contacto | SIN GARANTÍA | Marcas | Privacy | CC-BY-NC-ND 3.0 licencia