¿Cómo puede reducir el tamaño de la base de datos de su sitio web?
Introducción
El tamaño de una base de datos puede ser un factor de resistencia importante si no se gestiona adecuadamente. En este artículo, veremos por qué su Base de datos MySQL puede llegar a ser tan grande, cómo puede reducir el tamaño de las tablas de la base de datos y cómo puede mantener el consumo de su disco duro MySQL dentro de unos límites.
Razones habituales del crecimiento de las bases de datos
Lo crea o no, muchas bases de datos tienen un problema común cuando se trata de su crecimiento.
Estas son las razones más comunes con las que se puede encontrar:
Registros/protocolos
Algunas aplicaciones utilizan la base de datos para registrar todo tipo de información. Por ejemplo: información de acceso, errores, acciones diversas de administradores o usuarios, registros, envío de correos electrónicos, etc. Esta información es importante, pero almacenarla en la base de datos es una mala decisión técnica, al menos para las bases de datos SQL. La base de datos se llena rápidamente, sobre todo si tienes un sitio web muy concurrido, y esto puede provocar problemas de rendimiento y lentitud en la descarga de registros.
Para finalizar el registro de la base de datos
Si encuentra que el tamaño de sus análisis o tablas de registro se está descontrolando, le recomendamos que cambie al registro de archivos. La mayoría de las aplicaciones modernas de código abierto almacenan los registros en archivos; sin embargo, si este no es el caso, deberían ofrecer un ajuste para cambiar al registro de archivos en su área de administración. Si tiene un sitio web personalizado debe ponerse en contacto con el desarrollador que creó el sitio web y pedirle que habilite el registro de archivos en su lugar.
Reducción de las tablas de registro de la base de datos
Antes de reducir tu base de datos, tienes que averiguar su tamaño. Tenemos un gran tutorial sobre cómo Comprobación de la base de datos de su sitio webque debería leer antes de continuar. Normalmente estas tablas contienen la palabra "log" o "analytics" en su nombre para que pueda distinguirlas fácilmente del resto. Para hacerlas más pequeñas, basta con vaciarlas o acortarlas. phpMyAdmin dispone de esta función.
*Nota: La captura de pantalla muestra exactamente dónde debe hacer clic para borrar la tabla fácilmente.
Bots
Curiosamente, los bots son una causa común del crecimiento excesivo de las bases de datos. Imagina que tienes una base de datos que registra prácticamente todo lo que ocurre en el sitio web, por ejemplo, registros, inicios de sesión, correos electrónicos, formularios de contacto, etc. Ahora imagina un bot que se aprovecha de todo esto y llena tus formularios de registro e inicio de sesión con spam para que tus tablas se llenen con la información que quieres que registre. Si tienes un sitio web en el que los usuarios registrados pueden publicar y comentar las entradas de otros usuarios, la cosa se vuelve aún más loca porque entonces el bot puede empezar a publicar y comentar. Adivina dónde almacenan la mayoría de las aplicaciones este tipo de datos: sí, así es, ¡en la base de datos! Un ataque de spambot puede hacer que aumente el tamaño de tu base de datos si no tomas ciertas precauciones.
¿Cómo puedo evitar que los robots inunden mi base de datos?
El método más sencillo es insertar un reCaptcha en todos los formularios del sitio web. Esta implementación garantiza que ningún ser no humano pueda registrarse y evita así la creación de registros en su base de datos MySQL.
Comprobar los derechos de acceso a nivel de usuario y sólo permitir a los usuarios que hayan superado la verificación (por ejemplo, por correo electrónico) escribir entradas y comentarios.
Puestos moderadospáginas y comentarios usted mismo o contrate a alguien que lo haga por usted si tiene un sitio web con mucho tráfico.
IMPORTANTE: Algunas integraciones reCaptcha también registran los éxitos y fracasos de reCaptchas individuales. Su aplicación puede almacenar estos registros en su base de datos. Compruébalo antes de integrar esta función. Si el registro de la base de datos está habilitado, desactívalo por completo ya que la información no es relevante o considera el registro de archivos.
Cómo eliminar tablas de bases de datos inundadas por bots
No hay un método establecido para borrar tablas que han sido llenadas por bots. Estas tablas pueden incluir tus tablas de registro, tablas de entradas, tablas de comentarios, tablas de reCaptcha, etc. Lo mejor es comprobar todas las tablas que sean grandes y vaciar las que creas que son spam. Si no te sientes seguro haciendo esto, puedes contratar a un desarrollador para que revise toda la base de datos y te ayude a reducir el tamaño eliminando todo el contenido spam.
Sesiones
Todos sus visitantes crean sesiones en su sitio web cuando utilizan el formulario de acceso. Para mantener al usuario conectado, la sesión interactúa con la cookie que se almacena en el navegador del usuario. Normalmente, esta sesión dura un cierto tiempo. Sin embargo, en una aplicación mal programada, la sesión no se borra cuando expira o el usuario cierra la sesión. Combine esto con el hecho de que su aplicación almacena sesiones en su base de datos y tendrá una situación muy desagradable: su base de datos se llena de sesiones antiguas que sus usuarios ya no utilizan.
Para desactivar sesiones en la base de datos
Normalmente, cada aplicación tiene un ajuste en algún lugar de su archivo de configuración que debería permitirte cambiar la ubicación de las sesiones de base de datos a archivo. Deberías consultar la documentación de la aplicación correspondiente para ver si esto es posible y, en caso afirmativo, cómo proceder.
Borrar sesiones de la base de datos
Esto debería ser muy sencillo. Normalmente estas tablas contienen la palabra "session" o "sess" en su nombre, por lo que son fáciles de distinguir del resto. Para hacerlas más pequeñas, basta con "vaciarlas" o "truncarlas". phpMyAdmin ya tiene esta función incorporada. Vea también nuestro tutorial sobre cómo comprobar el tamaño de la base de datos del sitio web.
Fotos
Un método muy arcaico de guardar imágenes es almacenarlas en una base de datos. El problema surgió cuando los archivos multimedia se hicieron cada vez más grandes. Sin embargo, estas viejas prácticas han persistido en la comunidad de desarrolladores. Si te encuentras en esta situación, estás en una situación muy difícil, ya que no puedes simplemente truncar o vaciar la tabla que contiene las imágenes, ya que esto eliminaría las imágenes de tu sitio web.
Para evitar que su aplicación guarde imágenes en la base de datos
Normalmente, cada aplicación tiene un ajuste en algún lugar de su archivo de configuración que debería permitir cambiar la ubicación de almacenamiento de las imágenes. Debería consultar la documentación de la aplicación correspondiente para ver si esto es posible y, en caso afirmativo, cómo proceder.
¿Cómo puedo eliminar de la base de datos las imágenes de mi sitio web?
Por desgracia, no es una tarea fácil, ya que vaciar la base de datos destruirá tu contenido. Te aconsejamos que te pongas en contacto con un desarrollador y le pidas que revise toda la aplicación y su base de datos y cambie la forma en que gestiona las imágenes.
Demasiadas tablas de base de datos
Este problema puede producirse en dos circunstancias:
- Ha importado por error muchos archivos SQL en una única base de datos.
- Ha instalado demasiados plugins/módulos en su sitio web, que han añadido demasiadas tablas de base de datos.
¿Cómo puedo evitar que las tablas de mi base de datos sean demasiado grandes?
En primer lugar, hay que tener mucho cuidado al importar un archivo SQL y asegurarse de que se está importando a la base de datos correcta. En segundo lugar, debes desconfiar de la instalación de módulos o plugins que no procedan de un proveedor certificado y cuyo origen y mantenimiento sean cuestionables.
¿Cómo puedo reducir el número de tablas de la base de datos?
Desinstale primero todos los plugins que no necesite. A continuación, compruebe cuidadosamente su base de datos para las tablas que no son utilizados por su aplicación. Si puede pedir ayuda a un desarrollador web certificado, esto sin duda le facilitará la vida.
Optimización de tablas de bases de datos con phpMyAdmin
Antes de terminar este tutorial, nos gustaría presentarte una sencilla tarea que puedes realizar con phpMyAdmin: "Optimice". Esta bonita función realiza operaciones básicas en su base de datos y elimina toda la información innecesaria, como los gastos generales y los datos volátiles de la base de datos, lo que en última instancia conduce a una reducción del tamaño de la base de datos.
Vaya, ha sido mucha información. A primera vista puede parecer abrumadora, pero espero que este artículo le haya ayudado a entender cómo reducir el tamaño de la base de datos de su sitio web. Si todavía no se siente lo suficientemente seguro como para solucionar los errores por sí mismo, no dude en ponerse en contacto con nuestro Equipo de apoyo presentando un ticket en su área de cliente.