proyecto x

35
Fundamentos de Bases de Datos 1 El PROYECTO X Etapa I: Análisis y propuesta de proyecto

Upload: carlos-duran

Post on 14-Jun-2015

248 views

Category:

Technology


0 download

DESCRIPTION

Presentación del Proyecto X, el cuál sirve de base para elaborar una propuesta de Datawarehouse.

TRANSCRIPT

Page 1: Proyecto X

Fundamentos de Bases de Datos

1

El PROYECTO X

Etapa I: Análisis y propuesta de proyecto

Page 2: Proyecto X

El sistema Export X (EX) pretende ser un sistema de información

que se pueda acceder mediante el navegador web, diseñado para

rastrear, organizar, almacenar e informar sobre gran cantidad de

datos que hacen fácil y rápido el acceso a la información.

24/04/2013

Page 3: Proyecto X

3

Agenda

Requerimientos del proyecto 1

Análisis del proyecto 2

3

Estrategías de Tunning 3.1

SQL Tuning

Apuntes finales 7

Tuning el Rol del Hardware

Propuesta de solución

Fundamentos de Bases de Datos

3.2

3.3

Page 4: Proyecto X

Symantec/Veritas and Oracle Together 4

Requerimientos

del proyecto (1era Parte)

P

R

O

Y

E

C

T

O

X

Page 5: Proyecto X

5

Proyecto X Requerimientos del proyecto

Como resultado del aumento del tamaño de

la base de datos, se necesita consultas

sofisticadas y un diseño eficiente para hacer

búsquedas, gestionar, analizar y organizar

los datos. Además, las instalaciones de

tecnología de la base deben ser capaces de

gestionar y distribuir la información a

nuestros clientes de una manera controlada

y segura.

También deben tener la facturación,

seguimiento y otras capacidades para llevar

a cabo las funciones de búsqueda eficiente.

A EX bien diseñado puede proporcionar la

solución a todas estas necesidades de

producción

Fundamentos de Bases de Datos

Page 6: Proyecto X

6

Proyecto X Requerimientos del proyecto

ESPECIFICACIONES A CUBRIR 1

• Respuesta rápida a consultas

• La información almacenada puede crecer

en miles de registros por día

• Las consultas pueden abarcar días,

semanas, años (millones de registros)

• Guardar las consultas realizadas por un

usuario

• Administrar los privilegios de las cuentas

de usuario

• Uso de consultas sofisticadas para

reducir el tiempo de consulta

• Seleccionar las plataformas de software y

hardware a utilizar

Fundamentos de Bases de Datos

Page 7: Proyecto X

7

Proyecto X Requerimientos del proyecto

ESPECIFICACIONES A CUBRIR 2

El proyecto gestionará:

Usuarios conectados al sistema de forma

concurrente

inicio de sesión

Gestión de sesiones,

informar de los resultados analíticos,

la descarga y el envío de los datos por e-

mail, y otras operaciones relacionadas.

Fundamentos de Bases de Datos

* Algunos puntos fuera del alcance de la

propuesta

Page 8: Proyecto X

8

Proyecto X Requerimientos del proyecto

ESPECIFICACIONES A CUBRIR 3

El alcance del proyecto EH incluye también

un probado, documentado, y funcional EX en

(Amazon EC2)

Amazon Elastic Compute Cloud es un

servicio web que proporciona capacidad de

computación de tamaño variable en la nube.

Amazon EC2 elimina la necesidad de invertir

en hardware por adelantado y le permite

desarrollar y desplegar aplicaciones más

rápido. Se puede utilizar las interfaces de

servicio web para lanzar tantos servidores

virtuales como sea necesario, configurar la

seguridad y la creación de redes, y gestión

de almacenamiento.

Fundamentos de Bases de Datos

* Fuera del alcance de la propuesta

Page 9: Proyecto X

Symantec/Veritas and Oracle Together 9

Análisis

Del proyecto

P

R

O

Y

E

C

T

O

X

Page 10: Proyecto X

10

Proyecto X Análisis y propuesta de solución

El análisis inicial nos permite inferir que:

La información se encuentra grabada a nivel

de bits, identificada por posiciones y

longitudes los cuales corresponden a

diversas entidades (tablas)

Data

Elements

Type/ Size Record

Position

Mandatory

/ Optional

Constraints/Com

ments

Record

Type

Record is

Optional

ID Char(1) 1 M Must be ‘2’

Shipper

Name

Char(35) 2-36 M Name of the

shipper.

Shipper

Address-1

Char(35) 37-71 M First line of the

shipper’s address,

