sql >> Base de Datos >  >> RDS >> Mysql

Diseño de base de datos para una gran cantidad de datos.

Ya que preguntaste cómo las grandes empresas (generalmente) abordan esto:

Por lo general, tienen un dba (administrador de base de datos) que vive y respira la base de datos que utiliza la empresa.

Esto significa que tienen gente que sabe todo, desde cómo diseñar las tablas de manera óptima, perfilar y ajustar las consultas/índices/SO/servidor hasta saber qué revisión de firmware del controlador RAID puede causar problemas a la base de datos.

No hablas mucho sobre el tipo de ajuste que has hecho, por ejemplo,

  • ¿Está utilizando tablas MyISAM o InnoDB? Su rendimiento (y no menos importante sus características) es radicalmente diferente para diferentes cargas de trabajo.
  • ¿Las tablas están correctamente indexadas de acuerdo con las consultas que ejecuta?
  • Ejecute EXPLAIN en todas sus consultas, lo que lo ayudará a identificar claves que podrían agregarse o eliminarse, ya sea que se seleccionen las claves adecuadas, compare consultas (SQL le ofrece muchas formas de lograr las mismas cosas)
  • ¿Has ajustado la caché de consultas? Para algunas cargas de trabajo, la caché de consultas (activada de forma predeterminada) puede provocar una ralentización considerable.
  • ¿Cuánta memoria tiene su caja? ¿Mysql está ajustado para aprovechar esto?
  • ¿Utiliza un sistema de archivos y una configuración de redada orientada a la base de datos?
  • A veces se necesita un poco de desnormalización.
  • Diferentes productos de base de datos tendrán diferentes características, MySQL puede ser increíblemente rápido para algunos anuncios de trabajo y lento para otros.