Tamaño de las bases de datos en Moodle

Tamaño de las bases de datos en Moodle

de María Silvia Cemborain -
Número de respuestas: 11

Buenas tardes y saludos desde Venezuela

Actualmente administro un sitio Moodle para impartir cursos en la Universidad, en los cuales se registran  un aproximado de 100 estudiantes diferentes cada trimestre.

Mi proveedor de internet me ha advertido, que pronto desactivarán mi cuenta, debido a que la base de datos de Moodle excede el tamaño permitido por ellos, ya que entre todas las bases de datos se está superando el límite de 1000 tablas. Ellos me piden que borre bases de datos que no estén en uso o que disminuya el tamaño de las mismas, para llegar por debajo del límite de 1000 tablas.

Mi pregunta concreta es: ¿Cómo puedo borrar tablas para ajustarme al límite permitido por mi servidor? Ya borré todos los usuarios que no están activos en ningún curso, pero noto vía FTP que aun permanecen todos sus archivos, organizados en diferentes directorios, segun las actividades de mis cursos. Entonces, esos directorios siguen ocupando espacio físico, pero... ¿Ocupan espacio en las bases de datos?

Por favor, necesito ayuda urgente para disminuir el tamaño de las bases de datos de mi sitio web en Moodle. Espero que alguien me pueda ayudar. Soy un usuario con conocimientos de administración y gestión de cursos, así como del manejo del CPanel de mi servicio de hosting, pero no poseo conocimientos como para arriesgarme por mi cuenta a manejar phpMyAdmin.


Mil gracias!!!


Maria Silvia

Promedio de valoraciones: -
En respuesta a María Silvia Cemborain

Re: Tamaño de las bases de datos en Moodle

de Tulix Velásquez -

Buenas


Soy Tulio , en cuanto a tu pregunta hay algo que no me cuadra, tu proveedor revisa la cantidad de tablas de la base de datos, si se basa en esa información, y si no me equivoco una instancia Moodle no pasa de 250 tablas, ahora cabe mencionar, que las tablas no se debe de borrar, ya que son parte de la estructura, cuando borras usuarios inactivos, no estas borrando tablas, si no que estas borrando registros de una tabla, en este caso la tabla de mdl_user, 

Ahora para disminuir el peso de la base de datos, lo que realizo es configurar en Moodle, la opcion de limpieza, en el cual le indico que todos los registros mayores a  "XX" días se borren, así las tablas se van haciendo mas livianas 




En respuesta a Tulix Velásquez

Re: Tamaño de las bases de datos en Moodle

de María Silvia Cemborain -

Hola Tulio, mil gracias por responder.

Te explico: Mi proveedor me informa lo siguiente:

Your account information:
    Total MySQL Database Size: 233.22 MB
    Total MySQL Tables: 1063

Our research shows that server performance degrades when the MySQL usage is over 1000 tables and/or 3 GB on a single account or 1000 tables and/or 2 GB on a single database.  In order to ensure optimal performance for your account and the others in your shared hosting environment, we request that you reduce the MySQL usage on your account to under these limits.

Entonces, yo me puse a analizar el CPanel de mi cuenta, y observé que las bases de datos más grandes son las de mis instalaciones de Moodle. Y se me ocurrió que debido a que es un sitio que se usa de forma intensiva, podría estar generando el problema. La verdad es que yo no se resolver este problema y creo que son mis instalaciones de Moodle (3), las que están ocasionando este exceso de tablas en mis bases de datos... seguramente estoy equivocando algunos términos, pero en escencia, creo que se entiende.

Por favor, te pido si pudieras guiarme para que yo pueda hacer la depuración que me explicas en tu mensaje?


Muchísimas gracias, de verdad. Mi sitio Moodle es Tesiscenter.com y utilizo la versión 1.9.10

En respuesta a Tulix Velásquez

Re: Tamaño de las bases de datos en Moodle

de María Silvia Cemborain -

Hola Tulio!

Ya encontré la opción de Limpieza, y la configuré para que todos los registros anteriores a 120 días se borren. Ahora, ¿cuándo va a ocurrir esa limpieza? De inmediato? Igualmente, indiqué que se borren los usuarios que tengan más de 90 días sin acceder al sitio, pero ojeando la lista de usuarios, aún veo muchos que no han ingresado nunca o que ingresaron hace más de 2 años...


Gracias de nuevo por tu ayuda, invaluable para mi en este momento.


Saludos (de dónde eres?) desde Caracas


María Silvia

En respuesta a María Silvia Cemborain

