proyecto x
DESCRIPTION
Presentación del Proyecto X, el cuál sirve de base para elaborar una propuesta de Datawarehouse.TRANSCRIPT
Fundamentos de Bases de Datos
1
El PROYECTO X
Etapa I: Análisis y propuesta de proyecto
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
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
Symantec/Veritas and Oracle Together 4
Requerimientos
del proyecto (1era Parte)
P
R
O
Y
E
C
T
O
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
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
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
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
Symantec/Veritas and Oracle Together 9
Análisis
Del proyecto
P
R
O
Y
E
C
T
O
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
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.
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
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
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
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
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.
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
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.
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
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
Symantec/Veritas and Oracle Together 21
Desarrollo e
Implementación (2da Parte)
P
R
O
Y
E
C
T
O
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.
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
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
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
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
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
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.
29 Fundamentos de Bases de Datos
Proyecto X Esquema de Implementación
30 Fundamentos de Bases de Datos
Proyecto X Esquema de Implementación
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
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
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
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
35
Fin de la presentación
¿ Dudas?
¿Comentarios?
Gracias !!