MTBASE / SYBASE DE COLOMBIA
 
Búsqueda avanzada...
Listo para imprimir Versión para imprimir Enviar por e-mail

Nuevas Características en Syabse ASE 15

Sybase Adaptive Server Enterprise (ASE) 15 responde a las exigentes demandas de las bases de datos de gran tamaño y alto volumen transaccional, al mismo tiempo que brinda un sistema de gestión de datos bajo en costos.

Este documento está organizado en dos capítulos:

  1. Nuevas Características
  2. Cambios en el Sistema

Para mayor información sobre ASE 15 visite ésta página.

1. Nuevas Características

Este capítulo describe las siguientes nuevas características incorporadas a ASE 15.0:

Particionamiento de Tablas

El particionamiento es particularmente útil para la gestión de tablas e índices grandes, dividiéndolas en porciones más pequeñas y manejables. Las particiones, como un índice a gran escala, brinda un acceso más rápido y fácil a los datos.

Las particiones son objetos de base de datos y pueden ser manipulados independientemente. Usted puede, por ejemplo, cargar datos y crear índices a nivel de una partición. Las particiones son transparentes para el usuario final, quien puede ejecutar cualquier tipo de operaciones de consulta y modificación, independientemente de si la tabla se encuentra particionada o no.

ASE 15 soporta particionamiento horizontal, en el que un conjunto de filas de la tabla puede ser distribuido entre particiones sobre diferentes dispositivos de disco. Filas individuales de la tabla o del índice son asignadas a una partición de acuerdo a una estrategia de particionamiento semántico o de round-robin.

Las estrategias de particionamiento semántico usan los valores de datos especificados en columnas llave de cada fila para determinar la asignación de esa fila. La estrategia de particionamiento round-robin asigna filas de forma aleatoria, sin referencia a los valores de los datos.

Las estrategias de particionamiento son:

  • Particionamiento hash (semántico) -- una función hash del sistema determina la asignación de particiones para cada fila.
  • Particionamiento por lista (semántico) -- los valores en las columnas de la llave son comparados con conjuntos de valores suplidos por el usuario, específicos para cada partición. Las correspondencias exactas determinan la asignación de particiones.
  • Particionamiento por rango (semántico) -- los valores en las columnas de la llave son comparados con un conjunto de valores máximos y mínimos suplidos por el usuario, asociados con cada partición. Los valores de las columnas de la llave que caigan dentro de los límites especificados determinan la asignación de particiones.
  • Particionamiento round-robin -- las filas son asignadas de manera aleatoria a particiones usando un esquema round-robin, de tal manera que cada partición contiene más o menos un número igual de filas. Esta es la estrategia predeterminada.

Para mayor información sobre el particionamiento de tablas en ASE 15, refiérase al documento Particionamiento Semántico en ASE.

Catálogos con Bloqueo a Nivel de Fila

ASE 15.0 convierte la mayor parte de los catálogos del sistema al esquema de bloqueo datarows. Estos catálogos del sistema continúan usando el esquema de bloqueo datapages:

  • Tablas materializadas tales como syslocks y sysprocesses. Estas tablas son generadas en tiempo de ejecución y sus esquemas de bloqueo son irrelevantes para la concurrencia.

  • sysmessages y sysusermessages, que son tablas de sólo lectura.

  • Tablas de auditoria en sybsecurity, las cuales son tablas en las que se escribe una vez y se lee muchas veces.

El proceso interno de actualización de ASE convierte los esquemas de bloqueo de las tablas del sistema durante una instalación, actualización, o actualización a partir de copias de respaldo.

Ya que los DDLs  (sentencias de definición de datos) en ASE 15.0 usan los mismos candados a nivel de tabla que la versión 12.5.x y versiones anteriores, no hay mejoras de concurrencia cuando usted ejecuta DDLs.

Procesador de Consultas

