Por qué es importante la optimización del esquema de la base de datos

Si ha estado usando MySQL por un tiempo, probablemente sepa que elegir los tipos de datos correctos y optimizar su esquema son actividades realmente importantes. Hace algunos años, en Percona Live 2016, brindé una discusión introductoria sobre la revisión y optimización de esquemas. Aquí está el vídeo:

https://www.youtube.com/watch?v=O2QDT_JVB6w

Estaba pensando en esa discusión en el contexto de algunos de mis clientes actuales. Aunque había estado trabajando en implementaciones de bases de datos extremadamente grandes durante mi primer mandato en Percona, a menudo era más un caso atípico. Ahora, trabajar como Gerente de Consultoría Técnica con nuestros clientes más grandes es mucho más común.

El problema fundamental

Me gustaría ampliar mis pensamientos sobre el principio de «elegir el tipo de datos más pequeño que pueda» de mis diapositivas de 2016 a través de la lente de algunos de mis clientes de 2019. He dado un ejemplo de dos copias de la misma tabla (una tabla simple de 4 columnas, 3 índices con ~ 4 millones de filas), una con un bigint para la clave principal y otra con un int regular sin firmar para la clave principal:

En este ejemplo, hubo casi un 30 % de ahorro de espacio asociado con el uso del tipo de datos más pequeño. Obviamente, en la escala de 1 GB de espacio, esto es trivial. Un comentario que hice durante la discusión se refería al dicho «el almacenamiento es barato». Si bien esto puede ser cierto en cierta escala, veo que este pensamiento se desmorona con más frecuencia con mis clientes más grandes.

El problema magnificado a escala

Por ejemplo, uno de mis clientes maneja alrededor de 10 000 instancias de Percona Server en su implementación fragmentada. Estos servidores se ejecutan en bare metal con un hardware superior al promedio (debido a problemas de rendimiento). Si bien eso suena como muchos servidores (y ciertamente lo es), también debe tener en cuenta otras preocupaciones operativas como las copias de seguridad. Para facilitar las matemáticas, asumimos lo siguiente:

  • 5 sirvientes / fragmento
  • directorio de datos 500G
  • 5 copias de seguridad de cada fragmento (varios intervalos de tiempo, como diario, semanal, mensual)

Usando esos números como una estimación, uno debe mirar lo siguiente para el espacio:

  • ~ 4,7 petabytes de almacenamiento para instancias en ejecución (SSD)
  • ~ 6 petabytes de almacenamiento para respaldo (HDD)

El impacto comercial en las grandes implementaciones

De repente, a esa escala, el espacio del 30% que parecía trivial en mi ejemplo parece un poco más importante. Aquí hay algunos números basados ​​en el precio actual de $/TB de SSD y HDD giratorios con una reducción del 30 % en el espacio:

  • Ahorre SSD ~ $ 140,000
    • Costo $ 100 / TB
    • 30 % de 4,7 PB = 1,4 PB
  • Ahorre HDD ~ $ 46,000
    • Costo $ 25 / TB
    • 30% de 6 PB = 1,8 PB

El ahorro de 3 petabytes de almacenamiento reduce los costos de almacenamiento bruto en casi $ 200,000. Además de los costos de capital actuales de 3 PB de almacenamiento, debe considerar la cantidad de servidores, energía y mantenimiento (entre otros) que aumentarán significativamente este costo. Claramente, este es solo un ejemplo teórico del impacto potencial que un pequeño error, como la elección del tipo de datos incorrecto, puede tener en el costo general de la infraestructura de la báscula. En general, cuando una empresa alcanza esta escala, este tipo de optimizaciones ya están hechas y necesitamos comenzar a buscar más profundas y creativas en otras alternativas.

Si bien esto definitivamente es una simplificación excesiva del cálculo de los costos de almacenamiento en función de los precios del hardware sin procesar, plantea la pregunta: incluso si no parece importante en este momento, ¿por qué no asegurarse de que su esquema esté optimizado antes de que se convierta en un problema costoso de resolver?

Para obtener una visión más holística de cómo las optimizaciones como esta pueden ahorrarle dinero, consulte nuestra Calculadora de ahorro de administración de bases de datos o contáctenos para una revisión más detallada.

Author: Ing. Luis

A lo largo de conocer Windows y otros sistemas operativos me eh encontrado con diversos tipos de error, ahora brindo soluciones según mi experiencia-

Deja un comentario