Estudio de rendimiento en MongoDB sobre arquitecturas centralizadas y distribuidas
Autor Principal: | |
---|---|
Otros autores o Colaboradores: | , |
Formato: | Tesis |
Lengua: | español |
Datos de publicación: |
2017
|
Temas: | |
Acceso en línea: | Consultar en el Cátalogo |
Descripción Física: | 92 p. : il. col. + 1 CD-ROM |
Tabla de Contenidos:
- 1. Introducción
- 1.1 Uso de bases de datos distribuidas
- 1.1.1 Camino hacia NOSQL
- 1.2 NoSQL
- 1.2.1 Tipos de bases de datos NoSQL
- 1.2.1.1 Clave-Valor
- 1.2.1.2 Familia de Columnas
- 1.2.1.3 Documentos
- 1.2.1.4 Grafos
- 1.2.2 Distribución de las bases de datos en clusters
- 1.2.2.1 Réplica
- 1.2.2.2 Sharding
- 1.3 Elección de MongoDB
- 1.4 Organización del contenido
- 2. Trabajos realizados
- 2.1 Diseño de bases de datos relacionales distribuidas
- 2.1.1Replicación y consistencia
- 2.1.2 Estrategias para el manejo de actualizaciones
- 2.1.3 Fragmentación
- 2.1.4 Problema de asignación
- 2.2 Alternativas a MongoDB
- 2.2.1 Apache Casandra
- 2.2.2 Apache CouchDB
- 3. Mongo DB
- 3.1 Características de Mongo DB
- 3.1.1 Documentos
- 3.1.2 Colecciones
- 3.1.2.1 Objectid
- 3.1.2.1 Índices
- 3.2 Aspectos de bases de datos distribuidas abordados desde Mongo DB
- 3.2.1 Sharding
- 3.2.1.1 Shard Key
- 3.2.1.2 Distribución de Chunks
- 3.2.2 Sharded Cluster
- 3.2.2.1 Shard
- 3.2.2.2 Config Server
- 3.2.2.3 Mongos o Router
- 3.2.3. Réplica Set
- 3.2.3.1 Nodo primario
- 3.2.3.2 Nodos secundarios
- 3.2.3.3 Árbitro
- 4. Sucesión de experimentos, validaciones y análisis de resultados
- 4.1 Esquema centralizado
- 4.2 Esquema centralizado con réplicas
- 4.3 Esquema distribuido sobre 2 shards con réplicas
- 4.4 Esquema distribuido sobre 3 shards con réplicas
- 4.5 Carga de datos
- 4.6 Evaluar el tiempo de respuesta
- 4.7 Elección de clave en estructuras distribuidas
- 5. Implementación
- 5.2 Estructuras de prueba en un entorno local
- 5.2.1 Desarrollo de funcionalidades
- 5.2.2 Inserción de archivos
- 5.2.3 Validación de consistencia
- Consultas para evaluar el tiempo de respuesta
- Obtener todos los archivos que son de un tipo particular
- Obtener un archivo específico por nombre
- Obtener todos los archivos mayores a X bytes
- Obtener todos los archivos que pertenezcan a un shard determinado
- 5.2.4 Registrar los tiempos de ejecución
- 5.2.5 Registrar el tamaño de las bases de datos
- 5.3 Periodicidad en la ejecución de consultas
- 5.4 Unificar funcionalidades en una única interfaz
- 5.5 Recopilación de datos para los estudios
- 5.6 Sobre arquitectura del cluster
- 5.6 Resumen de las herramientas desarrolladas y utilizadas
- 6. Resultados obtenidos y conclusiones
- 6.1 Estructura centralizada sin réplicas
- 6.2 Estructura centralizada con réplicas
- 6.2.1 Comparación entre estructuras centralizadas
- 6.3 Estructura distribuida con dos shards
- 6.4 Estructura distribuida con tres shards
- 6.4.1 Comparación entre estructuras distribuidas
- 6.5 Comparación entre estructuras centralizadas y distribuidas
- 6.5.1 Tiempos de consultas agrupados en subconjuntos
- 6.5.2 Peor rendimiento de búsqueda
- 6.5.3 Enfoque centralizado sin réplicas y distribuido sobre dos shards
- 6.5.4 Mejor rendimiento de búsqueda
- 6.5.5 Resultados sobre un único shard
- 7. Conclusiones y trabajos futuros
- 7.1 Conclusiones
- 7.2 Trabajos futuros
- 8. Bibliografía