CAPITULO 9 Diseño de una Base de Datos Relacional

Anuncio
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
GUÍA DE ACTIVIDADES TRABAJO FINAL DEL CURSO: 100201 – HERRAMIENTAS TELEMÁTICAS
CAPITULO 9
Diseño de una Base de Datos Relacional Distribuida
9.1 Operaciones
Las consultas distribuidas obtienen acceso a datos de varios orígenes de datos
homogéneos o heterogéneos. Estos orígenes de datos pueden estar almacenados
en el mismo equipo o en equipos diferentes. Microsoft SQL Server admite
consultas distribuidas utilizando OLE DB.
Los usuarios de SQL Server pueden utilizar consultas distribuidas para obtener
acceso a lo siguiente:
 Datos distribuidos almacenados en varias instancias de SQL Server.
 Datos heterogéneos almacenados en varios orígenes de datos relacionales y
no relacionales a los que se obtiene acceso mediante un proveedor OLE DB.
Los proveedores OLE DB exponen datos en objetos tabulares denominados
conjuntos de filas. SQL Server permite hacer referencia a conjuntos de filas desde
proveedores OLE DB en instrucciones Transact-SQL como si fuesen tablas de
SQL Server.
En las instrucciones SELECT, INSERT, UPDATE y DELETE de Transact-SQL, se
puede hacer referencia directa a las tablas y vistas de orígenes de datos externos.
Siempre que el software propietario de los datos los exponga en un conjunto de
filas a través del proveedor OLE DB, los datos se podrán usar en consultas
distribuidas.
La siguiente imagen muestra las conexiones entre un equipo cliente, una instancia
de SQL Server y un proveedor OLE DB.
1
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
GUÍA DE ACTIVIDADES TRABAJO FINAL DEL CURSO: 100201 – HERRAMIENTAS TELEMÁTICAS
Vincular servidores: Una configuración con servidores vinculados permite a SQL
Server ejecutar comandos en orígenes de datos OLE DB situados en servidores
remotos. Los servidores vinculados ofrecen las siguientes ventajas:
 Acceso al servidor remoto.
 Capacidad de ejecutar consultas distribuidas, actualizaciones, comandos y
transacciones en orígenes de datos heterogéneos en toda la organización.
 Capacidad de tratar diferentes orígenes de datos de manera similar.

Una definición de servidor vinculado especifica los siguientes objetos:

Un proveedor OLE DB
 Un origen de datos OLE DB
Un proveedor OLE DB es una biblioteca DLL que administra un origen de datos
específico e interactúa con él. Un origen de datos OLE DB identifica la base datos
específica a la que se puede tener acceso mediante OLE DB. Aunque los orígenes
de datos en los que se realizan consultas a través de definiciones de servidores
vinculados son bases de datos normales, existen proveedores OLE DB para una
amplia variedad de archivos y formatos de archivo. Se trata de archivos de texto,
datos de hojas de cálculo y los resultados de búsquedas de contenido de texto.
El proveedor OLE DB de MS SQL Server Native Client (PROGID: SQLNCLI10) es
el proveedor OLE DB oficial para SQL Server.
En la siguiente ilustración se muestran los conceptos básicos de una configuración
con servidores vinculados.
2
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
GUÍA DE ACTIVIDADES TRABAJO FINAL DEL CURSO: 100201 – HERRAMIENTAS TELEMÁTICAS
Normalmente, los servidores vinculados se utilizan para tratar consultas
distribuidas. Cuando una aplicación cliente ejecuta una consulta distribuida
mediante un servidor vinculado, SQL Server analiza el comando y envía peticiones
a OLE DB. La petición de conjuntos de filas se puede realizar como una consulta
al proveedor o abriendo una tabla base del proveedor.
Para que un origen de datos devuelva información mediante un servidor vinculado,
el proveedor OLE DB (DLL) para ese origen de datos debe encontrarse en el
mismo servidor que la instancia de SQL Server.
Cuando se utiliza un proveedor OLE DB de otro fabricante, la cuenta con la que se
ejecuta el servicio de SQL Server debe tener permisos de lectura y ejecución para
el directorio y todos los subdirectorios en los que esté instalado el proveedor.
Administrar proveedores: Existe un conjunto de opciones para controlar cómo SQL
Server carga y utiliza proveedores OLE DB que se hayan especificado en el
registro. Para obtener más información, vea Configurar proveedores OLE DB para
consultas distribuidas.
Cuando configure un servidor vinculado, registre la información de la conexión y
del origen de datos con SQL Server. Una vez realizado el registro, se puede hacer
referencia a ese origen de datos con un único nombre lógico.
 Puede utilizar procedimientos almacenados y vistas de catálogo para
administrar definiciones de servidores vinculados:
 Cree una definición de servidor vinculado ejecutando sp_addlinkedserver.
 Puede observar información acerca de los servidores vinculados definidos
