Base. Persiana Bases

Se accede a esta página desde el primer enlace en el camino que hay en la zona superior izquierda de cada página (el nombre de la BD).

Persiana: Bases (sólo admin del motor e instalación de BD)

Sólo el administrador del motor de BD mongoDB (super-usuario) tiene acceso a esta persiana, que permite gestionar el conjunto de BD del motor: copiar, renombrar, eliminar, importar y exportar, crear nuevas... todo desde un panel centralizado. También muestra los usuarios conectados a cada una.

La base ingrid-usos guarda estadísticas de conexiones y uso de las bases y tiene procedimientos para hacer un reporte de tiempo y nº de conexiones por BD en cualquier periodo.

La copia de seguridad automática (normalmente cada 2h) del servidor Ingrid nodejs se basa en los datos almacenados en la base de usos. Los procesos que controla el servidor son:

* Proceso conexión a BD:
- en todas las máquinas que no sean CRONOS, las bases con maquina=* (tests y demos) no crean registros de conexiones, y por tanto tampoco de bases.
- al cerrar la conexión websockets (al estar inactiva la página 15 minutos, cerrar pestaña del navegador, cambiar de base en la misma, cerrar navegador...) se graba en BD ingrid-usos una conexión con:
  · base (registro que también se crea si no existía ya en ingrid-usos), el nº de datos modificados y visitados, máquina y si está en json y/o bson
  · se graba maquina.fecgraba con la fecha-hora de desconexión.
  · se leen de la memoria antes de cerrar, el nº de documentos, docs por clase (no se recalculan en toda la BD) y se guardan en la base de la conexión.


* Proceso backup automático cada 2h (por defecto):
- se graba en cada base.* la fecha-hora de backup (base.feccopia)
- se borra la fecha de última modificación de la base base.fecgraba
- se comprueba en bases.json si base.maquina está correcta.
- sólo en máquina CRONOS, las bases con maquina=* hacen copia de seguridad, en cluster de producción, no. Por tanto en ingrid-usos de cluster producción no se graba para demos y tests el campo base.feccopia


* Proceso abre y monta base cuando maquina=* EXCEPTO EN MÁQUINA CRONOS:
- al abrir base se compara la fecha de modificación del bson (en ingrid-nueva con json) con cab.fecmonta (concepto .). Si bson <= fecmonta, se recarga bson


* Proceso arrancar servidor:
- se desmontan las bases montadas en máquinas distintas a la que esté indicada en el mama bases.json  drop ingrid-usos de las máquinas en las no esté montada
- chequear copia de seguridad


* proceso documentar observaciones de interface BBDD
- se graban en base.obs de ingrid-usos y el cliente cada vez que entra en la persiana, lee todos los de todas las bases. También se pueden editar en la columna observaciones del interface de esta ventana. Además, se copian como documentación en bases.json del cluster, pero no se pueden editar allí.
 

Creación de BD

La opción de menú contextual nueva base, permite crear en el motor actual una nueva como copia del archivo JSON de la BD plantilla ingrid-nueva. El nombre de BD debe ser totalmente en minúsculas, ya que no se distinguen mayúsculas de minúsculas, y habría problemas las coincidencias. Los caracteres admitidos para un nombre son las minúsculas, números y signos que no sean /\."$*<>:|?  ni el espacio en blanco.

 

Importación / exportación

Utilizan las funciones mongodump y mongorestore del motor mongoDB (tanto en formato json como bson), aplicándolas a la BD de la línea seleccionada. Con una multiselección de bases sólo se puede realizar la exportación. En las columnas a la derecha del todo (M, B, J) el icono informa de si se tiene la base montada en el motor (B), y si en el directorio de proyecto existe archivo JSON (J) o BSON (B).

Si se necesita una importación/exportación más precisa e inteligente (por ejemplo de un json procedente de una BD Ingrid versión 7), se utilizan los procedimientos de ingrid-comun: Base > Procedimientos comunes > Procedimientos de clases.