
Investigación
sobre que es SQL SERVER
Si tenemos presente la historia del producto, esta
rápida sucesión de versiones no parece muy lógica: La primera versión fue SQL
4.21a, que apareció a finales del 1992. Por su parte, SQL 6.0 apareció en 1995,
la versión 6.5 en 1996 y finalmente, SQL 7.0 durante el pasado 1999, todo tiene
su explicación: Las anteriores versiones se basaban en el motor de base de
datos que Sybase y Microsoft desarrollaron conjuntamente y que, posteriormente,
por razones comerciales y políticas apareció al mercado por separado,
llamándose la de Microsoft versión SQL 4.21a.
Las
nueva versiones, evidentemente, incorporaban mejoras, pero siempre basándose en
el mismo motor de base de datos (por ese motivo, entre las versiones 6.0 y 6.5
sólo cambiaba el decimal, haciendo bueno el principio no escrito de: «Si el
número que cambia está a la derecha del decimal significa que se trata de una
actualización menor, mientras que si esta a la izquierda, significa una versión
mayor»). Y fue así hasta la versión 7.0, con la que se dio el gran salto,
desarrollándose un nuevo motor de base de datos desde cero y como base para el
futuro del producto (desarrollo que posibilitó, por ejemplo, que los bloqueos
se efectúen a nivel de de registro y no sólo de pagina, que las paginas sean de
8 Kb en vez de 2 Kb, etc.). Pero como todo nuevo software o proyecto (y
especialmente si es de Microsoft), lleva añadido una gran presión interna y externa
por parte del mercado, la compañía de Redmond presentó lo que había probado y
sabía que funcionaba de ese nuevo motor de base de datos, dejando la base para
desarrollos futuros.
Para
desgracia del administrador de base de datos, la versión 7.0 adolecía de una
función que podríamos calificar de básica: migrar las bases de datos de SQL 6.5
a 7.0 de forma automática, cosa que obligaba al DBA a dedicarle un tiempo
relativamente largo. Asimismo, SQL Server 7.0 cambió algunos aspectos en la
forma de acceder a la base de datos, lo que afectó a programas desarrollados y
naturalmente, a los lenguajes de programación con que están desarrollados
dichos programas. Estas diferencias significaron que el administrador de base
de datos se vió en la necesidad de verificar posteriormente que la conversión
efectuada tras ejecutar al asistente de migración era correcta, a
reinstalar la base de datos en caso de operar en un entorno cluster,
verificar que las aplicaciones funcionaban como antes de la migración, etc.
Ni
que decir tiene que la migración, tras superar estos escollos, ofreció sus
recompensas; un mejor rendimiento (con algún que otro reparo por la utilización
de la CPU), menor tamaño de las bases de datos gracias al menor tamaño de
página, unos menores tiempos de chequeo y copia de seguridad y un largo
etcétera que podría ser objeto de otro artículo.
Microsoft
ha dejado pasar un tiempo, y ha decidido sacar de su caja de las sorpresas esta
nueva versión, en la que incorpora muchas de las tecnologías que ya tenía en cartera
hace un año, integrándola con Windows 2000 y su Directorio Activo, además de
muchas otras que el mercado ha ido demandando. Afortunadamente, la migración de
7.0 a SQL 2000 no será tan laboriosa como lo fue para muchos migrar de 6.5 a
7.0. El motor es el mismo, lo que se hace, es añadir nuevas funcionalidades a
lo ya existente.
Como es habitual en la industria informática, se
propone una campaña de actualización a SQL 2000 Server desde las licencias de
SQL Server 7.0 adquiridas entre el 19 de Junio y el 29 de septiembre de 2000.
Características
de SQL Server
SQL Server proporciona soporte para un conjunto de
características que aportan las siguientes ventajas:
Facilidad
de instalación, distribución y utilización
SQL Server incluye un conjunto de herramientas
administrativas y de desarrollo que mejoran la capacidad para instalar,
distribuir, administrar y utilizar SQL Server entre varios sitios.
Escalabilidad
Puede utilizarse el mismo motor de base de datos a
través de plataformas que van desde equipos portátiles que ejecutan Microsoft
Windows 95 ó 98 hasta grandes servidores con varios procesadores que ejecutan
Windows NT, Enterprise Edition.
Almacenamiento
de datos
SQL Server incluye herramientas para extraer y
analizar datos resumidos para el proceso analítico en línea (OLAP, Online
Analytical Processing). SQL Server incluye también herramientas para
diseñar gráficamente las bases de datos y analizar los datos mediante preguntas
en lenguaje normal.
Integración del
sistema con otro software de servidor
SQL Server se integra con el correo electrónico,
Internet y Windows.
La historia de SQL
empieza en 1974 con la definición, por parte de Donald Chamberlin y de
otras personas que trabajaban en los laboratorios de investigación de IBM, de
un lenguaje para la especificación de las características de las bases de datos
que adoptaban el modelo relacional. Este lenguaje se llamaba SEQUEL (Structured
English Query Language) y se implementó en un prototipo llamado SEQUEL-XRM
entre 1974 y 1975. Las experimentaciones con ese prototipo condujeron, entre
1976 y 1977, a una revisión del lenguaje (SEQUEL/2), que a partir de ese
momento cambió de nombre por motivos legales, convirtiéndose en SQL. El
prototipo (System R), basado en este lenguaje, se adoptó y utilizó internamente
en IBM y lo adoptaron algunos de sus clientes elegidos. Gracias al éxito de
este sistema, que no estaba todavía comercializado, también otras compañías
empezaron a desarrollar sus productos relacionales basados en SQL. A partir de
1981, IBM comenzó a entregar sus productos relacionales y en 1983 empezó a
vender DB2. En el curso de los años ochenta, numerosas compañías por ejemplo
Oracle y Sybase, comercializaron productos basados en SQL, que se convierte en
el estándar industrial de hecho por lo que respecta a las bases de datos
relaciónales.
En 1986, el ANSI adoptó SQL (sustancialmente adoptó el
dialecto SQL de IBM) como estándar para los lenguajes relacionales y en 1987 se
transfomó en estándar ISO. Esta versión del estándar va con el nombre de
SQL/86. En los años siguientes, éste ha sufrido diversas revisiones que han
conducido primero a la versión SQL/89 y,
Posteriormente, a la actual SQL/92.
El hecho de tener un estándar definido por un lenguaje
para bases de datos relacionales abre potencialmente el camino a la ínter
comunicabilidad entre todos los productos que se basan en él. Desde el punto de
vista práctico, por desgracia las cosas fueron de otro modo. Efectivamente, en
general cada productor adopta e implementa en la propia base de datos sólo el
corazón del lenguaje SQL (el así llamado Entry level o al máximo el
Intermediate level), extendiéndolo de manera individual según la propia visión
que cada cual tenga del mundo de las bases de datos.
Actualmente, está en marcha un proceso de revisión del
lenguaje por parte de los comités ANSI e ISO, que debería terminar en la
definición de lo que en este momento se conoce como SQL3. Las características
principales de esta nueva encarnación de SQL deberían ser su transformación en
un lenguaje stand-alone (mientras ahora se usa como lenguaje hospedado en otros
lenguajes) y la introducción de nuevos tipos de datos más complejos que
permitan, por ejemplo, el tratamiento de datos multimediales.
NUEVA VERSIÓN DEL SISTEMA GESTOR DE BASES DE DATOS MICROSOFT SQL SERVER 2000
Microsoft SQL Server 2000 es
la última versión del sistema de gestión de bases de datos relacionales (SGBDR)
que aprovecha la sólida base establecida por su predecesor SQL Server 6.5. Y 7.
Como la mejor base de datos para Windows NT, SQL Server 2000 es el SGBDR ideal
para un amplio espectro de clientes corporativos y fabricantes independientes
de software (ISV). Las necesidades y requisitos del cliente han dado lugar a
innovaciones significativas en SQL Server versión 2000, entre las que se
incluyen la facilidad de uso, escalabilidad y fiabilidad, y almacenamiento de
datos.
Entre las más importantes innovaciones de Microsoft SQL Server 2000 cabe citar:
Uno de los objetivos principales de la inteligencia empresarial es
proporcionar información útil y centrada en la empresa para el planeamiento
estratégico. Analysis Services de Microsoft® SQL Server™ 2000 admite el
planeamiento estratégico de varias formas, y una de ellas es proporcionar la
capacidad de volver a escribir, de forma temporal o permanente, valores en un
conjunto de celdas dentro de un cubo. Esta capacidad, llamada reescritura en
celdas, admite el planeamiento estratégico facilitando los análisis
interactivos del tipo "Qué ocurre si" ("What If"). Puede
escribir valores temporalmente en un cubo y examinar localmente las
agregaciones resultantes sin realmente cambiar datos en el servidor de
Analysis. Una vez que haya terminado la actividad de planeamiento y tenga un
conjunto útil de valores, podrá escribir permanentemente los valores en el
cubo.
La escritura permanente de un valor en una celda hoja de un cubo
requiere una operación individual de reescritura, que escribe un único registro
en una tabla de reescritura. No obstante, la escritura permanente de un valor
en una celda que no es hoja puede requerir cientos de miles de operaciones
individuales de reescritura, cada una de las cuales escribe un único registro
en una base de datos relacional. El valor de una celda que no es hoja debe
asignarse a todas las celdas hoja que están subordinadas a la celda que no es
hoja y, a continuación, se agregan los valores de las celdas hoja para
proporcionar el valor de la celda que no es hoja. Como este proceso puede
exigir un enorme volumen de transacciones individuales, las operaciones de
reescritura permanente en celdas pueden afectar considerablemente al rendimiento
de la base de datos relacional subyacente.
SQL Server 2000 Service Pack 3 (SP3) mejora el rendimiento de la
reescritura en celdas de Analysis Services aprovechando la función de inserción
masiva de SQL Server 2000 cuando se realizan operaciones de reescritura
permanente en celdas que no son hojas. El presente documento incluye
información técnica y directrices de uso para esta función actualizada.
Este artículo asume que el lector tiene un conocimiento básico de
conceptos de bases de datos relacionales, está familiarizado con Analysis
Services y tiene SP3 instalado.
Configuración de la reescritura en celdas para inserciones masivas
La instrucción UPDATE CUBE de Expresiones multidimensionales (MDX) se
utiliza cuando se escriben valores de forma permanente en celdas que no son
hojas en Analysis Services. Como el valor de una celda que no es hoja se basa
en los valores de sus celdas hoja subordinadas, la instrucción UPDATE CUBE
utiliza el valor y el método de asignación suministrados para la celda que no
es hoja con la finalidad de escribir un registro que represente al valor
asignado de cada celda hoja subordinada en la tabla de reescritura.
Antes de SP3, cada registro se escribía en el origen de datos relacional
subyacente de forma individual, mediante la interfaz IRowsetChange del
proveedor OLE DB para el origen de datos. Mientras que este método era bastante
eficaz para operaciones de reescritura que requerían un cambio en una única
celda hoja, cuando requerían cambios en celdas que no eran hojas, se llamaba potencialmente
a la interfaz cientos de miles de veces antes de que se actualizara una única
celda que no es hoja.
Con el lanzamiento de SP3, Analysis Services puede utilizar ahora la
interfaz IRowsetFastLoad, implementada por Proveedor Microsoft OLE DB para SQL
Server, para realizar operaciones de inserción masiva. Esta interfaz mejora
notablemente el rendimiento de operaciones de reescritura permanente en celdas
que no son hojas insertando toda la información necesaria para actualizar las
celdas hoja subordinadas en una transacción. La funcionalidad de la interfaz
IRowsetFastLoad es idéntica a la que proporciona la utilidad bcp de SQL Server
2000 para realizar operaciones de inserción masiva.
Se utiliza la clave de registro SSFastLoadOptions para habilitar y configurar esta
función. La clave de registro, ubicada en
\\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OLAP
Server\CurrentVersion,
acepta un valor de cadena delimitado por comas.
Nota Para utilizar la funcionalidad de reescritura en
celdas mejorada, debe utilizar un origen de datos de Microsoft SQL Server 2000
para almacenar la tabla de reescritura y el Proveedor Microsoft OLE DB para SQL
Server para tener acceso al origen de datos. De lo contrario, se ignorará la
clave de registro SSFastLoadOptions.
REFERENCIAS:
http://personales.com/elsalvador/soyapango/clase01/Historia.htm
http://www.sqlmax.com/sql7.asp
http://www.microsoft.com/spanish/msdn/articulos/architectema/tema/sql.asp