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
MyISAMMEMORYEngines 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:
utf8mb4Collation:
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 KEYSi no existe, crear una:
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY4️⃣ Í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
idColumnas
*_id(foreign keys lógicas)Columnas usadas en
WHEREColumnas usadas en
JOINColumnas 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.
Comentarios
0 comentarios
El artículo está cerrado para comentarios.