Re: Tamaño de las bases de datos en Moodle

de Mario Dorantes -

Hola:

Normalmente la limpieza ocurre cuando se ejecuta el cron. El cron es un proceso que corre en el servidor cada cierto tiempo y que ejecuta ciertas tareas cómo por ejemplo, el envío de mensajes de los foros.

Si el cron no esta protegido con una contraseña, se puede ejecutar escribiendo en tu navegador.

http://direcciondetusitio/admin/cron.php

Saldrá una página con fondo blanco y mucho texto indicando lo que va ejecutando el cron.

En cuanto a la información que te da tu proveedor sobre la base de datos, es posible que varios de tus sitios Moodle esten ocupando una misma base de datos (se puede hacer cambiando el prefijo del nombre de las tablas, por ejemplo mdl1_user mdl2_user serían los nombres de las tablas de de usuarios correspondientes a dos Moodles distintos en una sóla base).

En este caso te convendría separar las bases de datos de cada Moodle lo que dejaría el número de tablas (aprox 250 cómo dice Tulio) por debajo del límite que te sugieren.

Saludos


Mario

En respuesta a Mario Dorantes

Re: Tamaño de las bases de datos en Moodle

de María Silvia Cemborain -

Hola Mario,

Gracias por refrescarme la memoria. Efectivamente ya hice correr el cron en los sitios Moodle instaados, y ya se realizaron las rutinas de limpieza, pero no logré disminuir los valores que me causan la restricción.

Con respecto a las bases de datos, en mi Cpanel se observa lo siguiente (ver adjunto): Hay siete (7) bases de datos de Moodle, aún cuando yo sólo tengo 4 sitios Moodle instalados. Dos de las bases de datos son más grandes, pero no superan los 100 mb cada una, y las demás son bastante livianas.

Pareciera que el problema no está en el número de bases de datos, sino en el número de tablas, que supera las 1000. Justo lo que no se, es cómo reducir el número de tablas!!!

Cualquier ayuda será muy agradecida.

Saludos y gracias de nuevo

María Silvia

Adjunto Captura de pantalla 2014-06-26 a la(s) 19.03.53.png
En respuesta a María Silvia Cemborain

Re: Tamaño de las bases de datos en Moodle

de Mario Dorantes -

Hola:

Por lo que se ve en la información del Cpanel las bases de datos individualmente estan en tamaños razonables, entonces es la suma de tablas lo que preocupa a tu proveedor (y de paso a ti ).

Cómo dice Tulio, eliminar tablas de una base de datos de un Moodle activo es algo que no se debe hacer, pero si tienes 7 bases y sólo cuatro sitios, entonces podrías respaldar las tres bases que no ocupas y borrarlas del servidor, de entrada esto va a disminuir el número de tablas. (fé de erratas: en Moodle 1.9 una base de datos tiene aproximadamente 200 tablas). Con cuatro sitios (basados en 1.9) activos será inevitable tener alrededor de 800 tablas pero andarás debajo del límite de 1000 que te mencionan.

El tamaño de las bases lo puedes reducir examinandolas con phpMyAdmin, cuando ves la lista de tablas de una base, en la última columna se ve el residuo a depurar. Seleccionas todas las tablas con residuo y en un menú desplegable seleccionas 'optimizar la tabla'.

Saludos
Mario
En respuesta a Mario Dorantes

Re: Tamaño de las bases de datos en Moodle

de María Silvia Cemborain -

Mario, mil gracias por su respuesta. Muy valiosa toda la información y tan detallada.

En efecto, ayer pude identificar las bases de datos de mis sitios Moodle activos, y pude respaldar y borrar las demás (no se para que son y para que respaldarlas, pero por siacaso... quizas fueron sitios de prueba que hice y que borré). Efectivamente, las bases de datos de Moodle 1.9 tienen entre 230 y 280 tablas (las mias), y terminé quedándome sólo con 3. Tengo todavía otras bases de datos que no logro identificar para que son , algunas son de Wordpress, 1 de CubeCart, pero las otras ni idea...

Hostmonster escanea y crea un índice de la data de cada sitio una vez a la semana, asi que todavia tengo que esperar que actualice los datos, para comprobar que ya no tengo la advertencia en el servicio de hosting. De hecho, me dieron 3 semanas de lapso para que solucionara este inconveniente!!! menos mal que pude reducir en algo el número de tablas al borrar las DB que no necesitaba.