El procesador de consultas de ASE versión 15.0 es auto-afinable, requiriendo menos intervenciones que en versiones anteriores. Esta versión de ASE recae menos en worktables para materialización entre pasos ya que el motoro soporta flujo de datos entre pasos. Sin embargo, es posible que se usan más worktables en casos en los que ASE determine que las operaciones de hash y merge sean efectivas.

Las nuevas características incluyen:

  • Paralelismo vertical y horizontal para el procesamiento de consultas.

  • Selección mejorada de índices, especialmente para joins con cláusuals OR y joins y argumentos de búsqueda (SARGs) con tipos de datos compatibles pero diferentes.

  • Algoritmos más eficientes.

  • Mejor cálculo de costos, usando histogramas de join para joins con datos mal distribuidos sobre en las columnas del join.

  • Mejor elección del plan de consulta, mejorando el rendimiento a través de:

  • Nuevas estrategias de unión e intersección de índices para consultas con predicados AND/OR sobre diferentes índices.

  • Agrupamiento y ordenamiento al vuelo usando ordenamiento y hashing en memoria para consultas con cláusulas group by y order by.

  • Mecanismos de purga y timeout basados en costos que usan estrategias de búsqueda basadas en permutación para operaciones grandes de join y para joins con esquema estrella y copo de nieve.

  • Diagnóstico y resolución mejorados de problemas usando:

  • Salida en formato XML

  • Salida de diagnóstica de nuevos comandos set

  • Joins que involucren una gran cantidad de tablas

  • Particionamiento de datos e índices, que son especialmente beneficiosos para conjuntos de datos muy grandes

El particionamiento es el bloque básico de construcción para el paralelismo.

ASE 15.0 provee particionamiento round-robin. El particionamiento roun-robin es equivalente al estilo de particionamiento de la versión 12.5. Durante la actualización a ASE 15.0, todas las tablas particionadas existentes son desparticionadas y convertidas automáticamente a tablas particionadas round-robin de una sola vía.

Identificadores Grandes

Hay nuevos límites para la longitud de los nombres de objetos o identificadores: 255 bytes para identificadores regulares, y 253 para identificadores delimitados. El nuevo límite aplica para la mayor parte de identificadores definidos por el usuario, incluyendo nombres de tablas, nombres de columnas, nombres de índices, etc. Debido a los nuevos límites, algunas tablas del sistema (catálogos) y funciones del sistema han sido expandidas.

Para variables, "@" cuenta como un byte, y el nombre permitido para la variable es de 254 bytes.

Columnas Computadas

Esta sección describe una mejora que proporciona más fácil manipulación de los datos y un acceso más rápido a los datos, permitiéndole crear columnas computadas, índices sobre columnas computadas, e índices basados en funciones.

  • Columnas computadas -- definidas por una expresión, a partir de columnas regulares en la misma fila, funciones o operadores aritméticos.

  • Índices sobre columnas computadas -- índices que contienen una o más columnas computadas como llaves del índice.

  • Índices basados en funciones -- índices que contienen una o más expresiones como llaves del índice.

Para mayor información sobre columnas computadas, refiérase al documento Columnas Computadas e Índices Funcionales en Adaptive Server Enterprise.

Cursores Bi-direccionales

ASE permite tanto cursores bi-direccionales ("scrollable") como no bi-direccionales ("nonscrollable"), los cuales pueden ser semi-sensitivos o insensitivos.

"Bi-direccionales" significa que usted puede navegar a través del conjunto resultado del cursor, leyendo una o muchas filas, en lugar de una fila a la vez; usted también puede leer repetidamente el conjunto resultado. Usted debe usar Transact-SQL o JDBC para declarar un cursor bi-direccional y usted debe tener el motor de consultas proporcionado en ASE 15.0 o posterior. Un cursor bi-direccional le permite definir la posición del cursor en cualquier parte del conjunto resultado del cursor, siempre y cuando el cursor esté abierto, especificando la opción first, last, absolute, next, prior o relative en la sentencia fetch.