if available.

Shipper

Address-2

Char(35) 72-106 O Second line of the

shipper’s address,

if available.

Shipper

Address-3

Char(35) 107-141 O Third line of the

shipper’s address,

if available.

Shipper

Address-4

Char(35) 142-176 O Fourth line of the

shipper’s address,

if available.

Filler Char(102) 177-278 M Space Fill EXPORTX1.doc

dataFile.txt

Fundamentos de Bases de Datos

Como parte del inicio del proyecto

fueron proporcionados 3 archivos para

su análisis

Page 11: Proyecto X

11

Proyecto X Análisis y propuesta de solución

Fundamentos de Bases de Datos

Propuesta.

Se propone el desarrollo de un modulo de

base datos con las características

necesarias para la integración a un sistema

cliente – servidor de grandes dimensiones

que permita descentralizar el procesamiento

y recursos, de cada uno de los servicios y de

la visualización de la Interfaz Gráfica de

Usuario.

Comentarios al alcance.

El alcance de la propuesta se centra en

describir las especificaciones ideales y

mejores prácticas para el modulo, sin

embargo la versión a presentar se basará en

un ambiente de pruebas elaborado con

mysql.

Page 12: Proyecto X

12

Proyecto X Propuesta de proyecto

La función LOAD DATA LOCAL INFILE cuenta con varios

parámetros de configuración:

FIELDS TERMINATED BY ',': indica que los campos de cada línea del fichero terminarán

con "," (coma), pudiendo indicar el carácter con el que terminarán.

ENCLOSED BY '"': indica que los campos de tipo char, text, binary, enum de cada línea

