ebook img

Facultad de Ciencias de la Ingeniería UN SISTEMA DE PERSISTENCIA DE DATOS DE ALTO PDF

102 Pages·2013·2.75 MB·Spanish
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Facultad de Ciencias de la Ingeniería UN SISTEMA DE PERSISTENCIA DE DATOS DE ALTO

Facultad de Ciencias de la Ingeniería Escuela de Ingeniería Civil en Informática UN SISTEMA DE PERSISTENCIA DE DATOS DE ALTO RENDIMIENTO, BAJA LATENCIA Y ALTA DISPONIBILIDAD PARA TRADING ENGINE Proyecto para optar al título de PROFESOR PATROCINANTE: Ingeniero Civil en Informática JAIME DUARTE PINO INGENIERO EN INFORMÁTICA MAGÍSTER EN DIRECCIÓN FINANCIERA PROFESOR CO-PATROCINANTE: MARÍA ELIANA DE LA MAZA WERNER INGENIERO CIVIL EN INFORMÁTICA MAGISTER EN INFORMÁTICA EDUCATIVA PROFESOR INFORMANTE: RAIMUNDO VEGA VEGA DOCTOR EN INFORMÁTICA MASTER EN INFORMÁTICA ESTADÍSTICO HUMBERTO CARLOS ROBERTO PADGET LORCA VALDIVIA – CHILE 2013 AGRADECIMIENTOS En primer lugar agradecer a mis padres Carlos y Rebeca por darme todo su amor, esfuerzo y apoyo incondicional durante toda mi vida. A Cristalita por su amor, cariño y motivación, por estar incondicionalmente siempre a mi lado A mis amigos y compañeros de trabajo que también una vez fueron compañeros de universidad. A Jaime Duarte por su apoyo y confianza. Y todos aquellos profesores, de la Universidad Austral de Chile, que no se limitaron solamente a enseñar, sino que compartieron sus experiencias de vida. ii ÍNDICE DE CONTENIDO AGRADECIMIENTOS ........................................................................................................................ ii ÍNDICE DE CONTENIDO ................................................................................................................. iii ÍNDICE DE TABLAS .......................................................................................................................... vi ÍNDICE DE FIGURAS ....................................................................................................................... vii RESUMEN ........................................................................................................................................... ix ABSTRACT .......................................................................................................................................... x 1 INTRODUCCIÓN ........................................................................................................................ 1 1.1 ANTECEDENTES GENERALES ................................................................................................... 1 1.2 CONTRIBUCIÓN DEL PROYECTO DE TÍTULO .............................................................................. 4 1.3 RELEVANCIA E IMPACTO DEL ESTUDIO..................................................................................... 4 1.4 OBJETIVOS GENERALES Y ESPECÍFICOS .................................................................................... 5 1.4.1 Objetivos Generales ........................................................................................................... 5 1.4.2 Objetivos Específicos ......................................................................................................... 5 1.5 ORGANIZACIÓN DEL PROYECTO DE TÍTULO ............................................................................. 6 1.6 NOMENCLATURA .................................................................................................................... 7 2 MARCO TEÓRICO ..................................................................................................................... 8 2.1 MARCO EN EL CUAL SE DESENVUELVE EL PROYECTO ................................................................ 8 2.2 SISTEMAS TRANSACCIONALES ................................................................................................. 9 2.3 SISTEMAS DE ALTA DISPONIBILIDAD .......................................................................................10 2.3.1 Modelos de Alta Disponibilidad ........................................................................................11 2.3.2 Consideraciones para alta disponibilidad..........................................................................12 2.4 DISASTER RECOVERY .............................................................................................................13 2.4.1 Proceso de planeación del Disaster Recovery ....................................................................14 2.5 DESCRIPCIÓN DE PROTOCOLOS DE COMUNICACIÓN ..................................................................16 2.5.1 Red de computadores ........................................................................................................16 2.5.2 Protocolo UDP .................................................................................................................17 2.5.3 Protocolo TCP ..................................................................................................................18 2.5.4 WebSphere MQ Low Latency Messaging (WLLM) .............................................................18 3 BASES DE DATOS .....................................................................................................................21 3.1 MODELOS DE BASES DE DATOS ...............................................................................................22 3.1.1 Modelo plano ....................................................................................................................22 3.1.2 Modelo jerárquico ............................................................................................................23 3.1.3 Modelo de red ...................................................................................................................24 3.1.4 Modelo relacional .............................................................................................................25 3.1.5 Modelo Objeto-Relacional ................................................................................................27 3.2 TIPOS DE BASES DE DATOS .....................................................................................................28 3.3 BASES DE DATOS EN MEMORIA ...............................................................................................29 3.3.1 Descripción ......................................................................................................................29 3.3.2 Optimizaciones en la arquitectura de una IMDB ...............................................................31 3.3.3 Configuraciones de alta disponibilidad. ............................................................................36 iii 4 COMPARACION Y SELECCIÓN DE HERRAMIENTAS ......................................................39 4.1 CONFIGURACIÓN HARDWARE Y SOFTWARE .............................................................................40 4.2 CONSTRUCCIÓN DE LABORATORIO ..........................................................................................41 4.3 RESULTADOS DE LOS LABORATORIOS CON BASES DE DATOS EN DISCO ......................................42 4.3.1 Prueba N° 1: Inserción en tabla Test, modo auto-commit. .................................................42 4.3.2 Prueba N° 2: Inserción en tabla Test, modo batch insert (100 – 500). ................................42 4.3.3 Prueba N° 3: Inserción en tabla Test2 en modalidad batch insert. .....................................44 4.4 RESULTADOS DE LOS LABORATORIOS CON BASES DE DATOS EN MEMORIA ................................45 4.4.1 Prueba N° 1: Inserción en tabla Test, modo auto-commit. .................................................45 4.4.2 Prueba N° 2: Inserción en tabla Test, modo batch insert (100 – 500). ................................46 4.4.3 Prueba N° 3: Inserción en tabla Test2 en modalidad batch insert. .....................................47 4.5 CONCLUSIONES DE LOS LABORATORIOS ..................................................................................48 4.6 OTROS CRITERIOS DE SELECCIÓN DEL MOTOR DE BASE DE DATOS.............................................50 4.7 RESULTADOS DE EVALUACIÓN DE BASE DE DATOS ..................................................................51 5 DEFINICION DE LA APLICACIÓN ........................................................................................52 5.1 ESPECIFICACIÓN DE REQUERIMIENTOS ...................................................................................52 5.1.1 Requerimientos funcionales ...............................................................................................52 5.1.2 Requerimientos no funcionales ..........................................................................................54 5.2 ANÁLISIS DE REQUERIMIENTOS ..............................................................................................56 5.2.1 Modelo de procesos ..........................................................................................................56 5.2.2 Actores y casos de uso.......................................................................................................57 5.3 DISEÑO DEL SISTEMA.............................................................................................................59 5.3.1 Diseño de alta disponibilidad ............................................................................................63 5.3.2 Diseño disaster recovery ...................................................................................................64 5.3.3 Restricciones del Diseño ...................................................................................................65 5.3.4 Diagrama de topología .....................................................................................................65 5.3.5 Modelo de Datos ...............................................................................................................68 6 CONSTRUCCION DEL PROTOTIPO ......................................................................................69 6.1 CONSTRUCCIÓN DEL PROTOTIPO .............................................................................................69 6.1.1 Primera iteración..............................................................................................................69 6.1.2 Segunda iteración .............................................................................................................70 6.1.3 Tercera iteración ..............................................................................................................70 6.2 PRESENTACIÓN DEL PROTOTIPO ..............................................................................................71 6.3 PLAN DE VALIDACIÓN ............................................................................................................74 7 RESULTADOS Y BENEFICIOS OBTENIDOS ........................................................................76 7.1 REQUERIMIENTOS ..................................................................................................................76 7.2 BENEFICIOS OBTENIDOS .........................................................................................................77 8 CONCLUSIONES Y/O RECOMENDACIONES.......................................................................78 8.1 CONCLUSIONES .....................................................................................................................78 8.2 MEJORAS A LA SOLUCIÓN .......................................................................................................80 9 REFERENCIAS ..........................................................................................................................81 ANEXO A. SCRIPTS DE CREACION DE TABLAS PARA BENCHMARKS ................................84 ANEXO B. MODELO DE DATOS SISTEMA DE PERSISTENCIA ................................................85 iv ANEXO C. CONFIGURACIÓN WLLM DE SISTEMA DE PERSISTENCIA ................................86 v ÍNDICE DE TABLAS Tabla Página Tabla 1: Clasificación de disponibilidad. [BOX] .......................................................... 11 Tabla 2: Comparación de base de datos en memoria y disco. ........................................ 30 Tabla 3: Comparación de DBMS basados en disco. [Kom07]....................................... 39 Tabla 4: Comparación de IMDB evaluadas. [Man13] ................................................... 40 Tabla 5: Tabla de tiempos promedio en modo auto-commit sobre Test. ........................ 42 Tabla 6: Tabla de tiempos promedio modo batch insert con proc. almacenados. .......... 43 Tabla 7: Tabla de tiempos promedio modo batch insert con SQL embebido. ................ 43 Tabla 8: Tabla de tiempos promedio modo batch insert con proc. almacenados. .......... 44 Tabla 9: Tabla de tiempos promedio modo batch insert con SQL embebido. ................ 45 Tabla 10: Tabla de tiempos promedio inserción modo auto-commit. ............................ 45 Tabla 11: Tabla de tiempos promedio modo batch insert con proc. almacenados. ........ 46 Tabla 12: Tabla de tiempos promedio modo batch insert con SQL embebido. .............. 46 Tabla 13: Tabla de tiempos promedio modo batch insert con proc. almacenados. ........ 47 Tabla 14: Tabla de tiempos promedio modo batch insert con SQL embebido. .............. 48 Tabla 15: Tabla ponderaciones características DBMS. ................................................. 50 Tabla 16: Matriz evaluación DBMSs. .......................................................................... 51 Tabla 17: Requerimientos funcionales. ......................................................................... 52 Tabla 18: Requerimientos no funcionales ..................................................................... 54 vi ÍNDICE DE FIGURAS Figura Página Figura N° 1: Conceptos y sistemas de información asociados. [SIN] .............................. 2 Figura N° 2: Tipos de soluciones y nivel de resiliencia. [DRP] ..................................... 14 Figura N° 3: RPO y RTO en línea de tiempo. [CEL] .................................................... 15 Figura N° 4: Esquema de Disaster Recovery implementado por la Bolsa de Comercio . 16 Figura N° 5: Comparación modelos OSI y TCP/IP. [TEC] ........................................... 17 Figura N° 6: Estructura datagrama UDP. [WIKb] ........................................................ 17 Figura N° 7: Comunicación RMM. [Cre09] ................................................................. 19 Figura N° 8: Esquema ejemplo de configuración WLLM con alta disponibilidad. [Won11] ...................................................................................................................... 20 Figura N° 9: Modelo plano. [STU] ............................................................................... 22 Figura N° 10: Modelo jerárquico. [STU] ...................................................................... 23 Figura N° 11: Modelo de red. [STU] ............................................................................ 24 Figura N° 12: Ejemplo modelo relacional. [STU] ......................................................... 26 Figura N° 13: Comparación de base de datos en disco y TimesTen. [ORA13] .............. 32 Figura N° 14: Ejemplo simplificado de estructura Vtrie. [IBM13] ................................ 33 Figura N° 15: Replicación asincrónica. [ORA13] ......................................................... 37 Figura N° 16: Base de datos HSB. [Bal11] ................................................................... 37 Figura N° 17: Ilustración de niveles de seguridad en protocolo de replicación. [Bal11] 38 Figura N° 18: Gráfico de tiempos promedio en modo auto-commit sobre Test. ............ 42 Figura N° 19: Gráfico de tiempos promedio modo batch insert con proc. almacenados.43 Figura N° 20: Gráfico de tiempos promedio modo batch insert con SQL embebido. .... 44 Figura N° 21: Gráfico de tiempos promedio modo batch insert con proc. almacenados.44 Figura N° 22: Gráfico de tiempos promedio modo batch insert con SQL embebido. .... 45 Figura N° 23: Gráfico de tiempos promedio modo auto-commit. .................................. 45 Figura N° 24: Gráfico de tiempos promedio modo batch insert con proc. almacenados.46 Figura N° 25: Gráfico de tiempos promedio modo batch insert con SQL embebido. .... 47 Figura N° 26: Gráfico de tiempos promedio modo batch insert con proc. almacenados.47 Figura N° 27: Gráfico de tiempos promedio modo batch insert con SQL embebido. .... 48 Figura N° 28: BPMN de ingreso de orden desde el gateway de órdenes. ...................... 57 Figura N° 29: Caso de uso sistema de persistencia. ...................................................... 59 Figura N° 30: Mapa de arquitectura general. ................................................................ 60 Figura N° 31: Esquema de alta disponibilidad mediante tier WLLM ............................ 63 vii

Description:
DISPONIBILIDAD PARA TRADING ENGINE. Proyecto para disponibilidad llamado “WebSphere Low Latency Messaging” (WLLM), producto de.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.