Guía de buenas prácticas para organizar bases de datos MariaDB

Soporte Donweb
Soporte Donweb

Este documento está orientado a clientes y equipos técnicos que administran bases de datos MariaDB con aplicaciones propias, como ERP, CRM, sistemas internos, paneles de gestión o desarrollos a medida, independientemente del lenguaje o framework utilizado.

Aplicar estas prácticas ayuda a mejorar el rendimiento, la estabilidad, la escalabilidad y a reducir problemas durante migraciones o cambios de infraestructura.

1️⃣ Motor de almacenamiento: usar siempre InnoDB

Regla

Todas las tablas deben utilizar el motor InnoDB.

Motivos

  • Mejor manejo de concurrencia

  • Soporte de transacciones (ACID)

  • Recuperación ante fallos

  • Requisito para replicación moderna

Qué evitar

  • MyISAM

  • MEMORY

  • Engines heredados o experimentales

Chequeo básico

SELECT TABLE_NAME, ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'NOMBRE_DB';

2️⃣ Usar un único charset y collation en toda la base

Regla general

No mezclar collations dentro de una misma base de datos.

Recomendación para MariaDB

  • Charset: utf8mb4

  • Collation: utf8mb4_unicode_ci

Qué evitar

Mezclar collations como:

  • _general_ci

  • _unicode_ci

  • _520_ci

  • _0900_ai_ci

Motivos

  • Evita errores de comparación

  • Mejora el rendimiento

  • Simplifica migraciones y restores

3️⃣ Todas las tablas InnoDB deben tener PRIMARY KEY

Regla crítica

Ninguna tabla InnoDB debe quedar sin clave primaria.

Motivos

  • InnoDB necesita una PRIMARY KEY para funcionar correctamente

  • Problemas en replicación

  • Riesgo de corrupción lógica

  • Peor rendimiento general

Buenas prácticas

  • Si existe una columna id, usarla como PRIMARY KEY

  • Si no existe, crear una:

id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY

4️⃣ Índices mínimos obligatorios

Regla práctica

Toda columna utilizada para:

  • Buscar

  • Filtrar

  • Relacionar tablas
    debe tener un índice.

Casos típicos que deben estar indexados

  • Columnas id

  • Columnas *_id (foreign keys lógicas)

  • Columnas usadas en WHERE

  • Columnas usadas en JOIN

  • Columnas usadas frecuentemente en ORDER BY

Motivos

  • Evita consultas lentas

  • Reduce la carga del motor SQL

  • Mejora la escalabilidad del sistema

5️⃣ Cuidar tablas de configuración y parámetros

En la mayoría de los sistemas existe una o más tablas de configuración central.

Riesgos comunes

  • Acumulación de parámetros obsoletos

  • Valores grandes cargados en múltiples consultas

Reglas recomendadas

  • Mantener estas tablas lo más pequeñas posible

  • Eliminar parámetros no utilizados

  • Evitar guardar blobs o textos grandes innecesarios

6️⃣ Limpieza periódica de datos antiguos

Recomendación mínima

Realizar limpiezas periódicas de:

  • Logs antiguos

  • Registros de debug

  • Sesiones vencidas

  • Registros temporales

Política sugerida

  • Mantener logs por un máximo de 30 a 90 días

  • Eliminar datos históricos que no se utilicen

7️⃣ Control sobre aplicaciones, módulos y extensiones

Antes de instalar módulos, extensiones o nuevas funcionalidades, verificar:

  • ¿Crea tablas nuevas?

  • ¿Esas tablas tienen PRIMARY KEY?

  • ¿Tienen índices adecuados?

  • ¿Limpian datos antiguos automáticamente?

Regla clara

Evitar aplicaciones o módulos que:

  • Crean tablas sin PRIMARY KEY

  • No definen índices

  • Acumulan logs o datos indefinidamente

8️⃣ Mantenimiento recomendado

Frecuencia sugerida

Mensual

  • Limpieza de datos temporales

  • Revisión de tablas con alto crecimiento

Trimestral

  • Revisión de PRIMARY KEY

  • Revisión de collations

  • Revisión de índices

📌 Resumen final

Las reglas básicas para una base de datos MariaDB saludable son:

  • Usar solo InnoDB

  • Mantener un único charset y collation

  • Todas las tablas deben tener PRIMARY KEY

  • Indexar columnas usadas para búsquedas y relaciones

  • Limpiar logs y datos temporales periódicamente

  • Controlar módulos y aplicaciones que crean tablas

  • Revisar la estructura antes de migraciones o cambios de servidor

⚠️ Importante: alcance según el tipo de servicio

Estas buenas prácticas aplican a cualquier base de datos MariaDB. Sin embargo, en servicios de hosting compartido (Web Hosting y WordPress Hosting) deben cumplirse de forma obligatoria, ya que la configuración y estructura de la base de datos están limitadas por el entorno compartido. 

En Cloud Server o Servidor Dedicado, estas pautas se consideran recomendaciones, dado que no existen restricciones técnicas y el cliente cuenta con control total sobre la base de datos y el servidor.

¿Fue útil este artículo?

Usuarios a los que les pareció útil: 0 de 0

¿Tiene más preguntas? Enviar una solicitud

Comentarios

0 comentarios

El artículo está cerrado para comentarios.