empezarán y acabarán con el carácter indicado, en este caso comillas dobles """.

IGNORE 1 LINES: no cargará la primera línea del fichero de texto.

LINES STARTING BY 'xxx': indica que todas las líneas del fichero de texto plano

empezarán con "xxx".

LINES TERMINATED BY ' ': indica el carácter con el que termina la línea, en este caso un

salto de línea y un retorno de carro (en Windows).

Si quisiéramos que MySQL espere a ejecutar la sentencia de importación hasta que no

haya usuarios leyendo en la tabla en la que se importarán podríamos utilizar la cláusula:

LOW_PRIORITY, de esta forma:

LOAD DATA LOW_PRIORITY IN FILE...

Aunque esta propiedad es sólo válida para tablas MySQL de tipo MyISAM, MEMORY,

MERGE.

También podremos indicar el juego de caracteres del fichero del que se importará la

información, con:

LOAD DATA IN FILE...

CHARACTER SET juego_caracteres

Fundamentos de Bases de Datos

Importación programada de

datos con esquemas de

prioridad

Page 13: Proyecto X

13

Proyecto X Propuesta de proyecto

Fundamentos de Bases de Datos

Desventajas en la importación con archivo

plano.

La redundancia de datos. Esta es una característica de

los archivos planos tal que cuentan con un conjunto de

archivos por cada aplicación, muchas veces los mismos

datos son almacenados en diversos archivos, lo que

provoca duplicidad de información (redundancia)

Inconsistencia de los datos. Esta duplicidad u la falta de

control sobre los datos ingresados al sistema, permiten

el aumento de la posibilidad de que los datos de los

registros no sean los mismos en los diversos archivos

donde son almacenados.

Dependencia de datos y programas. La información de

dónde comienza un campo, dónde acaba, su tipo, etc,

está controlada por algún programa; cualquier cambio en

la estructura del fichero implicaría modificación de los

programas La elaboración, consistencia

y control del archivo de

importación no recae en el

DBA más si el cumplimiento

de las reglas de integridad y

de negocio

Page 14: Proyecto X

14

Proyecto X Propuesta de proyecto

Consultas mas rápidas.

Normalización disminuye las anomalías de actualización,

pero penaliza las consultas (consume muchos recursos). Se

evitará en la medida de lo posible.

Procedimientos almacenados proporcionan ventajas de

performance, un marco de trabajo, y mayores capacidades

de seguridad. La mejora en el rendimiento se logra a través

de un almacenamiento local (en la base de datos), código

precompilado, y manejo de cachés (almacenamientos

temporarios). Las capacidades de seguridad incluye

encriptación y limitaciones de privilegios que permiten

mantener a los usuarios fuera de la vista de la estructura de

la base de datos subyacente, mientras se los habilita a

ejecutar procedimientos almacenados que actúan sobre la

base de datos.

SQL Tuning: Se efecturá en los 2 niveles conocidos Server

y Nivel Sql (usuario)

Revisando la ruta de acceso, metodos join y el uso de

indices

Probando las respuestas a través de SQLPlus

Review SQL plan

Fundamentos de Bases de Datos

Page 15: Proyecto X

15

Proyecto X Propuesta de proyecto

Guardar consultas hechas por el usuario.

scripts y consultas útiles de Oracle

•• Consulta Oracle SQL que muestra los usuarios de Oracle

conectados y el número de sesiones por usuario

select username Usuario_Oracle, count(username)

Numero_Sesiones from v$session group by username order by

Numero_Sesiones desc

•• Últimas consultas SQL ejecutadas en Oracle y usuario que las

ejecutó

select distinct vs.sql_text, vs.sharable_mem, vs.persistent_mem,

vs.runtime_mem, vs.sorts, vs.executions, vs.parse_calls, vs.module,

vs.buffer_gets, vs.disk_reads, vs.version_count, vs.users_opening,

vs.loads, to_char(to_date(vs.first_load_time, 'YYYY-MM-

DD/HH24:MI:SS'),'MM/DD HH24:MI:SS') first_load_time,

rawtohex(vs.address) address, vs.hash_value hash_value ,

rows_processed , vs.command_type, vs.parsing_user_id ,

OPTIMIZER_MODE , au.USERNAME parseuser from v$sqlarea vs ,

all_users au where (parsing_user_id != 0) AND

(au.user_id(+)=vs.parsing_user_id) and (executions >= 1) order by

buffer_gets/executions desc

Fundamentos de Bases de Datos

Page 16: Proyecto X

16

Proyecto X Análisis y propuesta de solución

Fundamentos de Bases de Datos

Selección de DBMS.

ORACLE, es un servidor de base de datos líder en la industria de

tecnológica y posición en el mercado. es la plataforma ideal para

aplicaciones de data waehousing (datos de almacenamiento) de

cualquier tamaño y alcance, desde data marts de temas específicos,

hasta warehouses empresariales.

Funcionalidad sofisticada de data warehousing

Capacidades de manejo de data warehousing

Integración de metadata con herramientas de consulta front-end

Integración con Oracle Applications

Procesamiento de consulta de alto desempeño.

Potencial de crecimiento ilimitado en términos de volumen de datos y

usuarios.

Disponibilidad de negocios críticos.

Soporte de data warehousing como la optimización sofisticada de consultas

basadas en costos, esquemas de índices avanzados como:

Índices bitmap

Algoritmos especializados de procesamiento de consultas

Ejecución paralela de operaciones de consulta y manejo de datos

Infraestructura robusta de partición de datos

ORACLE está disponible en más de 80.

Page 17: Proyecto X

17

Proyecto X Propuesta de proyecto

El profesional de base de datos siempre ha tenido que

aprender cómo las mejoras en hardware afectarán su

rendimiento de base de datos.

A un alto nivel, vemos estas tendencias:

Todo el hardware se vuelve más barato cada año

El CPU acelera tareas la RAM y el disco no

RAM-Disk pronto sustituirá a los discos de plato

Fundamentos de Bases de Datos

Page 18: Proyecto X

18

Proyecto X Propuesta de proyecto

Fundamentos de Bases de Datos

Plataforma de hardware

Todo el hardware del mundo no es suficiente.

Mas memoria, mayor espacio en disco y

velocidad de CPU pueden mejorar el

rendimiento, sin embargo Incrementar el

hardware no siempre resulta en un mejor

rendimiento.

Un diseño de aplicación pobre redunda en el

70% de los topics de rendimiento.

Es imperativo hacer la revisión del diseño de

manera inmediata en el desarrollo.

Page 19: Proyecto X

19

Proyecto X Propuesta de proyecto

Using Hardware as an Alternative to Oracle tuning? Por ejemplo, cuando el diseño del esquema es un caos, incluso vistas

materializadas pueden no corregir los problemas de rendimiento. La gestión no

quiere oír hablar de un rediseño caro de la base de datos por varias razones:

El miedo de la culpa – Si el DBA quiere admitir que un diseño de base de datos

mal se implementó bajo su vigilancia.

Alto tiempo de inactividad - La hora de volver a poner en práctica una mesa re-

diseño puede significar días de inactividad

Alto Costo - Si los costos de implementación ¿qué te parece lo más probable

es que la gestión se gasta el dinero de nuevo para volver a diseñar el sistema

correctamente? Cero.

Experiencia del autor: La semana pasada tuve un cliente que estaba teniendo un

gran cuello de botella de CPU, y la causa principal era el análisis excesivo y

realmente planes sub-óptimos de ejecución de SQL. Decidieron gastar $ 50 mil

dólares para los procesadores más rápidos (15 minutos para arreglar) en lugar de

gastar $ 100 mil para sintonizar 2.000 sentencias SQL (6 semanas para arreglar).

Ahora, ¿eso tiene sentido? Bueno, depende de cómo se mire. Desde una

perspectiva de gestión que tenía sentido, ya que ahorraron $ 50 mil y

consiguieron una solución discreta rápida a un problema complejo.

Profesionales no pueden ignorar la realidad económica de ajuste de base de

datos. Una y otra vez, es demasiado costoso (en tiempo y dinero) para una

compañía sintonizar su SQL.

Fundamentos de Bases de Datos

Page 20: Proyecto X

20

Standardization: VCS Support for

Apps & DBs

Databases Version Solaris AIX HP/UX Windows Linux (RH)

Oracle 8i-9i,10g

DB2 7.1-8.2(+EEE) N/A

Sybase 11.x-12.5

SQL 2000, 2005 N/A N/A N/A

Applications

Exchange 2000, 2003 N/A N/A N/A N/A

Oracle eBus Apps 11.5.7-.9

Oracle App Srvr 9.0.4-10.1.2

PeopleSoft 8.1, 8.4, 8.8

SAP 4.6, 4.7, 6.2

Siebel 6.x-7.7

Sun ONE (Sun JES) 5.0-6.1 N/A N/A N/A N/A

Tuxedo 6.5-8.1

WebLogic Server 6.1-8.x

WebSphere App Srvr 5.x, 6.0 N/A

WebSphere MQ 5.3

(+SLES)

10gR2

, 15

, .10

NetWeaver

, 7.8

, 9.0

Fundamentos de Bases de Datos

Page 21: Proyecto X

Symantec/Veritas and Oracle Together 21

Desarrollo e

Implementación (2da Parte)

P

R

O

Y

E

C

T

O

X

Page 22: Proyecto X

22 Fundamentos de Bases de Datos

Característica OLTP OLAP

Tamaño GigaBytes TeraBytes - PentaBytes

Origen Datos Interno Interno y Externo

Actualización On-Line Batch

Periodos Actual Histórico

Consultas Predecibles Ad Hoc

Actividad Operacional Analítica

Proyecto X Esquema de Implementación

* Acorde a la definición,

requerimientos funcionales y

alcances, el esquema de

implementación del proyecto X,

corresponde a una

implementación tipo OLAP.

Page 23: Proyecto X

Datawarehouse

23

Es un repositorio central para todos los

datos de la empresa. Los datos pueden

ser recogidos de diversos sistemas dentro

de una organización. Por lo general, un

almacén de datos está alojada en una

base de datos relacional. La diferencia con

respecto a las bases de datos relacionales

tradicionales utilizados en los sistemas

OLTP es que está diseñado

exclusivamente para informes y análisis.

Proyecto X Esquema de Implementación

Fundamentos de Bases de Datos

Page 24: Proyecto X

Datawarehouse

24

Atributos básicos de un datawarehouse

son:

Amplio rango de datos históricos

Datos consolidados, conformados y

válidos

De-normalización de estructuras de

datos (normalmente multidimensional)

Rápido tiempo de respuesta a informes

Análisis flexible y ad-hoc

Proyecto X Esquema de Implementación

Fundamentos de Bases de Datos

Page 25: Proyecto X

Datawarehouse

25

Además de las bases de datos relacionales

tradicionales basadas en filas, los almacenes de

datos ahora son compatibles con los enfoques

técnicos alternativos para almacenar y acceder

a los datos. Recientemente las nuevas

tendencias han ido evolucionando con gran

rapidez:

RDBMS orientada a columnas que

almacenan los datos en columnas, lo que

permite grandes velocidades de compresión

y mejorar el rendimiento de E / S

Motores de almacenamiento de datos en

memoria, lo que permite que las consultas de

base de datos en la memoria, sin afectar a

los sistemas de discos lentos

Proyecto X Esquema de Implementación

Fundamentos de Bases de Datos

Page 26: Proyecto X

26

Los campos Text y Blob pueden ser indexados

completamente, lo que es de gran importancia para

funciones de búsqueda.

No transaccional.

Bloqueos a nivel de tabla.

Muy rápido en lectura y escritura.

Bajo requerimiento de espacio en disco y memoria.

Los datos se guardan en disco: diferentes ficheros

para la definición de la tabla, los datos y los índices.

Es una buena elección cuando necesitamos

velocidad, y tenemos pocas modificaciones

simultaneas de la tabla.

Ficheros grandes se soportan en sistemas de

ficheros y sistemas operativos que soportan ficheros

grandes.

Registros de tamaño dinámico se fragmentan mucho

menos cuando se mezclan borrados con

actualizaciones e inserciones. La longitud máxima

de clave es 1000 bytes..

Valores NULL se permiten en columnas indexadas.

Esto ocupa 0-1 bytes por clave.

Proyecto X Esquema de Implementación

Motor de almacenamiento

MyIsam

Fundamentos de Bases de Datos

Page 27: Proyecto X

27 Fundamentos de Bases de Datos

Tuning de Consultas.

La caché de consultas almacena el texto de una

declaración SELECT junto con el resultado que se

le envía al cliente. Si se recibe una consulta

idéntica posteriormente, el servidor devuelve el

resultado de la caché de consultas en lugar de

parsear y ejecutar la consulta de nuevo. La caché

de consultas se comparte entre sesiones, por lo

que un conjunto de resultados generado por un

cliente puede ser enviada en respuesta a la

misma consulta emitido por otro cliente.

La caché de consultas puede ser útil en un

entorno donde tiene tablas que no cambian muy a

menudo y para los que el servidor recibe muchas

consultas idénticas.

Proyecto X Esquema de Implementación

Page 28: Proyecto X

28 Fundamentos de Bases de Datos

Proyecto X Esquema de Implementación

un esquema en estrella es

un modelo de datos que

tiene una tabla de hechos (o

tabla fact) que contiene los

datos para el análisis,

rodeada de las tablas de

dimensiones. Este aspecto,

de tabla de hechos (o

central) más grande

rodeada de radios o tablas

más pequeñas es lo que

asemeja a una estrella,

dándole nombre a este tipo

de construcciones.

Page 29: Proyecto X

29 Fundamentos de Bases de Datos

Proyecto X Esquema de Implementación

Page 30: Proyecto X

30 Fundamentos de Bases de Datos

Proyecto X Esquema de Implementación

Page 31: Proyecto X

31

DBMS

Fundamentos de Bases de Datos

La Base de datos Oracle 11g es el lider

mundial en datawarehouse que incluye

análisis de datos avanzadas, ofreciendo una

plataforma rápida, confiable y rentable para el

almacenamiento de datos e inteligencia de

negocios que se escala fácilmente a petabytes

para satisfacer las complejas necesidades de

informes y análisis de las organizaciones más

exigentes

Proyecto X Arquitectura de Implementación

Page 32: Proyecto X

32

Plataforma de hardware a utilizar.

Fundamentos de Bases de Datos

Oracle Exadata Database Machine X3-8

Proyecto X Arquitectura de Implementación

Oracle Exadata Database Machine X3-8 está diseñado

para implementaciones de bases de datos que

requieren de grandes cantidades de datos, que ofrece

un rendimiento extremo y escalabilidad para todas las

aplicaciones, incluyendo OLTP, Data Warehousing

(DW) y la consolidación de cargas de trabajo mixtas.

Se completa con dos servidores de 8 sockets de bases

de datos Oracle 14 servidores de almacenamiento

Exadata, conmutadores InfiniBand y más de 22

terabytes de Oracle Exadata Smart Flash caché para

apoyar extremadamente rápidos tiempos de respuesta

de las transacciones y de alto rendimiento

Page 33: Proyecto X

33

Big Data.

Fundamentos de Bases de Datos

Oracle combina hardware optimizado con una

arquitectura de software completa para ofrecer

una solución completa, fácil de desplegar la

solución para adquirir, organizar y analizar

grandes volúmenes de datos. Oracle Big Data

Appliance se integra perfectamente con Oracle

Exadata y Oracle Database 11g para ayudar a

las empresas obtener el máximo valor en las

estrategias de datos grandes

Preconfigurado con una configuracion de 18 servidores

Oracle Sun que incluye infiniBand y conectividad

Ethernet para simplificar la implementación y

administración.

Proyecto X Arquitectura de Implementación

Page 34: Proyecto X

34

Three Levels of Availability for Oracle

RAC ARCHITECTURES HA /CLUSTERING SINGLE INSTANCE

Recommended Architectures

• Manual fail-over

• Simple set-up

• Hours to restore

• Automated fail-over

• Active/passive or N+1

• Minutes for fail-over

• Highest availability

• Shared resources

• Fastest fail-over

Fundamentos de Bases de Datos

Page 35: Proyecto X

35

Fin de la presentación

¿ Dudas?

¿Comentarios?

Gracias !!