Por ejemplo, para ubicarse en la última línea de un conjunto resultado, use:

fetch last [from] <cursor_name>

O, para leer una fila específica del conjunto resultado, en éste caso la fila 500, use:

fetch absolute 500 [from] <cursor_name>

"Insensitivo" o "semi-sensitivo" hace referencia a qué tanto los cambios sobre los datos desde fuera del cursor son visibles para el cursor. Un cursor puede ser semi-sensitivo, pero no bi-direccional.

Todos los cursores bi-direccionales son de sólo lectura. Los cursores de actualización son no bi-direccionales.

Para mayor información sobre cursores bi-direccionales, refiérase al documento Cursores Bi-Direccionales en Adaptive Server Enterprise.

Soporte a Unitext

ASE versión 15.0 incluye el tipo de dato de longitud variable unitext, el cual puede almacenar hasta 1,073,741,823 caracteres Unicode (2,147,483,646 bytes). Usted puede usar unitext en cualquier parte en donde se pueda usar el tipo de dato text, con la misma semántica. Las columnas unitext se almacenan usando una codificación UTF-16, sin importar el juego de caracteres predeterminado de ASE.

Los beneficios de unitext incluyen:

  • Datos grandes con caracteres Unicode. Junto con los tipos de datos unichar y univarchar, ASE brinda soporte completo al tipo de dato Unicode, el cual es mejor para aplicaciones incrementales multi-idioma.

  • unitext almacena datos en UTF-16, el cual es el tipo de datos para la codificación nativa de los ambientes Windows y Java.

Soporte a big int

ASE versión 15.0 incluye soporte al tipo de dato numérico exacto bigint.

Este es el rango de números permitidos por el tipo de dato bigint:

Tipo de dato Rango
bigint Números enteros entre -263 y 263 - 1 (desde -9,223,372,036,854,775,808 hasta  +9,223,372,036,854,775,807, inclusive).

Tabla 1-1: Rangos para el tipo de datos bigint

Soporte a unsigned int

Estos tipos de datos enteros sin signo le permiten extender el rango de los números positivos para tipos de datos existentes sin aumentar el tamaño requerido de almacenamiento. En otras palabras, las versiones con signo de estos tipos de datos se extienden tanto en la dirección negativa como en la positiva (por ejemplo, de -32 a 32). Sin embargo, las versiones sin signo se extienden sólo en la dirección positiva. La tabla 1-2 describe el rango de las versiones con y sin signo de estos tipos de datos.