Aun no he realizado lo que me explica, sobre limpiar las Bases de datos activas, lo voy a intentar ahora... pero me da temor de dañar mis sitios. De hecho, ayer dañé en forma fatal uno de mis sitios Moodle, cuando traté de actualizarlo a la versión 2.6. Dejó de funcionar completamente y tuve que reinstalarlo desde un backup.


Mil gracias de nuevo, y quedo a la orden por aquí


Saludos

María Silvia

En respuesta a Mario Dorantes

Re: Tamaño de las bases de datos en Moodle

de María Silvia Cemborain -

Listo!! ya las revisé y pude determinar a qué proyecto corresponde cada base de datos, y ya pude revisar las tablas y borrar todo lo innecesario.

Su aporte fue de mucha ayuda!

Mil gracias


Saludos

Maria Silvia

En respuesta a Tulix Velásquez

Re: Tamaño de las bases de datos en Moodle

de María Silvia Cemborain -
Indagando en mi Cpanel encontré ésto:

Your account contains more than 9740 directories and may pose a potential performance risk to the server.<br>Please reduce the number of directories for your account to prevent <em>possible</em> account deactivation

Revisando el directorio "Moodledata", encuentro muchísimas carpetas, que corresponden a cada curso y dentro de ellas, cada actividad y dentro de éstas, cada estudiante con sus respectivos archivos.

También observo que muchas de las carpetas que contienen archivos, son de estudiantes que ya no están en el curso, porque son de años anteriores. Me pregunto: ¿Ayudará de algo que manualmente borre todos los directorios que contengan archivos de actividades del curso, que sean anteriores a este año? no se si corra el riesgo de borrar incluso los archivos del curso subidos por mi, o eso no es posible porque en esos directorios sólo se guardan los archivos del curso subidos por los estudiantes? puedo ordenarlos por fecha y detectar fácilmente cuáles son anteriores a 2014. Anexo un print screen.

Adjunto Captura de pantalla 2014-06-26 a la(s) 17.47.18.png
En respuesta a María Silvia Cemborain

Re: Tamaño de las bases de datos en Moodle

de Mario Dorantes -

Hola:

Con respecto a los archivos y directorios de tu sitio Moodle te comento lo siguiente:

Normalmente no conviene borrar archivos directamente en el servidor (pueden surgir problemas inesperados y es una de las razones por las que las versiones actuales de Moodle manejan un sistema de archivos diferente) pero si lo haces cuidadosamente (previo respaldo) puedes intentarlo.

En la versión que tienes (1.9) dentro de moodledata hay una carpeta para cada curso, el nombre de la carpeta (un número) corresponde al identificador (id) del curso (lo que ves en la url del mismo). 

Dentro de la carpeta del curso están los archivos que subes al curso como recursos y también una carpeta que se llama moddata donde están los archivos subidos por los usuarios. Dentro de moddata hay una carpeta assignment y adentro una por cada tarea y dentro de la de cada tarea una por cada alumno, por ejemplo:

moodledata/id_de_curso/moddata/assignment/id_tarea/id_alumno/archivo_de_tarea.doc

Lo mejor para borrar los archivos antiguos es borrar el curso completo o, si lo quieres seguir usando, reiniciar el curso desde el bloque de Administración del curso. 

Saludos


En respuesta a Mario Dorantes

Re: Tamaño de las bases de datos en Moodle

de María Silvia Cemborain -
Muchas gracias por su detallada respuesta.
Lo que yo he estado haciendo es borrar las carpetas manualmente, localizando las que están dentro de cada actividad, y que adentro tienen archivos de mis estudiantes, identificando las más viejas.

Lo que me preocupa de borrar el curso completo, es que aun está en curso y tengo estudiantes activos. Entonces no puedo arriesgarme a borrar el curso y confiar en una copia de seguridad.. De hecho, estuve haciendo copias de seguridad de mis cursos y encontré que en uno de ellos, por ejemplo, aun cuando en este momento sólo tengo 15 estudiantes activos, cuando hago la copia de seguridad del curso, incluyendo archivos de usuarios, el sistema me indica que va a hacer respaldo de más de 240 usuarios!!!! Por lo tanto, me hace pensar que el curso guarda registro de todos los usuarios que han pasado por ahí, así ya no estén matriculados.

La pregunta sería: ¿Cómo puedo respaldar o hacer una copia de seguridad de mis cursos, sólo con los usuarios que están activos en este momento? De esa forma podría borrar el curso completo y luego restaurarlo sólo con esos datos.

Mil gracias por su ayuda en este caso que me tiene tan preocupada.

María Silvia
Profesora de la Universidad Simón Bolívar
Caracas Venezuela