34. Consultor(a) Inpendiente para optimización Integral de Bases de Datos de los sistemas institucionales del Instituto Nacional de Conservación Forestal, ICF. - Hasta 120 días-consultor, distribuidos en 6 meses - Base de operaciones (sede) - Unidad de Informatica del ICF / Tegucigalpa
Antecedentes del proyecto:
Mientras tanto, los cambios en los patrones de precipitación, incluido el empeoramiento de la sequía y los ciclones tropicales más fuertes, están alterando la hidrología de cuencas hidrográficas clave en Honduras. Estos cambios han dejado a las comunidades que dependen principalmente de las aguas superficiales en riesgo de pérdida de medios de subsistencia y han aumentado el riesgo de desastres en cuencas fluviales clave.
El propósito del Proyecto de Adaptación Climática de USAID/Honduras es fortalecer la capacidad de los sistemas hondureños para resistir y responder a la variabilidad y el cambio climático, ayudando así a abordar los factores subyacentes que contribuyen a la migración irregular. USAID busca ayudar a Honduras a romper el círculo vicioso descrito a través de los tres objetivos del programa Adaptación Climática:
1. Mejorar la gestión equitativa, inclusiva y transparente de los recursos hídricos.
2. Conservar ecosistemas críticos y fortalecer medios de vida incluyendo el turismo de naturaleza.
3. Gestionar el riesgo climático.
Carta de entendimiento entre BCR e ICF
En junio de 2023, el proyecto Adaptación Climática y el ICF, firmaron una carta de entendimiento con el fin de realizar una serie de actividades que contribuyan con el mandato institucional del ICF. Adicionalmente, ICF es ejecutor de una subvención del proyecto Adaptación Climática, que tiene recursos para facilitar la implementación de acciones acordadas con ICF.
Antecedentes de la consultoría
ICF cuenta con una infraestructura de bases de datos que necesita ser optimizada y mejorada. La cual ha experimentado problemas relacionados con el rendimiento, la disponibilidad, la integridad de los datos y la seguridad de las bases de datos actuales. También se busca manejar un volumen considerable de datos y se tiene el interés de mejorar la eficiencia de sus operaciones de base de datos.
ICF desea implementar mejores prácticas de gestión de datos y seguridad para cumplir con estándares de cumplimiento y proteger los datos contra posibles amenazas cibernéticas. La solicitud de actividades como la configuración de servidores distribuidos, la creación de un diccionario de datos, la optimización de consultas SQL y la implementación de copias de seguridad regulares surge de una preocupación por mejorar la disponibilidad, el rendimiento y la integridad de los datos.
La revisión de políticas de seguridad y las pruebas de recuperación de desastres yace de una preocupación por la seguridad de los datos y la capacidad de recuperación en caso de fallo del sistema. En resumen, la institución está buscando mejorar significativamente la gestión, el rendimiento y la seguridad de su infraestructura de bases de datos para garantizar la integridad y disponibilidad de sus datos críticos.
Propósito de la consultoría:
La consultoría tiene como propósito: Establecer una infraestructura distribuida con balanceo de carga, definir y documentar la estructura de la base de datos, optimizar el procesamiento de datos con funciones y procedimientos, mejorar las consultas SQL, limpiar los datos, implementar copias de seguridad regulares, optimizar índices y actualizar estadísticas, aplicar parches y actualizaciones, monitorear el rendimiento, gestionar el espacio de almacenamiento y revisar políticas de seguridad, asegurando la integridad, disponibilidad y seguridad de la base de datos mediante pruebas de recuperación de desastres.
Ubicación de la consultoría
La consultoría se realizará en la central de ICF en la unidad de informática, Tegucigalpa, Fco. Morazán.
Metodología:
Para esta consultoría se utilizará la siguiente metodología:
Seguir una metodología de implementación de sistemas distribuidos, utilizando herramientas como Ansible, Terraform o herramientas específicas de cada plataforma de nube (por ejemplo, AWS CloudFormation o Azure Resource Manager).
Herramientas: Ansible, Terraform, AWS CloudFormation, Azure Resource Manager.
Utilizar una metodología de modelado de datos como Ingeniería Inversa o Ingeniería Directa.
Herramientas: Herramientas de modelado de datos como ERwin, Microsoft Visio, Lucidchart.
Desarrollo de software basado en buenas prácticas de programación y arquitectura de bases de datos.
Herramientas: Entornos de desarrollo integrados (IDE) como JetBrains IntelliJ IDEA, Microsoft Visual Studio, o herramientas específicas de gestión de bases de datos como SQL Server Management Studio, pgAdmin para PostgreSQL, MySQL Workbench para MySQL.
Análisis de rendimiento y optimización de consultas utilizando técnicas como explicación de planes de ejecución, ajuste de índices y estructuras de datos, etc.
Herramientas de análisis de rendimiento de bases de datos como SQL Server Query Store, pg_stat_statements para PostgreSQL, MySQL Performance Schema.
Utilizar consultas SQL y scripts de limpieza para identificar y eliminar datos obsoletos, duplicados o incorrectos.
Implementación de un plan de copias de seguridad automatizado y periódico.
Herramientas de copia de seguridad nativas de la base de datos (pg_dump para PostgreSQL, mysqldump para MySQL, SQL Server Management Studio para SQL Server), o herramientas de terceros como Veeam, Commvault.
Revisión y ajuste de índices basada en el rendimiento y el uso de consultas.
Herramientas de análisis de rendimiento de bases de datos, como las mencionadas anteriormente.
Programación de actualizaciones regulares de estadísticas de la base de datos.
Herramientas de gestión de bases de datos que permitan la actualización de estadísticas de manera programada.
Implementación de un proceso de gestión de cambios que incluya la aplicación regular de parches y actualizaciones.
Herramientas de gestión de cambios como Git, Jira, herramientas de gestión de parches proporcionadas por los proveedores de bases de datos.
Implementación de un sistema de monitoreo continúo utilizando herramientas de monitoreo de infraestructura y bases de datos.
Herramientas de monitoreo como Prometheus, Grafana, Nagios, Zabbix, y herramientas de monitoreo proporcionadas por los proveedores de bases de datos.
Supervisión y ajuste proactivo del espacio de almacenamiento utilizando métricas de uso de espacio.
Herramientas de monitoreo de infraestructura y almacenamiento, herramientas de gestión de almacenamiento de bases de datos.
Establecer políticas de seguridad y cumplimiento de normativas, seguida de ajustes y actualizaciones según sea necesario.
Herramientas de auditoría y cumplimiento de seguridad, herramientas de gestión de políticas de seguridad.
Programación y ejecución periódica de simulacros de recuperación de desastres para validar la efectividad de los procedimientos de respaldo y restauración.
Herramientas de automatización de pruebas, herramientas de restauración y recuperación de bases de datos.
Actividades de la consultoría:
- Configuración de granja de servidores y balanceo de carga para PostgreSQL, MySQL y SQL Server: Esta actividad debería ser la primera en implementarse, ya que establece la base para la infraestructura de servidores distribuida y el balanceo de carga, lo que optimizará el rendimiento y la disponibilidad de las bases de datos.
- Creación de diccionario de Datos: Antes de realizar cualquier otra acción, es fundamental definir y documentar un diccionario de datos que describa la estructura, relaciones y metadatos de la base de datos, facilitando así la comprensión y gestión de los datos.
- Creación de funciones y procedimientos que mejoren el procesamiento de los datos: Desarrollar funciones y procedimientos almacenados para optimizar el procesamiento de datos debería ser la siguiente etapa, ya que automatizar tareas recurrentes y mejorar la eficiencia de las operaciones prepara el terreno para las siguientes acciones.
- Optimización de consultas SQL: Una vez que se han creado funciones y procedimientos, es el momento de identificar y mejorar consultas SQL problemáticas para aumentar la eficiencia y el rendimiento de las operaciones de la base de datos.
- Limpieza de las bases de datos de la institución: Con las consultas optimizadas, se puede realizar una limpieza de datos para eliminar registros obsoletos, duplicados o incorrectos, garantizando así la integridad y calidad de la información almacenada en la base de datos.
- Copia de seguridad regular: Establecer y mantener un plan de copias de seguridad periódicas es esencial en cualquier etapa del proceso para proteger los datos contra pérdidas o daños.
- Optimización de índices: Después de limpiar los datos y establecer copias de seguridad, se puede revisar y optimizar los índices de la base de datos para mejorar el rendimiento de las consultas y reducir el tiempo de respuesta.
- Actualización de estadísticas: Una vez optimizados los índices, es importante actualizar regularmente las estadísticas de la base de datos para mejorar la precisión del planificador de consultas y optimizar la ejecución de consultas.
- Parches y actualizaciones: Mantener la base de datos actualizada con parches de seguridad y actualizaciones de software garantiza la estabilidad y seguridad de la plataforma.
- Monitoreo de rendimiento: Implementar un sistema de monitoreo continuo es una tarea constante que debe realizarse para supervisar el rendimiento de la base de datos y detectar problemas o degradaciones de rendimiento de manera proactiva.
- Gestión de espacio de almacenamiento: Administrar el espacio de almacenamiento de la base de datos es una tarea continua que debe realizarse para evitar problemas de capacidad.
- Creación de políticas de seguridad: Revisar y actualizar regularmente las políticas de seguridad de la base de datos es una tarea continua que debe realizarse para garantizar el cumplimiento de los requisitos y proteger los datos contra accesos no autorizados o ataques cibernéticos.
Pruebas de recuperación de desastres: Finalmente, realizar pruebas periódicas de los procedimientos de recuperación de desastres garantiza la capacidad de recuperación efectiva de la base de datos en caso de fallo del sistema o pérdida de datos.
Entregables:
Perfil del consultor:
- Profesional en las áreas de la ingeniería en sistemas, informática o Análisis de Datos o Ciencia de Datos con el grado de licenciatura o carreras a fines y certificaciones:
- Experiencia de 5 años comprobada en administración de bases de datos
- Experiencia en lenguajes de consulta
- Conocimientos en optimización de bases de datos
- Gestión de seguridad de bases de datos
- Experiencia en resolución de problemas
- Experiencia en proyectos de bases de datos
Conocimiento de diferentes plataformas de bases de datos: Microsoft SQL Server, MySQL, PostgreSQL.
Nota: En el marco de los compromisos de la subvención con ICF, se acordó que la movilización, logística y documentos básicos para el desarrollo de las consultorías serán proporcionados por ICF, coordinando con la persona responsable del proceso, según corresponda.
Importante seguir estas indicaciones para mostrar interés en esta modalidad de contratación:
- Los(as) interesado(a) en aplicar deben enviar su hoja de vida actualizada y una carta indicando su propuesta de tarifa de honorarios por dia (CV y carta de interés deben ser un máximo de 6 páginas en forma pdf).
- NOTA: No incluya otros documentos, que no se le están solicitando en este momento.
- Favor enviar su postulacion en formato pdf (6 paginas juntas) al correo: [email protected]
Indicar en el asunto del correo: "34. Consultoria Independiente para la optimización Integral de BasIs de Datos de los sistemas institucionales del Instituto Nacional de Conservación Forestal, ICF."
Acerca de DAI
- DAI es una empresa de desarrollo global con oficinas corporativas en los Estados Unidos, el Reino Unido, la UE, Nigeria, Pakistán y Palestina y operaciones de proyectos en todo el mundo. Abordamos problemas fundamentales de desarrollo social y económico causados por mercados ineficientes, gobernanza ineficaz e inestabilidad. DAI trabaja en la primera línea del desarrollo global. Transformando ideas en acción, acción en impacto. Estamos comprometidos a dar forma a un mundo más habitable.
- DAI y sus empleados están comprometidos a enfrentar el racismo y a hacerse responsables del cambio positivo dentro de la empresa y en las comunidades, culturas y países en los que vivimos y trabajamos. DAI se compromete a atraer y retener a los mejores empleados y/o consultores de todas las razas y orígenes en nuestro esfuerzo continuo por convertirnos en un mejor socio de desarrollo.
DAI mantiene los más altos estándares éticos. Estamos comprometidos con la prevención de la explotación, la trata de persona, el abuso y el acoso sexuales, así como con la prevención de otras infracciones éticas. Por lo tanto, todas nuestras posiciones están sujetas a estrictas investigaciones y controles de referencia.