en una instancia específica de SQL Server ejecutando una consulta en las
vistas de catálogo del sistema sys.servers.
 Elimine una definición de servidor vinculado ejecutando sp_dropserver.
También puede utilizar este procedimiento almacenado para quitar
servidores remotos.
También puede definir servidores vinculados mediante SQL Server Management
Studio. En el Explorador de objetos, haga clic con el botón secundario en Objetos
de servidor, seleccione Nuevo y, a continuación, Servidor vinculado. Para eliminar
una definición de servidor vinculado, haga clic con el botón secundario en el
3
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
GUÍA DE ACTIVIDADES TRABAJO FINAL DEL CURSO: 100201 – HERRAMIENTAS TELEMÁTICAS
nombre del servidor vinculado y seleccione Eliminar.
Cuando ejecute una consulta distribuida en un servidor vinculado, incluya el
nombre de cuatro partes completo de una tabla para cada origen de datos en el
que desee realizar la consulta. Este nombre de cuatro partes debe tener el formato
linked_server_name.catalog.schema.object_name.
Durante una conexión de servidores vinculados (por ejemplo, cuando se procesa
una consulta distribuida), el servidor de envío proporciona un nombre de inicio de
sesión y una contraseña para conectarse en su nombre al servidor de recepción.
Para que esta conexión funcione, debe crear una asignación de inicio de sesión
entre los servidores vinculados utilizando procedimientos almacenados del
sistema de SQL Server.
9.2 Administración
La administración de servidores de MS SQL Server abarca una gran variedad de
tareas de administración.
En la mayor parte de los casos, no es necesario volver a configurar el servidor. La
configuración predeterminada de los componentes del servidor permite ejecutar
MS SQL Server inmediatamente después de instalarlo. No obstante, es necesaria
la administración de los servidores cuando se desea agregar servidores nuevos,
establecer configuraciones especiales de servidores, cambiar las conexiones de
red o establecer opciones de configuración de servidores para mejorar el
rendimiento de SQL Server.
Entre las tareas de administración de MS SQL Server tenemos:
 Registrar servidores: Contiene información acerca del registro de los
servicios de bases de datos de SQL Server.
 Operaciones administrativas simultáneas: Abarca operaciones
adminisrativas que se pueden realizar simultáneamente.
 Usar una conexión de administrador dedicada: Describe las conexiones de
emergencia.
4
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
GUÍA DE ACTIVIDADES TRABAJO FINAL DEL CURSO: 100201 – HERRAMIENTAS TELEMÁTICAS
9.3 Alta Disponibilidad
MS SQL Server ofrece varias opciones para crear una alta disponibilidad para un
servidor o una base de datos distribuida. Entre las opciones de alta disponibilidad
figuran las siguientes:
Agrupación en clústeres de conmutación por error: Una agrupación en
clústeres de conmutación proporciona alta disponibilidad a una instancia
completa de SQL Server. Un clúster de conmutación por error es una
combinación de uno o varios nodos, o servidores, con dos o más discos
compartidos. Las aplicaciones se instalan cada una en un grupo de
clústeres de Servicios de Cluster Server de Microsoft (MSCS), conocido
como grupo de recursos. En todo momento, cada grupo de recursos es
propiedad de un único nodo del clúster. El servicio de aplicación tiene un
nombre virtual que es independiente de los nombres del nodo y al que nos
referimos como nombre de instancia de clúster de conmutación por error.
Una aplicación puede conectarse con la instancia de clúster de
conmutación por error si hace referencia al nombre de la misma. La
aplicación no necesita saber qué nodo aloja a la instancia de clúster de
conmutación por error.
Creación de reflejo de la base de datos: La creación de reflejo de la base de
datos es básicamente una solución de software para aumentar la
disponibilidad de la base de datos mediante una conmutación por error casi
inmediata. La creación de reflejo de la base de datos puede utilizarse para
mantener una sola base de datos en estado de espera, o base de datos
reflejada, para una base de datos de producción correspondiente a la que se
conoce como base de datos principal.
Replicación: La replicación utiliza un modelo de publicación y suscripción.
Esto permite que un servidor principal, conocido como publicador, distribuya
datos a uno o varios servidores secundarios, o suscriptores. Gracias a la
replicación, se puede obtener una disponibilidad y escalabilidad en tiempo real
entre tales servidores. MS SQL Server ofrece tres tipos de replicación:
replicación de instantáneas, replicación transaccional y replicación de
mezcla. La replicación transaccional proporciona la latencia más baja y es la
que más se suele utilizar por su alta disponibilidad.
Bases de datos compartidas escalables: La característica de base de datos
5
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
GUÍA DE ACTIVIDADES TRABAJO FINAL DEL CURSO: 100201 – HERRAMIENTAS TELEMÁTICAS
compartida y escalable permite escalar una base de datos de sólo lectura
construida exclusivamente para informes. La base de datos de informes
debe residir en un conjunto de volúmenes dedicados de sólo lectura, cuyo fin
principal es hospedar la base de datos. Mediante el uso de hardware
estándar para servidores y volúmenes, puede escalar una base de datos de
informes para que proporcione la misma vista de los datos de los informes en
varios servidores de informes. Esta característica también proporciona una
forma de actualización sencilla para la base de datos de informes.
9.4 Supervisión
MS SQL Server incluye un completo conjunto de herramientas para supervisar los
eventos de SQL Server y para optimizar el diseño de la base de datos física. La
elección de la herramienta depende del tipo de supervisión u optimización que se
realice y de los eventos particulares que se supervisen.
A continuación se describen las principales herramientas de supervisión y
optimización de SQL Server:
El SQL Server Profiler realiza un seguimiento de los eventos de procesos del
motor, como el inicio de un lote o una transacción, que permite
supervisar la actividad del servidor y de la base de datos (por ejemplo,
interbloqueos, errores irrecuperables o actividad de inicio de sesión). Puede
capturar datos del SQL Server Profiler en un archivo o una tabla de SQL
Server para su análisis posterior y también reproducir paso a paso los
eventos capturados en SQL Server, para ver qué sucedió exactamente.
Supervisar el uso de recursos (Monitor de sistema): La función principal del
Monitor de sistema es hacer un seguimiento del uso de los recursos, como el
número de solicitudes de página del administrador de búfer activas, que permite
supervisar el rendimiento y actividad del servidor mediante objetos y contadores
predefinidos o contadores definidos por el usuario para supervisar eventos.
Monitor de actividad (SQL Server Management Studio): El Monitor de
actividad de SQL Server Management Studio muestra información gráfica
acerca de:
o Los procesos que se ejecutan en una instancia de SQL Server.
o Los procesos bloqueados.
6
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
GUÍA DE ACTIVIDADES TRABAJO FINAL DEL CURSO: 100201 – HERRAMIENTAS TELEMÁTICAS
o Bloqueos.
o La actividad de los usuarios.
 Traza de SQL: Procedimientos almacenados de Transact-SQL que crean,
