Compartir a través de


Descripción de los servidores de bases de datos federadas

Para lograr los altos niveles de rendimiento que los mayores sitios Web requieren, un sistema de varios niveles permite normalmente equilibrar la carga de procesamiento de cada nivel entre varios servidores. SQL Server crea una partición horizontal de los datos de una base de datos con el fin de compartir la carga del procesamiento de la base de datos entre un grupo de servidores. Estos servidores se administran independientemente, pero cooperan en el procesamiento de las peticiones de base de datos de las aplicaciones. Este grupo cooperativo de servidores se denomina federación.

Un nivel de base de datos federada sólo puede obtener un rendimiento muy alto si la aplicación envía cada instrucción SQL al servidor miembro que posea la mayor parte de los datos requeridos por la instrucción. A esto se le denomina intercalar la instrucción SQL con los datos requeridos por la instrucción. La intercalación de instrucciones SQL con los datos necesarios no es un requisito exclusivo de los servidores federados. También es necesaria en los sistemas agrupados.

Aunque una federación de servidores presenta la misma imagen ante las aplicaciones que un solo servidor de bases de datos, existen diferencias internas en la forma de implementar el nivel de servicios de las bases de datos, como se muestra en la siguiente tabla.

Nivel de servidor único

Nivel de servidor federado

Hay una instancia de SQL Server en el servidor de producción.

Hay una instancia de SQL Server en cada servidor miembro.

Los datos de producción se almacenan en una base de datos.

Cada servidor miembro dispone de una base de datos. Los datos se distribuyen entre las bases de datos miembro.

Normalmente, cada tabla es una única entidad.

Las tablas de la base de datos original se particionan horizontalmente en tablas miembro. Hay una tabla miembro por cada base de datos miembro, y se utilizan vistas distribuidas con particiones distribuidas para que parezca una copia completa de la tabla original en cada uno de los servidores miembro.

Todas las conexiones se realizan en un único servidor y todas las instrucciones SQL las procesa la misma instancia de SQL Server.

La capa de aplicación debe poder intercalar instrucciones SQL en el servidor miembro que contiene la mayoría de los datos a los que hace referencia la instrucción.