Tipos de Datos Rango de tipos de dato con signo Rango de tipos de datos sin signo
bigint Números enteros entre -263 y 263 - 1 (desde -9,223,372,036,854,775,808 hasta +9,223,372,036,854,775,807, inclusive Números enteros entre 0 y 18,446,744,073,709,551,615
int Números enteros entre -231 y 231 - 1 (-2,147,483,648 y 2,147,483,647), inclusive Números enteros entre 0 y 4,294,967,295
smallint Números enteros entre -215 y 215 -1 (-32,768 y 32,767), inclusive Números enteros entre 0 y 65535

Tabla 1-2: Rangos para enteros con y sin signo

Identidad Tipo int

ASE versión 15.0 le permite usar los siguientes tipos de datos como valores de una columna identity:

  • bigint

  • int

  • numeric

  • smallint

  • tinyint

  • unsigned bigint

  • unsigned int

  • unsigned smallint

Mejoras a los Servicios XML

Las mejoras a XML en 15.0 incluyen:

  • Soporte a esquemas XML -- usted puede validar documentos XML contra un DTD o un esquema XML. El DTD o el esquema puede ser especificado en el comando xmlvalidate o en el documento mismo.

  • Soporte de internacionalización -- los servicios XML soportan ahora las extensiones I18N.

  • Mejoras a la cláusula for xml -- en Traansact-SQL, una sub-consulta de expresión es una sub-consulta entre paréntesis. Tiene una sola columna, cuyo valor es el resultado de la sub-consulta de expresión, y debe arrojar una sola fila. Usted puede usar una sub-consulta de expresión en cualquier parte donde se pueda usar una expresión. Las sub-consultas for xml le permite usar cualquier sub-consulta que contenga una cláusula for xml a manera de sub-consulta de expresión.

Mejoras al Plug-in de ASE

El Plug-in de ASE es el componente que permite llevar a cabo tareas rutinarias de administración y configuración del servidor, desde Sybase Central.

ASE versión 15.0 agrega los siguiente al Plug-in de ASE para mejorar su eficiencia y conveniencia:

  • Vista empresarial (enterprise view) que incluye Búsqueda de Servidores (Server Discovery -- que le permite encontrar servidores disponibles en su sistema) y visualización del estado de los servidores.

  • La habilidad de actualizar servidores, administrar servidores remotos y de gestionar los logs de los servidores.

  • Integración del Job Scheduler y la pre-visualización de SQL.

  • Un visor gráfico de planes.

  • La habilidad de integrar herramientas externas.


Fig 1-1: Plug-in de ASE

Interactive SQL

Interactive SQL le permite ejecutar sentencias SQL, consrtuir scripts, y visualizar datos de las bases de datos del servidor. Usted puede ejecutar Interactive SQL individualmente o desde el Plug-in de ASE. Ha sido integrado al Plug-in de ASE como la herramienta estándar de consulta.

Usted puede usar Interactive SQL para:

  • Visualizar información de una base de datos.

  • Probar sentencias SQL antes de incorporarlas a una aplicación.

  • Cargar datos a una base de datos y llevar a cabo tareas administrativas.

Adicionalmente, Interactive SQL puede ejecutar archivos de comandos o scripts. Por ejemplo, usted puede construir scripts repetibles que se puedan ejecutar contra una base de datos y luego usar Interactive SQL para ejecutar estos scripts en lote.


Fig 1-2: Interactive SQL

Servicios Web Definidos por Usuario

En adición a los métodos Web provistos por el motor de Servicios Web de ASE, ASE 15.0 le permite crear servicios Web y ejecutar sentencias SQL en ASE usando un navegador Web o un cliente SOAP. Estos servicios Web definidos por usuario usan los mecanismos existentes de seguridad y control inherentes a ASE.

Usted puede crear un servicio Web definido por usuario con el comando create service, que le permite especificar el SQL a ser ejecutado, crear un objeto para el cual los permisos pueden ser controlados con el comando grant, y controlar si el servicio puede ser invocado desde un navegador Web o desde un cliente SOAP. El motor de Servicios Web autoáticamente genera el WSDL para los servicios Web definidos por usuario.

Soporte a Almacenamiento de Gran Tamaño

ASE 15.0 extiende ampliamente el número permitido de dispositivos de disco y el número permitido de bloques de 2K para cada dispositivo.

En versiones de ASE anteriores a la 15.0, una página virtual se describe internamente como un entero de 32 bits: el primer byte almacena el número del dispositivo (vdevno) y los siguientes tres bytes describen el desplazamiento de la página (page offset) dentro del dispositivo, en unidades de 2K (el número de página virtual). Esta arquitectura limita el número de dispositivos a 256 y el tamaño de cada dispositivo a 32GB -- para un máximo límite de almacenamiento de 8 Terabytes, en todo el servidor.

En ASE 15.0, el número de dispositivo y el desplazamiento de página se almacenan en enteros de 32 bits separados. La nueva arquitectura le permite crear hasta 2,147,483,647 dispositivos de disco, cada uno con un tamaño máximo de 2,147,483,648 bloques de 2K (4 Terabytes).

Actualización Automática de Estadísticas

En lugar de ejecutar manualmente update statistics a cierta hora, usted puede definir la ejecución automática de update statistics a la hora que mejor convenga para su sitio, evitando así la ejecución en horas en las que su sistema se pueda ver afectado. El mejor momento para que usted ejecute update statistics está basado en la información de la función datachange. datachange también le ayuda a asegurarse de que usted no corre update statistics de manera innecesaria. Usted puede usar plantillas para determinar los objetos, horas, prioridad y umbrales de datachange que activan el update statistics, lo que asegura que los recursos críticos son sólo usados cuando el procesador de consultas genera planes más eficientes.

Dado que es una tarea de uso intensivo de recursos, la decisión de ejecutar update statistics debe estar basada en un conjunto específico de criterios. Algunos de los parámetros que le pueden ayudar a determina un buen momento para ejecutar update statistics son:

  • ¿Qué tanto han cambiado las características de los datos desde que usted ejecutó update statistics por última vez? Esto se conocer como el parámetro "datachange".

  • ¿Hay suficientes recursos disponibles para ejecutar update statistics? Estos incluyen recursos tales como el número de ciclos libres de cpu y asegurarse de que la actividad crítica en línea no ocurra durante el proceso de actualización de estadísticas.

El parámetro "datachange" es una medida clave que le ayuda a medir la cantidad de datos modificados desde que usted ejecutó update statistics por última vez, y es llevada por la función datachange. El Job Scheduler provee un mecanismo para ejecutar update statistics automáticamente. El Job Scheduler incluye un conjunto de plantillas personalizables que determina cuándo se debe ejecutar update statistics. Estas entradas incluyen todos los parámetros para update statistics, los valores de umbral para datachange, y la hora en la que se ejecutará el update statistics. El Job Scheduler ejecuta update statistics con prioridad baja, para no afectar tareas críticas que se estén ejecutando concurrentemente.

Manejo de Licencias con SySAM

La implementación de SySAM (Sybase Software Asset Management) cambió para ésta versión de ASE. Los cambios incluyen:

  • Se incluyen herramientas de administración y reporte con SySAM versión 2.0. Estas herramientas le permiten monitorear el uso de licencias.

  • Un sólo método de instalación soporta todas las ediciones de ASE.

  • La configuración de SySAM ya no es opcional.

  • Se proveen opciones flexibles de configuración de SySAM.

  • Las licencias de SySAM ya no se entregan junto con el pedido. Usted debe obtener los certificados de licencia del Sybase Product Download Center (SPDC).

  • Las llaves de las licencias de SySAM incluyen información sobre el plan de soporte que usted compró. Usted debe actualizar estas licencias cada vez que renueve su plan de soporte.

  • Las políticas de soporte son aplicadas de manera estricta y consistente.

  • ASE puede funcionar bajo períodos de gracia si no es capaz de obtener una licencia. Estos períodos de gracia dan a los clientes un tiempo razonable para resolver el problema que causó la falla de la licencia. ASE continúa funcionando normalmente durante el período de gracia. Los componentes de ASE y el servidor mismo dejan de funcionar al final del período de gracia si los problemas de licenciamiento no son resueltos.

  • Usted puede recibir notificaciones en tiempo real vía correo electrónico sobre eventos de licenciamiento.

  • Las licencias generadas desde SPDC incluyen información sobre la máquina (host) en donde la licencia será usada. Estas licencias no pueden ser usadas sobre otra máquina sin re-generar la licencia desde SPDC.

Estos cambios afectan el proceso de instalación y configuración de ASE. Planee su implementación de SySAM antes de instalar ASE.

Métricas de Procesamiento de Consultas

Las métricas de procesamiento de consultas (QP metrics) identifican y comparan valores empíricos en la ejecución de consultas. Cuando una consulta es ejecutada, se asocia con un conjunto definido de métricas que son la base para la comparación en QP metrics.

Las métricas capturadas son:

  • Tiempo de ejecución en CPU -- el tiempo, en milisegundos, que se toma ejecutar la consulta.

  • Tiempo transcurrido -- la diferencia en milisegundos entre la hora a la que el comando se inició y la hora actual, tomada del reloj del sistema operativo.

  • Lecturas lógicas (LIO) -- el número de operaciones de lectura lógicas.

  • Lecturas físicas (PIO) -- el número de operaciones de lectura físicas

  • Conteo -- el número de veces que una consulta es ejecutada.

  • Conteo de abortos -- el número de veces que una consulta es abortada por el gobernador de recursos debido a que un límite de recursos fue excedido.

Cada métrica tiene tres valores: mínimo, máximo y promedio. No se incluye conteo y conteo de abortos.

Actualización a los Planes Abstractos

Para una descripción completa de los cambios en los planes abstractos, remítase al manual Query Processing Guide de ASE 15.

Cambios al showplan

La versión de showplan de ASE 15.0 representa de manera más exacta los pasos llevados a cabo por el procesador de consultas. ASE 15.0 cambia el formato de los mensajes de showplan para mostrar el plan de ejecución de una manera más clara. En vez de mostrar los mensaje de showplan en formato vertical:

delete 
from authors 
where au_lname = "Willis" 
and au_fname = "Max"

QUERY PLAN FOR STATEMENT 1 (at line 1).

The type of query is DELETE.
The update mode is direct.

FROM TABLE
authors
Nested iteration.
Using Clustered Index.
Index : au_names_ix
Forward scan.
Positioning by key.
Keys are:
au_lname ASC
au_fname ASC
Using I/O Size 2 Kbytes for index leaf pages.
With LRU Buffer Replacement Strategy for index leaf pages.
Using I/O Size 2 Kbytes for data pages.
With LRU Buffer Replacement Strategy for data pages.
TO TABLE
authors

La versión de showplan de ASE 15.0 muestra una serie de "pipes" (el símbolo "|") para distinguir cada uno de los pasos llevados a cabo por los operadores.

En la siguiente consulta, hay tres operadores, EMIT, DELETE y SCAN, así que esta consulta incluye tres grupos de "pipes" para desplegar esta organización:

delete 
from authors 
where au_lname = "Willis" 
and au_fname = "Max"

QUERY PLAN FOR STATEMENT 1 (at line 1).
2 operator(s) under root

The type of query is DELETE.
ROOT:EMIT Operator
|DELETE Operator
| The update mode is direct.
|
| | |SCAN Operator
| | | FROM TABLE
| | | authors
| | | Index : aumind
| | | Forward Scan.
| | | Positioning by key.
| | | Keys are:
| | | au_lname ASC
| | | au_fname ASC
| | | Using I/O Size 8 Kbytes for index leaf pages.
| | | Using LRU Buffer Replacement Strategy for index leaf pages
| | | Using I/O Size 8 Kbytes for data pages.
| | | With LRU Buffer Replacement Strategy for data pages.
|
| TO TABLE
| authors
| Using I/O Size 8 Kbytes for data pages.

Esta versión de ASE también incluye la habilidad de desplegar los mensajes de showplan en XML.

Uso de FIPS 140-2 con SSL

SSL (Secure Sockets Layer) es el estándar para asegurar la transmisión de información sensitiva -- tal como números de tarjeta de crédito y transacciones bancarias -- a través de Internet. SSL recae en criptografía que se basa en una llave pública y otra secreta.

El SSL usado en ASE versión 15.0 usa módulos criptográficos validados para FIPS 140-2, Nivel 1. Los módulos criptográficos son Certicom Security Builder GSE para ASE, en plataformas Windows, Solaris, AIX y HPUX. Para mayor información, vea el certificado de validación #542, con fecha Junio 2, 2005 en el sitio Web de NIST, http://csrc.nist.gov/cryptval/140-1/1401val.htm.

 
 Inicio   Sobre MTBASE   Sobre Sybase   Empleos en MTBASE   Mapa del Sitio   Aspectos Legales y Políticas de Privacidad