filtran y definen trazas. Las marcas de traza muestran información acerca
de
una actividad específica en el servidor para diagnosticar problemas o causas
de bajo rendimiento (por ejemplo, cadenas de interbloqueos).
 Supervisar los registros de errores: El registro de sucesos de aplicación de
Windows proporciona una imagen global de los eventos que ocurren en todos
los sistemas operativos Windows Server y Windows, así como de los eventos de
SQL Server y la búsqueda de texto. Contiene información acerca de los
eventos de SQL Server que no está disponible en ningún otro lugar. Puede
utilizar la información del registro de errores para solucionar problemas
relacionados con SQL Server.
9.5 Rendimiento
Para mejorar el rendimiento, MS SQL Server realiza los siguientes tipos de
optimización específicos de las consultas distribuidas:
Ejecución de consultas remotas utilizada con proveedores de comandos SQL de
OLE DB. Se considera que un proveedor OLE DB es un proveedor de comandos
SQL si cumple los siguientes requisitos mínimos:
 Admite el objeto Command y todas sus interfaces obligatorias.
 Admite la sintaxis DBPROPVAL SQL SUBMINIMUM o ISO de nivel de
entrada o superior, u ODBC de nivel de núcleo o superior. El proveedor
debe proporcionar este nivel de lenguaje mediante la propiedad
DBPROP_SQLSUPPORT de OLE DB.
Acceso indizado utilizado con proveedores de índices de OLE DB. Se considera
que un proveedor OLE DB es un proveedor de índices si cumple los siguientes
requisitos mínimos:
 Admite la interfaz IDBSchemaRowset con los conjuntos de filas de
esquema TABLES, COLUMNS e INDEXES.
7
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
GUÍA DE ACTIVIDADES TRABAJO FINAL DEL CURSO: 100201 – HERRAMIENTAS TELEMÁTICAS
 Admite la apertura de un conjunto de filas en un índice con IOpenRowset,
especificando el nombre del índice y el nombre de la tabla base
correspondiente.
En la ejecución de consultas remotas MS SQL Server intenta delegar la mayor
parte posible de la evaluación de una consulta distribuida en el proveedor de
comandos SQL. De la consulta distribuida original se extrae una consulta SQL que
sólo tiene acceso a las tablas remotas almacenadas en el origen de datos del
proveedor; esta consulta se ejecuta con el proveedor. Este comportamiento
reduce el número de filas devueltas desde el proveedor y permite a éste utilizar
sus índices para evaluar la consulta.
La parte de la consulta distribuida original que se delega en el proveedor de
comandos SQL se ve afectada por:

El nivel de lenguaje que admite el proveedor de comandos SQL.  La
compatibilidad de intercalación.
8
Descargar