Tarea
2
FACILIT : Maikel Aparicio Reytor
ADOR
ASIGNAT : Desarrollo de Proyectos con
URA Software Libre
Génesis Yessibel
Reyes
PARTICIP
Jan Michael Perez
ANTES Feliz
Miguel Angel
MATRIC 100069235
ULAS 100059326
100053981
100039403
24- 04 -
SISTEMAS DE GESTIÓN DE BASES DE DATOS (SGBD)
INVESTIGADOS
Sistemas Relacionales
PostgreSQL
PostgreSQL es uno de los sistemas de gestión de bases de datos relacionales
opensource más avanzados y completos disponibles en el mercado. Es conocido
por su conformidad con los estándares SQL, su extensibilidad y su fuerte soporte
para datos complejos y operaciones avanzadas.
Compatibilidad con Linux:
PostgreSQL dispone de paquetes oficiales que facilitan su instalación y
mantenimiento en diversas distribuciones Linux, como Ubuntu, Debian, CentOS,
Fedora y Arch Linux. Su compatibilidad garantiza una integración eficiente en
entornos de desarrollo y producción que utilizan sistemas operativos Linux.
Curva de aprendizaje:
Aunque su sintaxis SQL es estándar y familiar para quienes ya conocen bases de
datos relacionales, su configuración inicial, administración avanzada y
optimización requieren una cierta curva de aprendizaje. Sin embargo, la existencia
de herramientas gráficas como pgAdmin , DBeaver, DataGrip y otros facilita la
gestión y visualización de los datos, reduciendo la dificultad para los usuarios
menos experimentados.
Comunidad de soporte:
Una de sus mayores fortalezas es su comunidad global y activa. Existen
numerosos foros, listas de correo, blogs especializados, recursos en YouTube y
grupos de discusión que permiten resolver dudas, compartir buenas prácticas y
contribuir a la mejora continua del sistema. Además, la comunidad contribuye con
extensiones y plugins que amplían sus funcionalidades.
Documentación:
La documentación oficial de PostgreSQL es exhaustiva, bien estructurada y
disponible en varios idiomas, incluido el español. Esto facilita la capacitación del
personal técnico, la resolución de problemas y la exploración de funciones
avanzadas, como particionado, replicación, respaldo y recuperación, y funciones
geoespaciales.
Casos de uso ideales:
PostgreSQL es apropiado para aplicaciones empresariales, sistemas de gestión
de contenidos, análisis de datos, sistemas bancarios y de comercio electrónico,
debido a su soporte de transacciones ACID, integridad referencial y su capacidad
para administrar datos estructurados y semi-estructurados mediante extensiones y
tipos de datos especializados.
Ventajas clave que justifican su elección:
Soporte avanzado para datos semi-estructurados: Incluye soporte nativo para
JSON y JSONB, permitiendo almacenar, consultar y manipular datos en formato
JSON de manera eficiente y con índices especializados.
Extensibilidad: PostgreSQL puede ser extendido mediante funciones en diversos
lenguajes (PL/pgSQL, PL/Perl, PL/Python, etc.), y soporta módulos como PostGIS
para datos geoespaciales, lo cual amplía su aplicabilidad en proyectos
multidisciplinarios.
Confiabilidad y consistencia: Gracias a su implementación robusta de
transacciones, garantiza que las operaciones se completen en su totalidad o no se
realicen en absoluto, preservando la integridad de los datos en escenarios críticos.
Sistemas Relacionales Alternativos
MariaDB
MariaDB es una bifurcación de MySQL creada por los desarrolladores originales
de este último con el objetivo de ofrecer una alternativa más abierta y
transparente. Es compatible en gran medida con MySQL y ofrece mejoras en
rendimiento y características adicionales.
Compatibilidad con Linux:
Se puede instalar fácilmente en la mayoría de las distribuciones Linux, con
paquetes precompilados y soporte oficial en repositorios estándar.
Comunidad de soporte:
Una comunidad consolidada y activa, con respaldo de la Fundación MariaDB y
una variedad de recursos comerciales y comunitarios.
Documentación:
Sólida y clara, con tutoriales, manuales y guías prácticas que facilitan su uso.
Casos de uso ideales:
Aplicaciones web, sitios dinámicos, gestión de contenidos y proyectos donde la
simplicidad y rapidez sean prioritarias.
Sistemas No Relacionales (NoSQL)
MongoDB
MongoDB es uno de los gestores de bases de datos NoSQL más populares,
orientado a la gestión de datos no estructurados o semi-estructurados. Está
optimizado para manejar grandes volúmenes de datos dinámicos y escalar
horizontalmente.
Compatibilidad con Linux:
Oficialmente soportado en todas las principales distribuciones Linux, con
instaladores específicos que facilitan su configuración.
Curva de aprendizaje:
Su modelo basado en documentos JSON BSON es intuitivo para desarrolladores
familiarizados con JavaScript y JSON. Requiere aprender la API específica de
MongoDB, que difiere del SQL tradicional, pero la documentación y tutoriales
hacen esta transición sencilla.
Comunidad de soporte:
Muy activa, con foros, tutoriales en línea y una comunidad de desarrolladores que
contribuyen con código, extensiones y mejores prácticas.
Documentación:
Detallada, clara y constantemente actualizada, cubre desde conceptos básicos
hasta administración avanzada y escalabilidad.
Casos de uso ideales:
Aplicaciones web que manejan datos altamente variables, catálogos de productos,
sistemas de análisis en tiempo real, e integración en arquitecturas ágiles y
distribuidas.
Ventajas principales:
Alta flexibilidad en el esquema, permitiendo modificaciones en la estructura sin
migraciones complejas.
Capacidad de escalar horizontalmente mediante sharding, facilitando la gestión de
grandes volúmenes de datos. Soporte de consultas complejas, índices y
agregaciones, apto para análisis en tiempo real.
Redis
Redis, que significa Remote Dictionary Server, es un gestor de bases de datos en
memoria, utilizado principalmente como caché, gestor de sesiones o sistema de
mensajería.
Compatibilidad con Linux:
Optimizado y diseñado para sistemas Unix/Linux. Se instala, configura y
administra fácilmente en estas plataformas.
Curva de aprendizaje:
Básica, con comandos sencillos y API en múltiples lenguajes de programación. La
velocidad en su uso es un factor importante para desarrolladores, y se recomienda
aprender sus comandos principales como GET, SET, LPUSH, etc.
Comunidad de soporte:
Muy activa, con una gran base de conocimientos, contribuciones en GitHub, foros
especializados y recursos oficiales.
Documentación:
Excelente, detallada y con ejemplos prácticos que facilitan su aprendizaje y
manejo en proyectos reales.
Casos de uso ideales:
Caché de datos, gestión de sesiones en aplicaciones web, colas de tareas en
sistemas distribuidos, y análisis en tiempo real que requieren respuestas
instantáneas.
Ventajas destacadas:
La velocidad en acceso a datos, ya que opera en RAM, es su característica
principal.
Uso eficiente en sistemas donde el rendimiento es prioritario.
Complementa sinérgicamente otros sistemas de bases de datos para mejorar el
rendimiento de las aplicaciones.
SELECCIÓN DE SISTEMA GESTOR DE BASES DE DATOS Y
JUSTIFICACIÓN
Tras analizar las características, ventajas, compatibilidad, comunidad de soporte y
casos de uso de cada sistema, el grupo ha decidido optar por PostgreSQL como la
base de datos principal para el desarrollo del proyecto.
Justificación detallada:
Capacidad y fiabilidad: PostgreSQL ofrece una madurez comprobada, con años en
el mercado, que respalda su estabilidad y confiabilidad para aplicaciones críticas y
de alta disponibilidad.
Flexibilidad en el manejo de datos: La posibilidad de gestionar tanto datos
estructurados (tablas, relaciones) como semi-estructurados (JSONB) proporciona
un enfoque híbrido versátil que se adapta a diversas necesidades del proyecto.
Escalabilidad y rendimiento: Aunque PostgreSQL no escale horizontalmente por
defecto como MongoDB o Redis, su arquitectura permite replicación, particionado,
indexación avanzada y optimizaciones que aseguran un rendimiento eficiente en
diferentes escalas.
Compatibilidad y facilidad de integración: Es compatible con los principales
lenguajes de programación y frameworks utilizados en desarrollo de aplicaciones
modernas, facilitando integración en sistemas complejos y escalables.
En conclusión, PostgreSQL se presenta como una opción robusta, segura, flexible
y comprometida con las buenas prácticas en gestión de datos, justificando
plenamente su elección para sustentar la infraestructura del proyecto.
Video del servidor Linux con la creación y ejecución de base de
datos en PostgreSQL e imágenes del server.
[Link]
view?usp=sharing
El virtual box sin el sistema iniciado.
Sistema iniciado