VENTAS: 1-800-867-1389

Federaciones en Base de datos SQL de Azure

Actualizado: abril de 2014

Las federaciones de Base de datos SQL de Microsoft Azure (Base de datos SQL de Azure) son una forma de lograr mayor escalabilidad y administrar las limitaciones de capacidad del nivel de base de datos de su aplicación. Una o más tablas de una base de datos se dividen en participaciones de forma horizontal en varias bases de datos denominadas miembros de la federación. Este tipo de creación de partición horizontal se denomina a menudo ‘particionamiento’. En este tema se incluye una descripción general de las federaciones.

ImportantImportante
La implementación actual de Federaciones se retirará con los niveles de servicio Web y Business. Tenga en cuenta la implementación de soluciones de particionamiento personalizado para conseguir la máxima escalabilidad, flexibilidad y rendimiento. Para obtener más información sobre el particionamiento personalizado, vea Ampliar Bases de datos SQL de Azure.

Una federación es un conjunto de particiones de base de datos definidas por un esquema de distribución de la federación, denominado esquema de federación. El esquema de federación define una clave de distribución de la federación, que determina la distribución de datos en particiones dentro de la federación. La clave de distribución de la federación debe ser de tipo INT, BIGINT, UNIQUEIDENTIFIER o VARBINARY (hasta 900 bytes) y especifica un valor de rango. En una federación solo puede haber un esquema de federación y una clave de distribución de la federación.

Las particiones de base de datos que hay dentro de una federación se denominan miembros de la federación, y cada miembro abarca una parte del rango de valores cubierto por el tipo de datos de la clave de distribución de la federación o todo el rango. Las tablas federadas son tablas que están repartidas entre los miembros de la federación. Cada miembro de la federación cuenta con su propio esquema y contiene las filas de tablas federadas que corresponden al rango del miembro de la federación. El conjunto de todas las filas de un miembro de la federación que coinciden con un valor de clave de federación determinado se denomina una unidad atómica de federación. Cada miembro de la federación puede contener muchas unidades atómicas de federación. Un miembro de la federación puede contener también tablas de referencia, que son tablas que no están relacionadas con la federación. Las tablas de referencia están totalmente contenidas dentro de un miembro y a menudo contienen información de referencia que se recupera junto con datos federados.

Un miembro de la federación proporciona una separación física entre los datos que contiene y los datos almacenados en otros miembros. Cada miembro de la federación tiene su propio esquema, que puede diferir temporalmente del esquema de otros miembros como consecuencia de procesamientos específicos de un miembro, como la realización de una actualización gradual del esquema en todos los miembros.

Si bien los miembros de la federación se implementan físicamente como bases de datos, se hace referencia a ellos lógicamente en el nivel de aplicación como un rango de valores de clave de federación. Por ejemplo, el acceso lógico a una base de datos de un miembro de la federación que contiene filas asociadas a los valores de clave de federación 50-100 se realiza especificando un valor de clave comprendido en ese rango en lugar de especificar el nombre de la base de datos.

El acceso a las federaciones se realiza mediante una base de datos raíz de la federación, que representa el límite de la aplicación de la federación. Funciona como el extremo lógico para que las aplicaciones se conecten a una federación enrutando las conexiones al miembro de la federación adecuado en función del valor de clave de federación especificado. Cada base de datos raíz puede contener varias federaciones, cada una de las cuales tiene su propio esquema de federación. También puede contener datos globales como usuarios, contraseñas, roles u otros datos específicos de la aplicación.

En los diagramas siguientes se ilustran los modelos lógico y físico de las federaciones:

Diagrama del modelo lógico para federaciones Diagrama del modelo físico para federaciones

A la hora de diseñar una federación, una de las decisiones de diseño más importantes es el valor sobre el cual se va a realizar la federación. Idealmente, se debe seleccionar una clave que permita federar datos de varias tablas relacionadas para que las filas relacionadas se almacenen juntas. Por ejemplo, en el caso de una aplicación multiempresa puede seleccionar el valor de tenant_id. Las filas de cada tabla federada que especifican el mismo valor de tenant_id se almacenarían en la misma unidad atómica de federación.

También debe tener en cuenta cómo insertar los registros nuevos de forma que todos los miembros de la federación se utilicen por igual, en lugar de almacenar todos los registros nuevos en un miembro. La determinación de cómo distribuir los datos nuevos entre los miembros de la federación se debe realizar en el nivel de aplicación.

Puesto que existe una separación física de los datos contenidos en distintos miembros de la federación y Base de datos SQL no admite operaciones de combinación entre bases de datos, su aplicación debe implementar la lógica para combinar datos de varios miembros de la federación o de varias federaciones. Por ejemplo, una consulta que necesite combinar datos de dos federaciones necesitaría realizar consultas diferentes en cada una de ellas y combinar los datos dentro de la aplicación. Esto mismo es aplicable para agregar datos en varias particiones dentro de una única federación, como obtener un recuento de todas las filas contenidas dentro de la federación.

En la página Microsoft Open Specification Promise hay disponible una nueva especificación que describe capacidades SQL adicionales para el particionamiento de datos. Para obtener más información, vea la especificación de Federaciones de bases de datos SQL de Azure.

Vea también

¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios
Mostrar:
© 2014 Microsoft