Sistema de base de datos relacionales – "Teradata database" (página 2)
Enviado por Sanchez Guerra, Rudy Wilson
Teradata Milestones
1976 -1979 | Teradata evoluciona gracias al Instituto de Investigación de California (Caltech) y a discusiones del Grupo Avanzado de Investigaciones del Citybank; Caltech propuso el ¿Qué? Y Citybank el ¿Porque? Ambas ideas se fusionaron en 1979. los fundadores trabajaron en el diseño de un administrador de base de datos revolucionario, para el procesamiento en paralelo con múltiples procesadores, específicamente para soporte de decisiones; estos procesadores fueron agrupados para que su trabajo en conjunto sea mucho mejor que el de uno solo con la suma de todas sus potencias |
1979 | Un 13 de julio de 1979 Teradata inicia sus actividades en un garaje en Brentwood California, Teradata nombre cual simbolizaba la habilidad de administrar Terabytes de datos (trillones de bytes), sus fundadores trabajaron en su financiamiento, para Marzo de 1980 con $150.000, el diseño y su patente hicieron que el trabajo sea mucho mas serio. |
1980 | En Julio con alrededor de $2.5 millones de dolares, permitieron que la compañía deje de emplear el equipo R&D. |
1983 | Justamente para Navidad, la primera beta del sistema estaba lista para el "Wells Fargo Bank" |
1986 | Al finalizar Junio La revista Fortune nombra a Teradata "Producto del año" |
1990 | Teradata y NCR Corporation se asociaron para construir "la próxima generación de base de datos para computadoras" |
1991 | En setiembre AT&T adquirio NCR y para diciembre NCR anuncio la adquisición de Teradata. |
1992 | En enero el primer sistema sobre 1 Terabyte cobro vida en los almacenes Wal-Mart. |
1994 | |
1995 | El grupo de consultoria IDC nombra a Teradata Numero 1 en MPP (Procesamiento Masivo en Paralelo) en el Computer World Magazine. |
1996 | Teradata, la base de datos mas extensa en el mundo con 11 Terabytes en datos; Gartner añadio "… Teradata V2 ha probado su escalabilidad…" y The Data Warehouse Institute premio a Teradata como su mejor practica en Data Warehousing. |
1997 | En enero NCR se independizo de AT&T como marca registrada, La base de datos de uno de los clientes de Teradata fue las mas extensa en producción con 24 Terabytes en datos de usuario, recibiendo asi el premio a "The data Warehouse Best Practices" en el DBMS Readers Choice Awards. |
1998 | Teradata se orienta a Windows NT. |
1999 | La base de datos de uno de los clientes de Teradata tenía ya 130 Terabytes en datos de usuario con 176 nodos en actividad. |
2000 | La primera aplicación empresarial para detallar la medida de beneficios del cliente denominada VA (Value Analyzer) fue lanzada para Royal Bank de Canadá, donde se convirtió en un éxito, luego VA fue adoptado por diez clientes adicionales de Teradata. Luego Teradata adquirió como compañero de negocios a Stirling Douglas Group, adicionando (DCM) Demand Chain Management software, incrementando asi su familia de aplicaciones empresariales. |
2001 | Teradata duplica sus líneas de código (1.6 millones a 3.8 millones). Introduce así FM Solution (Financial Management), una arquitectura analítica compuesta por hardware, software, consultoría profesional y soporte de servicios. Integrando así datos hacia un modelo de datos financiero para aplicaciones operacionales, permitiendo a la compañía generar reportes sobre sus actividades financieras minimizando costos y esfuerzo. |
2002 | Teradata lanza Teradata Warehouse 7.0, luego adquirió Sagetree, desarrollador de software SCI (Supply Chain Intelligence), ampliando su familia de soluciones empresariales. |
2003 | Más de 120 compañías líderes de la industria migraron de Oracle a Teradata desde el lanzamiento del programa de migración. Se crea la Red universitaria Teradata para la comunidad académica de Data Warehousing, cerca de 170 universidades de 27 países fueron integradas a la red. Teradata CRM V5(Customer Relationship Manager), fue lanzado, integrando capacidades analíticas en una sola aplicación sofisticada. |
2004 | Teradata y SAP, compañías líderes en proveer soluciones de software, anuncian una tecnología conjunta, para desarrollar soluciones analíticas para las industrias con altos requerimientos en volúmenes de datos. Teradata lanza Teradata Warehouse Miner 4.0, y Teradata Profiler Data Mining Tool que automatiza significativamente las tareas mas difíciles que demandan mas tiempo y esfuerzo en el análisis y preparación de datos. |
2005 | Teradata lanza "Teradata Warehouse 8.1" que incorpora "Enterprise Intelligence" soporte inteligente para decisiones, con una combinación de reportes históricos y análisis predictivo en "casi" tiempo real de actividades de negocio. Siebel Systems Inc., líder en proveer soluciones de software empresarial, anuncia una alianza estratégica para integrar y optimizar productos. Teradata incorpora sus servicios para Linux en adición a su línea para Windows y su propia plataforma UNIX MP-RAS. Teradata introduce Teradata Relationship Manager V6.0, una nueva solución para la integración de relaciones con clientes y análisis empresarial, y herramientas de comunicación que optimizan la administración de Teradata. |
Capítulo I: Data Warehousing
¿QUÉ ES DATA WAREHOUSE?
Es un depósito de información integrada, disponible para consultas y análisis, la información que es extraída o generada desde fuentes heterogéneas, esto hace mucho más fácil y eficiente el realizar consultas sobre los datos que originalmente están distribuidos en distintas locaciones.
También se le conoce como una colección lógica de información almacenada desde diferentes bases de datos operacionales, usadas para crear negocios inteligentes, dando soporte al análisis de actividad de negocios, y tareas de decisión (un almacén de información operacional y transaccional), diseñada para proveer datos eficientes de análisis y para reportes especialmente (OLAP), Data Warehousing podría significar datos 'virtuales' o 'punto a punto'.
¿QUE ES UNA DATA WAREHOUSE ACTIVA?
Permite dar respuesta a preguntas importantes no referentes únicamente a decisiones estratégicas, pero son orientadas a decisiones tácticas de realización.
CONSULTAS ESTRATÉGICAS
Las consultas estratégicas son usadas cuando se desea tomar un aprovechamiento pro-activo para el futuro cercano, la información que produce que se utiliza para desarrollar un plan cohesivo o un curso de acción.
Los datos almacenados que soportan consultas estratégicas deben ser históricos en naturaleza de manera que provean una representación fiable de lo que estuvo sucediendo en el pasado, involucran procesamiento de volúmenes de datos.
CONSULTAS TÁCTICAS
Las consultas tácticas son muy útiles para el futuro de corto plazo, son reactivas y manejables por eventos, tienen algunos datos de requerimiento estratégicos por que actúan en base a la información histórica, los datos que proveen son actuales y consistentes.
TERADATA WAREHOUSE ACTIVA
El entorno de Teradata provee utilidades que son cargadas en un tiempo reducido, proveniente desde una fuente, para todos los clientes que requieren de estos datos, Teradata Warehouse no solo incluye la base de datos, sino un pull de herramientas y utilidades, conformando así una suite de administración organizada en las siguientes categorías.
Categoría de la utilidad | Usada para… |
Teradata Utility Pak | Orientada para un ambiente de red corporativa |
Teradata PreProcessors | Acceso a la base de datos interpretando las sentencias Teradata SQL escritas en C o Cobol. |
Carga y Descarga | Cargar datos dentro de una que aun no es permanente en la base de datos. |
Data Base Management Utilities | Permite el control de las base de datos |
Teradata Analyst Pack | Analiza el rendimiento de la base de datos y mejora su eficiencia en las consultas. |
Storage Management | Permite la administración de los datos en los discos fisicos, su restauración y copia de seguridad. |
Teradata Meta Data Services | Alamacenar, administrar, y navegar en el data warehouse |
Tabla N° 1. Categoría de utilidades de Teradata.
Capítulo II: Modelo de Bases de Datos de Teradata
Este apartado describirá los conceptos sobre el modelamiento de base de datos relacionales.
¿QUE ES UN MODELO RELACIONAL?
El modelo relacional de administración de base de datos fue derivado de conceptos matemáticos, donde se define a una tabla como relación, el numero de filas define su cardinalidad de la relación, y el numero de columnas es el grado de relación, cualquier manipulación de la tabla en una base de datos relacional, tiene un consistente y predecible resultado por que estas relaciones fueron definidas matemáticamente.
Los productos de administración de base de datos, basado en redes jerárquicas u orientadas a objetos, no son construidas en base teóricas sustentables, de modo que su comportamiento no es predecible en comparación a productos relaciónales.
Por ejemplo un optimizador de sentencias SQL para la base de datos usa el álgebra relacional para construir el camino mas eficiente de acceso a los datos requeridos, este puede adaptarse a cambios en las variables del sistema, reconstruyendo sus modos de acceso sin intervención de programación, esta adaptabilidad es necesaria pues las definiciones de la base de datos no son estáticas y pueden cambiar en el tiempo.
¿QUE ES UNA BASE DE DATOS RELACIONAL?
Se entiende como una colección de objetos, como tablas, vistas, macros, procedimientos almacenados, y triggers los cuales san fácilmente manipulables usando aplicaciones directas y especificas en sentencias SQL.
TERMINOLOGÍA DE BASE DE DATOS RELACIONAL
Las bases de datos relaciónales son una generalización de relaciones basadas en fundamentos teóricos matemáticos, pero no existe un modo dependiente el uno del otro.
Fundamentos Matemáticos | Terminología de Base de datos Relacional |
Relación | Tabla |
Tupla | Filas (registros) |
Atributo | Columna |
Tabla N°2. Comparativa de terminología matemática VS. RDBMS
TERADATA DATABASE
Es un almacén de información vinculada con herramientas y utilidades que hacen parte de una suite de DataWare Housing, un completo y activo sistema de administración de base de datos relacionales o RDBMS.
PROPÓSITO DE DESARROLLO
Teradata ha sido diseñado como un sistema que permite a los usuarios a visualizar y administrar cantidades inmensas de datos, como una colección de tablas relacionales, algunas capacidades de Teradata Database si listan en la siguiente tabla:
Teradata Provee… | El Cual… |
Capacidad | Terabytes de datos almacenados en billones de filas. Cientos de millones de instrucciones por segundo (MIPS) para el procesamiento de datos. |
Procesamiento en Paralelo | Hace que Teradata Database, sea la más rápida frente a otros sistemas relaciónales. |
Almacén de datos simplificado | Puede ser accesible por un sistema de red o conectado por canales. Soporta los requerimientos de una amplia diversidad de clientes. |
Tolerancia a fallos | Detecta automáticamente y se recupera contra fallos de hardware. |
Integridad de Datos | Asegura que las transacciones completas o incompletas permanezcan estables en caso de fallos. |
Crecimiento escalable | Permite que el sistema se expanda sin necesidad de sacrificar su rendimiento. |
SQL | Provee un Lenguaje de acceso estándar. |
Tabla N°3. Características de Teradata
TABLAS, FILAS Y COLUMNAS
Las tablas son objetos de dos dimensiones consistentes en filas y columnas, los datos están organizados en el formato de la tabla, y es presentada al usuario como un modelo relacional de base de datos, las referencias entre tablas definen sus relaciones y restricciones de datos dentro de cada una de ellas.
RESTRICCIÓN DE TABLAS (TABLE CONSTRAINTS)
Al momento de crear la base de datos y por coincidente sus tablas, se define ciertas condiciones denominadas Restricciones (constraints) las cuales pueden incluir rangos, condiciones, dependencias, etc. Durante dicha creación o modificación se puede especificar su rango de acción, en la columna, parte de la columna o múltiples columnas usando las sentencias CREATE y ALTER, esto se detallará en el capitulo de sentencias SQL
TABLAS PERMANENTES Y TEMPORALES
Para manipular datos, se debe de remitir una consulta en un lenguaje que la base de datos pueda entender, para el caso de Teradata Database este lenguaje es SQL, de modo que se puede almacenar los resultados de múltiples consultas en muchas tablas, almacenar estos datos de manera permanente es necesario cuando muchos usuarios quieran acceder a su contenido.
Cuando las tablas son requeridas para una sesión simple, el sistema crea tablas temporales, de modo que podamos también salvar el contenido del resultado para una subsiguiente consulta dentro de la misma sesión. También se puede desglosar complejas consultas en otras más pequeñas, nótese que estas tablas temporales se perderán al terminar la sesión.
TABLAS TEMPORALES GLOBALES
Son tablas que existen únicamente en la sesión de consulta SQL, los contenidos de las mismas son privadas para la sesión no accesibles para otros usuarios, la cual será eliminada al terminar dicha sesión, pero el sistema guarda la definición de dicha tabla de manera permanente en su diccionario de datos, dicha definición podría ser compartida por múltiples usuarios y sesiones de modo que cada sesión disponga de su propia instancia de la tabla.
TABLAS VOLÁTILES TEMPORALES
Si se requiere una tabla de uso simple, se puede definir esta como una tabla volátil temporal, se entiende que esta tabla permanecerá en memoria pero desaparecerá cuando por ejemplo el sistema sea reiniciado.
Solo el creador puede acceder a esta tabla, la cual es mas efectiva que usar una de tipo global pues su definición no se adicionara al diccionario de datos.
TABLAS DERIVADAS
Es un tipo especial de tabla, la cual se deriva del tipo de consulta SQL realizada, lo que permite evitar el uso de CREATE y DROPTABLE, para el almacenamiento de la información.
FILAS Y COLUMNAS
Una columna siempre contiene el mismo tipo de información y solo puede existir el mismo tipo de información en dicha columna, por otro lado una fila es una instancia de toda la columna en una tabla, las filas y columnas en la tabla representan las entidades o relaciones.
Una entidad es una persona, lugar o cosa de la cual la tabla posee información, el modelo relacional requiere se identifique una fila en una tabla de manera única, para lo cual se define una llave primaria.
Capítulo III: Arquitectura de Hardware y Software
Este capitulo describe los componentes de la arquitectura de hardware y software. El soporte de Hardware de teradata esta basado en la tecnología de multiprocesamiento simétrico, la combinación de este hardware en una red de comunicaciones permite que se forme un sistema MPP o conocido como sistema masivo de procesamiento en paralelo…
INFORMACIÓN DE ARQUITECTURA COMPARTIDA
La meta de diseño de Teradata fue proveer un almacenamiento de datos simplificado para una variedad de arquitecturas orientada a diversos clientes, poseer un simple recurso minimiza la duplicación de datos, el aprovechamiento de almacenamiento conocido como SIA (Shared Information Arquitecture) utilizado por Teradata para la creación de su base de datos, lo que elimina la necesidad de mantener bases de datos duplicadas y diversificadas en diferentes plataformas.
SIA, permite que muchos clientes de mainframes, redes locales, o computadoras personales, puedan acceder y manipular la misma base de datos de manera simultanea, la siguiente figura ilustra el principio de SIA.
PLATAFORMAS SMP Y MPP
MPP (masivo proceso paralelo) y de SMP (multiprocessing simétrico). SMP comparte los datos almacenados en los discos con todo el CPUs del sistema Los sistemas Windows NT utilizan tecnología SMP en ejecución y soportan hasta cuatro CPUs en un solo nodo de SMP. Siendo estos escalables hasta cierto número de procesadores. Una vez que se alcance ese umbral, los gastos indirectos para manejarlos llegan a ser mayores que las ventajas de agregar otra CPU. El número de los procesadores usados depende de la velocidad de los mismos.
Los sistemas de MPP son ilimitados en su escalabilidad. Mientras que se agregan los nodos de SMP, los gastos indirectos siguen siendo iguales, algunos clientes de Teradata tienen sistemas de MPP que abarcan más de 150 CPUs.
Estos componentes son:
Componente | Descripción | Función |
Nodo de Procesador | SMP. La conjunción de muchos procesadores (CPUs) en una configuración SMP, donde un nodo de procesamiento posee las siguientes características. Software Teradata Database Software de Interfaz para el cliente. MPP es una configuración de uno o mas nodos SMP con acceso a múltiples discos compartidos SCSI. | Provee una plataforma de hardware desde donde opera la base de datos. |
BYNET | Red de Interprocesamiento para el vínculo de nodos en un sistema MPP. | Implementa comunicaciones Broadcast, Multicast o Point to Point entre los procesadores, dependiendo de la situación. |
Tabla N° 4 Plataforma SMP-MPP
Estas plataformas usan procesadores virtuales que ejecutan una serie de procesos en un nodo bajo el modelo de Base de datos Extendidas en Paralelo (PDE). Los procesadores virtuals (Vprocs) proveen el ambiente en paralelo que permite que las Base de Datos Teradata sea ejecutada en Sistemas SMP y MPP.
BYNET
Como nivel mas elemental, BYNET es donde convergen los nodos SMP, formando un sistema de bus de comunicaciones de alta velocidad y provee Broadcast bidireccional, Multicast, y Punto a Punto, en un multimodo al menos existirá dos BYNETs creando un ambiente de comunicaciones optimo para la transmisión de información.
Si un BYNET cae, el segundo manejaría todo su trafico, el ancho de banda para cada nodo o vinculo en la red será 10Mb, pues cada nodo al menos tiene 2 vínculos de red, este ancho de banda es linealmente-escalable, por ejemplo un sistema de 16 nodos posee 320Mb de ancho de banda para conexiones punto a punto, haciendo que el total disponible para cada nodo sea de 20mb.
El software BYNET también provee el Standard TCP/IP como interfase de comunicaciones entre los nodos SMP.
Figura N° 3. Estructura BYNET
COLECCIÓN DE DISCOS (DISK ARRAY)
Teradata emplea Discos de almacenamiento de tecnología RAID (Redundant Array of Independent Disks) parar proteger los datos a nivel de discos utiliza el Administrador RAID para agrupar las unidades en Colecciones (Arrays), para asegurar la disponibilidad de datos en caso de la falla de un disco, cada array de discos consiste, en una o cuatro rangos de discos, con mas de cinco discos por rango, redundancia implica que ni los datos ni las funciones o los componentes sean duplicados en la arquitectura del array.
UNIDADES LÓGICAS
RAID Manager, utiliza grupos de discos, un grupo esta configurado en una o mas unidades lógicas (LUNs). Una LUN (unidad lógica) es una porción de cada disco en cada grupo. Dicha porción esta configurada para representar un solo disco. Y cada LUN es únicamente identificado por el sistema NCR UNIX MP-RAS.
CLIQUES
Un clique es la característica de un sistema multinodo, que físicamente agrupa nodos a través de acceso multipuerto, a unidades comunes de discos (Disk Arrays). La conexión de Arrays de Discos Inter-nodos son hechos mediante buses SCSI
Fig. N° 4 Conectividad de los cliques
Clique es el mecanismo que permite migrar los datos a otro nodo en caso de fallo, permitiendo que este proceso continué ejecutándose mientras el nodo de fallo se recupera.
PROCESADORES VIRTUALES
La versatilidad de Teradata esta basada en procesadores virtuales (vprocs) que eliminan la dependencia de procesadores físicos especializados, Vprocs son un conjunto de aplicaciones de proceso que ejecutan un nodo dentro de Las Extensiones de base de datos paralelas Teradata (PDE), dentro de un ambiente multitareas. Estos tipos de Vprocs son:
PE: Mejora el rendimiento en el control de tareas, con funciones de parseo.
AMP: Mejora el rendimiento de las funciones de la base de datos, para el ingreso o actualización de datos en los discos virtuales.
Un solo sistema puede soportar un máximo de 16,384 vprocs donde el máximo número de vprocs por nodo puede ser de hasta 128.
MOTOR DE PARSEO
Un PE, es el proceso que comunica a un cliente del sistema con los AMPs (via BYNET), donde cada PE ejecuta el software de la base de datos para administrar sesiones, descompone sentencias SQL, en secuencia de pasos, posibilita el paralelismo, y devuelve una respuesta al cliente que la solicita.
El software PE contiene lo siguientes elementos:
Elemento del motor de parseo | Procesos |
Parser | Descompone sentencias SQL en procesos de administración paso a paso. |
Optimizer | Determina el camino mas rápido para acceder a los datos. |
Generator | Generaliza y empaqueta procedimientos |
Dispatcher | Recibe procedimientos del parser y los envía a la AMP apropiada |
Monitorea que los procesos sean completados y manipula los errores encontrados durante el proceso. | |
Session Control | Administra los inicios, cierres de sesión y la validación de contraseñas. Recupera la sesión de trabajo en caso de fallas en el cliente o el servidor. |
Tabla N°5. Software de Parseo
MÓDULO DE ACCESO AL PROCESADOR
El corazón de la base de datos Teradata es el AMP, el cual es un Vproc (procesador virtual) que controla la administración de la base de datos y el subsistema de discos, con cada AMP bien asignada a un Vdisk
Funciones de AMP | Por ejemplo |
Administración de tareas de la base de datos | – Cuentas – Monitoreo de base de datos, tablas y filas. – Conversión de datos Durante el procesamiento de consultas. – Ordenar datos – Juntar filas de datos – Agregar datos |
File-System Management | Administración de espacio en disco |
Tabla N°6 Funciones del Modulo de Acceso
Cada AMP representada en la siguiente figura, administra un fragmento de espacio en los discos duros físicos, cada AMP almacena su fragmento de tabla dentro de ese espacio asignado.
Figura N° 5 Proceso de Comunicación y acceso
Cluster AMP
Los AMPs son agrupados dentro de clusters lógicos, para mejorar la tolerancia a fallos con la base de datos.
PROCESO DE CONSULTAS CON LA HERRAMIENTA DE PARSEO
Las sentencias SQL son utilizadas para generar consultas o interactuar con la base de datos, el manejo de SQL Parser para todas las consultas entrantes se describe en la siguiente tabla.
1. Parser verifica en la cache si la consulta ya fue realizada anteriormente, entonces: | |
Si la consulta… | Acción de "Parser" |
…esta en la cache. | Reutiliza las consultas ya generadas anteriormente que fueron almacenadas en la cache. "Eventos Plasticos" son directivas para la administración de la base de datos los cuales no contienen valores en sus datos |
…no esta en la cache | Comienza el su proecesamiento con el "Syntaxer" |
2. Syntaxer verifica la consulta entrante, entonces… | |
Si existe… | Acción del "Syntaxer" |
… consulta sin errores | Convierte la consulta en un árbol de parseo y lo procesa para su resolución al "Resolver" |
… errores en la consulta | Paraliza la sentencia y notifica el suceso. |
3. Resolver agrega información desde el diccionario de datos, para convertir la base de datos, tabla, procedimiento almacenado, y nombre macroa identificadores internos. | |
4. El modulo de seguridad verifica los derechos de acceso a el diccionario de datos. | |
Si lo derechos de acceso son… | Acción del modulo de seguridad |
Validos | Pasa la consulta al "Optimizer" |
No Validos | Aborta el proceso de consulta y lo notifica. |
5. Optimizer determina la forma mas efectiva de para implementar la consulta SQL | |
6. Optimizer explora la consulta para localizar los bloqueos, entonces pasa el Arbol de optimizacion de parseo al "Generator" | |
7. "Generator"transforma el arbol de optimizacion de parseo en, "eventos plasticos" y los pasa a "gncApply" | |
8. "gncApply" toma esos eventos producidos por el "Generator" y los transforma en pasos concretos Los "pasos concretos" son directivas de las AMPs que contienen cualquier sesion de usuario especifico. | |
9. "gncApply" pasa estos pasos al "Dispatcher" |
Tabla N° 7. Proceso de consultas con el parsing.
EL "DISPATCHER"
Controla la secuencia de pasos a ser ejecutados, para ser distribuidos al administrador de base de datos, la secuencia de acción es como sigue
1. "Dispatcher" recibe los pasos concretos de "gncApply"
2. "Dispatcher" localiza el primer paso en "BYNET", y se comunica para el proceso de los datos.
3. "Dispatcher" recibe las respuestas para completar dichos procesos, has que todas las solicitudes sean realizadas.
LAS AMPs
Cuando se obtienen las filas requeridas para el procesamiento de las consultas (asumiendo que las AMPs son procesadas por una consulta SELECT). BYNET transmite mensajes a las AMPs, la siguiente figura ejemplifica lo antes mencionado.
Figura N°6 Procesamiento de consultas
EJEMPLO: SENTENCIA SQL
Como ejemplo, se usara una sentencia SQL para Teradata, usando una tabla conteniendo información contable, el ejemplo asume que la columna AcctNo, es el único índice primario para Table_01.
1. SELECT * FROM Table_01 WHERE AcctNo = 129317;
2. SELECT * FROM Table_01 WHERE AcctBal > 1000;
Para este pequeño ejemplo:
- PE 1 (Parse Engine "Motor de Parseo") recibe consulta 1 y 2.
- Los datos para la cuenta 129317 esta contenido en la fila R9 de la tabla, y almacenada en AMP1
- La información de todas las cuentas esta distribuida en todos los discos de las AMPs.
EXTENSIONES DE BASE DE DATOS PARALELAS (PDE)
PDE es una capa de interfaz de software que esta encima del sistema operativo. El sistema operativo puede ser UNIX MP-RAS, Microsoft Windows, donde PDE provee a la base de datos Teradata con la siguiente habilidad.
- Ejecuta la base de datos Teradata en un ambiente en paralelo.
- Ejecuta vprocs (procesos virtuales).
- Aplica una prioridad flexible para la planificación de sesiones en la base de datos.Depura el kernel del sistema operativo residente en el y en la base de datos.
SISTEMAS MPP Y PDE
PDE permite al sistema MPP lo siguiente:
- Toma ventaja de las características de hardware, BYNET y los discos compartidos.
- Procesa las aplicaciones de usuario que fueron escritas en una aplicación no-paralela.
SISTEMA DE ARCHIVOS TERADATA
El propósito principal del sistema de archivos Teradata es proveer una capa entre el software de la base de datos y la capa PDE, permitiendo que los datos almacenados sean eficientes y consistentes.
Los bloques de datos son estructuras de disco que contienen una o mas filas de una tabla, y es una unidad física de entrada/salida para el sistema de archivos, los cuales son almacenados en un espacio del disco físico, lo cuales están agrupados en cilindros.
Cylinder Read, es una capacidad del sistema de archivos Teradata, que permite operaciones de exploración para ejecutar de manera eficiente, la lectura de cilindros y bloque de datos en una sola operación de entrada/salida, esto significa que el sistema lee/escribe los datos por cilindros de datos, en contraposición a utilizar los sectores del mismo, lo que reduce tiempo en las operaciones.
El tamaño de los bloques están en el rango de 6144bytes y 128Kb, o desde 12 a 255 sectores, lo cual puede ser personalizable por DBS Control Utility para un sistema de archivos por defecto o usando DATABLOCKSIZE especificando el tamaño de datos Asignados a la tabla.
INTEGRIDAD DE DATOS EN DISCOS (I/O DISK INTEGRITY)
Para detectar metadatos corruptos en el sistema, Teradata verifica lo siguiente:
- Numero de versiones
- Longitud de segmentos
- Tipos de bloques
- Bloqueo de agujeros en bloques de datos, índice de cilindros (Cilinder Index), Índices Maestros (MI), y estructuras de sistemas de archivos.
Nivel Checksum | Usando… |
Ninguno Bajo Medio Alto Completo | La utilidad de control de base de datos para asignar niveles de revisión en las tablas, ejemplo usando sentencias SQL. CREATE TABLE CREATE JOIN INDEX CREATE HASH INDEX ALTER TABLE |
Tabla N° 8. Modalidades de la Integridad de Datos
SISTEMA DE INTERFAZ GRÁFICA TERADATA
El interfaz grafica (GUI) de Teradata (DBW) permite que los administradores de la base de datos o del sistema controlen la operación con la base de datos Teradata. Este funciona en un ambiente gráfico X Windows [Unix] o de Microsoft Windows.
¿Cómo se comunica El entorno grafico con la base de datos?
El DBW se comunica con la base de datos de Teradata mediante el subsistema de consola (CNS), que es parte del software (PDE). CNS maneja esta comunicación. Desde la ventana principal podemos tener acceso.
Capítulo IV: Teradata DataBase
Este capitulo describe las diversas formas como el cliente puede comunicarse con la base de datos. Teradata usa el CLI (Call Level Interface – Nivel de Interfase de llamadas), el cual provee rutinas de servicios, en adición a esto Teradata soporta estándares para protocolos actuales
COMUNICACIÓN ENTRE EL CLIENTE Y LA BASE DE DATOS
Métodos de Adhesión
Los clientes pueden conectarse a la base de datos mediante un canal a través de una IBM Mainframe o a través de una LAN, las aplicaciones que estos pueden ejecutar son: CLIv2 (call level interface v2), estas interfaces pueden variar dependiendo el sistema operativo sea este Windows (WinCli) o Unix MP-RAS (ODBC u ODBC).
CLIv2 proporciona las siguientes acciones:
Administra múltiples de solicitudes de ejecución en una sola sesión. Administra múltiples sesiones en simultáneo para el mismo o diferente servidor.
Utiliza procesos cooperativos incrementando su rendimiento en los clientes.
Teradata Director Program
TDP administra las comunicaciones entre CLIv2 y el servidor. El programa se ejecuta en el mismo mainframe que CLIv2, pero se ejecuta como si fuese una máquina virtual. Un solo TDP se asocia a un servidor lógico donde cada TDP es referido por su uso con un identificador llamado el TDPid (TDP2). Las funciones del TDP incluyen:
- Inicio y cierre de sesión
- Logeo, verificación, recuperación, y reinicio
- Conexión de Entrada y salida física al servidor, incluyendo balanceos de sesión u operaciones de mantenimiento.
- Seguridad.
SERVIDOR
Un servidor procesa e implementa los requerimientos recibidos de CLIv2 via TDP, la siguiente figura ejemplifica estos eventos.
OTROS TIPOS DE COMUNICACIÓN
Estos tipos esta disponibles para sistemas Windows o UNIX MP-RAS. WinCLI: Es un interfase para DOS o Ventanas Windows, las rutinas CLI proveen acceso a los módulos como objetos los cuales han sido compilados o ensamblados de acuerdo al estándar de vínculos. WinCLI utiliza el protocolo DDE (Dynamic Data Exchange) para comunicarse con las aplicaciones.
ODBC: Conectividad para bases de datos Abiertas, el driver de teradata provee una interfase alternativa para el acceso a la base de datos teradata, el cual proporciona un Núcleo SQL de nivel 1 y algunas extensiones del nivel 2, con capacidades para conexión por sockets, TCP/IP. ODBC Driver para teradata opera de manera independiente a CLI o WinCLI.
JDBC: Proporciona acceso a la base de datos usando lenguaje Java, proporciona un ambiente independiente de la plataforma, ejecuta sentencias SQL y procesa los resultados. El driver JDBC de Teradata implementa clases para comunicaciones entre el gateway y el host.
ADMINISTRACIÓN DEL SISTEMA
Asignación de espacio para las Bases de Datos y los Usuarios
No sólo se refiere al espacio requerido en disco, también el espacio requerido para los usuarios.
Para Teradata, una base de datos es una colección de tablas, vistas, procedimientos almacenados y macros. Una base de datos también contiene espacio para que los usuarios puedan tener sus propias tablas, vistas, macros, procedimientos almacenados o a otros usuarios.
Usuarios y Bases de Datos
Cuando Teradata es instalada por primera vez, sólo existe un usuario en el sistema, DBC. El administrador de la base de datos tiene que administrar a este usuario y asigna espacio de DBC para otros usuarios.
El usuario DBC es propietario de todas las otras bases de datos y usuarios en el sistema.
Como crear Bases de Datos
Se usa la sentencia CREATE DATABASE para crear una base de datos.
CREATE DATABASE Personal FROM Administracion
AS PERMANENT = 5000000 BYTES,
FALLBACK,
BEFORE JOURNAL, DUAL AFTER JOURNAL,
DEFAULT JOURNAL TABLE = Personal.FinCopy;
La base de datos Personal es creada en el espacio de Administración.
Para crear la base de datos, el creador debe tener los privilegios necesarios.
5000000 representa la capacidad de almacenamiento de la base de datos.
La palabra FALLBACK especifica una copia duplicada de cada tabla almacenada.
La opción JOURNAL especifica una copia de la imagen antes de cambiarla.
La cláusula DEFAULT JOURNAL TABLE es requerida porque el journaling es pedido. Esta cláusula especifica una tabla de control diario llamada FinCopy que va a ser creada en la base de datos.
CREACIÓN DE USUARIOS
Se usa la sentencia CREATE USER para crear un nuevo usuario:
CREATE USER Jones
FROM "F&A"
AS PERMANENT = 1000000 BYTES,
SPOOL = 1000000 BYTES,
PASSWORD = Jan,
FALLBACK,
ACCOUNT = ‘Administration’,
STARTUP = ‘DATABASE "F&A";’
;
La cláusula opcional STARTUP especifica una o más sentencias Teradata SQL, que el sistema puede ejecutar automáticamente cuando este usuario establece una sesión.
ROLES Y PERFILES PARA LOS USUARIOS
Los roles y perfiles simplifican la administración del sistema:
USANDO… | SIMPLIFICA LA ADMINISTRACIÓN PORQUE… |
Roles para garantizar automáticamente derechos a los objetos de la base de datos | Cuando un usuario cambia de ocupación en su organización, cambiar roles es tan fácil con sólo borrarlos y dándole nuevos roles |
Perfiles para cambiar eficientemente el parámetro asociado con los usuarios | Es fácil asignar un rol (perfil) a un nuevo usuario que especificar todos los derechos (parámetros) |
Tabla N° 9 Roles y Perfiles de Usuarios
Teradata permite poner todos los roles disponibles haciendo:
- SET ROLE ALL
- En la sentencia CREATE USER o MODIFY USER
CUENTAS
ADMINISTRACIÓN DE SESIONES
Los usuarios necesitan hacer una conexión y establecer una sesión, antes de realizar cualquier operación.
ESTABLECIENDO UNA SESIÓN
Para establecer una sesión, el usuario necesita hacer una conexión en la base de datos.
La cadena de conexión puede incluir cualquiera de los siguientes operandos:
- Identificador opcional para la Base de Datos, llamado tupid
- Nombre de usuario
- Password
- Número opcional de cuenta
PEDIDO DE SESIÓN
Una sesión es establecida luego de que la base de datos acepta el nombre de usuario, password y retorna un número de sesión para el proceso.
Luego los pedidos hechos por un usuario son identificados por:
- Host id
- Número de sesión
- Número de pedido
UTILIDADES DE MANTENIMIENTO
Algunas de las utilidades están listadas:
LA UTILIDAD… | PERMITE… |
Abort Host | Aborta todas las transacciones que estén corriendo en el host, hasta que el host es reiniciado |
Check Table | Comprueba inconsistencias entre las estructuras internas de datos, y los índices secundarios |
ampload | Muestra todos los procesos virtuales AMP cargados en un sistema |
cnsrun | Empieza y corre una utilidad de base de datos desde un script |
Configuration | Define AMPs, PEs y host y sus interrelaciones con Teradata |
ctl | Muestra y modifica los campos del Parallel Data Extensions (PDE) |
Database Initialization Program (DIP) | Ejecuta una o más scripts del estándar DIP SQL |
DBS Control | Salva o restaura los dumps del sistema en el disco |
Ferret |
|
Filer | Encuentra y corrige problemas en el Sistema de Archivos de Teradata |
fsgwizard | Manipula los archivos de segmentos de la base de datos de Teradata que han sido colocados en un estado erróneo |
Gateway control | Modifica los valores por defecto en los campos Gateway Control Globally Distribuye Object (GDO) |
Gateway global | Monitorea y controla la red interconectada de Teradata (usuarios y sesiones) |
Locking logger | Anota:
|
modmpplist | Modifica la lista de nodos |
Priority scheduler | Prioriza el programa de procesos |
Query configuration | Reporta la actual configuración de la Base de Datos Teradata. |
Query session | Monitorea el estado de todas las sesiones en todos los hosts |
Reconfiguration | Implementa el sistema que es descrito en el mapa de configuración |
Reconfiguration estimato | Estima el tiempo para reconfigurar |
Recovery manager | Muestra toda la información usada para monitorear el progreso de recuperación de Teradata |
Reource Check Tools | Muestra las estadísticas del sistema que pueden estar causando un bajo rendimiento |
RSSmon | Selecciona los datos relevantes de un Resource Sampling Subsytem |
Show locks | Muestra los locks puestos por las operaciones realizadas por Archive and Recovery y Tabla Rebuild en base de datos o en tablas. |
System initializer |
|
Table Rebuild | Reconstruir las tablas que no se pueden recuperar automáticamente.
Todas las tablas con Access Module Proccessor (AMP) |
tdlocaledef | Convierte el Source Specification for Data Formatting (SDF) en una forma de base de datos interna |
tdnstat |
|
tdntune | Ejecuta leer/escribir de tdn tunables. Puede usar la interface para ver, obtener o actualizar el Teradata Network Services, que son especificados con los parámetros �unable. |
Teradata MutiTool | Usa una GUI para correr comandos de la base de datos Teradata basados en línea de comandos. |
Tsklist | Muestra información acerca de que procesos PDE y sus tareas. |
Update DBC | Recalcula el espacio en la tabla DBASE para el usuario DBC, y para todas las base de datos basadas en la tabla DBASE |
Update Space | Recalcula el espacio permanente, temporal o spool usado por una base de datos o por todas las base de datos en el sistema. |
Vpacd | Mejora el rendimiento de los sistemas con muchas CPUs y un gran nivel de concurrencia. |
Vproc manager | Administra los procesos virtuales (vprocs), permite operaciones como:
|
xctl | Muestra y modifica los campos del Parallel Database Engine (PDE) Control Parameters Globally Distributed Objects (GDOs). |
Xmppconfig | Manipula los contenidos del nodo del archivo de la tabla, que contiene una lista de nodos y sus configuraciones. La información de la configuración del sistema es proporcionada por el Procedural Management Subsystem (PROC) de un PDE. |
Xperfstate | Muestra el rendimiento en tiempo real de un sistema PDE |
xpsh | Usa un GUI para resolver varias tareas de nivel de sistema en un entorno MPP, como: depuración, análisis, monitoreo, administración de sistema, y así sucesivamente. |
Tabla N° 10
SEGURIDAD EN LA BASE DE DATOS TERADATA
LIBRERÍA DE SEGURIDAD
La seguridad en Teradata esta basado en la librería Teradata Database Generis Securtity Services (TDGSS), TDGSS esta compuesto por:
- Un set de mecanismos preconfigurados
- Archivos de configuración editables
- Un set de herramientas e interfaces para configurar y administrar las funciones de seguridad en red
CARACTERÍSTICAS DE SEGURIDAD
- Mecanismos de seguridad: Seleccionado para poner el contexto de seguridad para la sesión. Cada mecanismo de seguridad define un único contexto de seguridad.
- Autenticación de usuario: Verificación de la identidad de un usuario al momento de la conexión.
- Autorización de usuario: Los usuarios deben tener los permisos necesarios. El sistema evalúa cada pedido SQL de los usuarios para actuar de acuerdo a sus privilegios de acceso.
- Encripción: La transmisión de datos mediante la red es codificada.
- Integridad de los datos: El sistema verifica mensajes recibidos contra los que fueron enviados, para asegurarse de que los datos no han sido perdidos o corrompidos durante la transmisión.
- Guía de Administración de Usuarios: Las guías soportadas pueden ser configuradas para autenticar usuarios y privilegios de acceso a la base de datos.
- Acceso Monitoreado a la Base de Datos: Provee la habilidad de identificar transgresiones, transgresores y potenciales peligros de seguridad.
MECANISMOS DE SEGURIDAD
Teradata emplea mecanismos de seguridad para definir el contexto de seguridad en cual la sesión de la base de datos debe correr. Cada mecanismo esta compuesto por un número de propiedades que definen su funcionalidad, algunas de sus propiedades son editables, todos los mecanismos de seguridad son construidos usando la librería TDGSS.
MECANISMO | USO |
Método Teradata #1 (TD1) | Los pedidos bajo autenticación de usuario. Este mecanismo es usado solamente para mantener la compatibilidad. Se debería usar si:
|
Método Teradata #2 (TD2) | Los pedidos a Teradata llevan a cabo la autenticación de usuario. Se debería usar si:
|
Kerberos (KRB5 y KRB5C) | Realizan una autenticación externa de usuario. Se usa KRB5C si:
|
Se usa KRB5 si:
| |
NTLM (NTLM y NTLMC) | Realizan una autenticación externa de usuario. Se usa NTLMC si:
|
Se usa NTLMC si:
| |
LDAP | Realizan una autenticación basada en directorio externa de usuario. Esta disponible si:
|
Tabla N° 11 Mecanismo de Seguridad
Página anterior | Volver al principio del trabajo | Página siguiente |