En este artículo ya habíamos visto en forma general lo que debes hacer para que las operaciones con tus bases de datos sean lo más rápidas posibles:

https://firebird21.wordpress.com/2014/02/08/mejorando-el-rendimiento-de-las-bases-de-datos-1/

Ahora, iremos un poco más allá para detallar las características que debe tener el Hardware utilizado.

Recuerda que estamos hablando de un ideal, de lo que elegiríamos si el dinero no es problema, y pudiéramos pagar lo que sea para comprar el hardware y los honorarios del personal encargado de realizar las instalaciones. En la vida real muy raramente conseguiremos llegar a este ideal porque para la mayoría de las empresas el dinero sí es un problema.

Debes prever que casi todas las empresas van creciendo así que el hardware que instales no solamente debe responder a las necesidades actuales sino también para las que se tendrán dentro de los siguientes 3 años. ¿Por qué 3 años? Primero, porque no puedes estar pidiendo dinero para mejorar el hardware cada pocos meses, los gerentes se cansarán de tí, pero cada 3 años sí es razonable. Segundo, porque aunque ahora compres lo mejor de lo mejor es seguro que dentro de 3 años ya estará lejos de ser lo mejor y deberá renovarse. Esto significa que debes prever tanto los incrementos en los tamaños de las bases de datos como también el incremento en la cantidad de computadoras conectadas y el incremento en la cantidad de usuarios concurrentes y que tendrás muchas conexiones vía Internet.

Hardware

  1. La computadora donde se encontrarán las bases de datos debe utilizarse solamente para guardarlas y para nada más. Ningún software no relacionado con Firebird debería instalarse allí. Ni siquiera antivirus. Nada. Solamente el Sistema Operativo y el Firebird y las herramientas de administración del Firebird y las bases de datos. Nada más.
  2. Se necesitarán dos computadoras: una, la de uso normal, de todos los días. Otra, para que sirva de respaldo si la primera por algún motivo sufre desperfectos. Una empresa no puede detener sus operaciones porque la computadora donde se encuentra el Servidor de sus bases de datos se ha dañado. Eso es inadmisible. Por lo tanto, se necesitarán dos computadoras idénticas: una, que se usará todos los días; otra, que se usará solamente si la primera tiene problemas de hardware.
  3. Motherboard. En castellano “tarjeta madre” o “tarjeta principal”. Es la tarjeta más importante de la computadora, a esta tarjeta se conectan todas las demás. Debes comprar la más avanzada disponible, generalmente cuanto más nueva sea, mejor. Debes elegir una que sea “motherboard for server” porque para nuestro objetivo son mucho mejores que las “motherboard for desktop”.
  4. Procesador. Es el cerebro de la computadora. Los tres principales puntos a considerar son: a) Velocidad del reloj: Se mide en Gigahertz (GHz) y nos indica la velocidad con la cual se realizan las operaciones. Cuanto más rápido sea, mejor, porque la velocidad en que se obtienen los resultados de las consultas aumentará. b) Cantidad de núcleos o en inglés “cores”. Mayor cantidad es mejor porque cada núcleo se puede destinar a una tarea: por ejemplo, un núcleo para las operaciones normales con las bases de datos, otro núcleo para los ordenamientos temporales, otro núcleo para hacer los backups. Pero hasta el momento de escribir este artículo con Firebird nunca usarás más de 4 núcleos, así que tener más de 4 es innecesario y una pérdida de dinero. c) Tamaño del caché: cada núcleo tiene una memoria interna de muy alta velocidad a la cual se le llama “memoria caché”. Cuanto mayor sea el tamaño de la memoria caché, mejor, porque se podrán realizar más operaciones en ella, y esas operaciones son las más veloces que pueden realizarse en una computadora.
  5. Memoria RAM. Cuanto más, mejor. Hay un viejo dicho: “la memoria RAM nunca sobra”. Y es que tanto el Sistema Operativo como el Firebird tratan de aprovechar toda la memoria RAM disponible para realizar sus tareas. Cuando la cantidad de memoria RAM es insuficiente eso obliga al Sistema Operativo y al Firebird a utilizar el disco duro, el cual es miles de veces más lento que la memoria RAM. Si hay algo en lo cual no debes escatimar el dinero es en comprar memoria RAM. Siempre compra lo máximo que puedas comprar. Como mínimo deberías tener 4 veces más memoria RAM que el tamaño de todas tus bases de datos combinadas. Por ejemplo, si el tamaño de las bases de datos es de 3 gigabytes entonces tu memoria RAM debería ser al menos de 12 gigabytes. Pero como el tamaño de las bases de datos siempre va en aumento entonces debes tener suficiente memoria RAM para que dentro de 3 años cuando hagas la renovación sigas teniendo al menos 4 veces más memoria RAM que la suma del tamaño de todas tus bases de datos. Eso significa que si prevés que dentro de 3 años las bases de datos ocuparán 10 gigabytes ahora deberías tener al menos 40 gigabyes de memoria RAM.
  6. Disco duro. Los discos de estado sólido (SSD o SSHD) son los más rápidos de todos y además tienen la ventaja de que si se caen no habrá pérdida de datos. Sin embargo el problema con los SSD es que si fallan lo hacen sin previo aviso, un día funcionan perfectamente, al otro día murieron y no tuviste ninguna advertencia; otro problema con ellos es que el rendimiento depende del espacio libre, cuanto más lleno está el disco SSD más lento es, por eso son una maravilla cuando están casi vacíos pero cuando están casi llenos dejan mucho que desear. La conexión a través de PCI Express alcanza velocidades de más de 1 GB por segundo, por lo tanto es mucho más rápida que la conexión por SATA que no suele sobrepasar los 600 MB por segundo y en consecuencia debe ser la elegida,
  7. RAID. Son las siglas de Redundant Array of Independent Disks. Lo que hace es tener a varios discos (duros o SSD) y tratarlos lógicamente como si fueran uno solo. Es decir, para el Sistema Operativo hay un solo disco pero en realidad hay varios. Los datos se escriben en varios discos a la vez para que si ocurre un error en alguno de ellos los usuarios ni se enteren ya que cualquier dato que necesiten se obtendrá de los otros discos. En síntesis, cuando se escribe la escritura se realiza en todos los discos pero cuando se lee se intenta con el primer disco, si la lectura falló, se intenta con el segundo disco y así sucesivamente. Desde luego que si alguno de los discos está fallando el rendimiento disminuye pero la ventaja de tener RAID es que se puede reemplazar al disco defectuoso por uno nuevo sin detener las operaciones con las bases de datos.
  8. Tarjeta de red. Esta es una de las piezas más importantes de cualquier red LAN porque se encarga de administrar el tráfico entre el Servidor y las demás computadoras. No importa cuan rápido sea el disco ni cuanta memoria RAM tengas, si las tarjetas de red son lentas entonces todo será lento ya que todos los datos pasan por ellas. Como mínimo debería ser de 1000 Mbits por segundo.
  9. Fuente de poder. Un Servidor hace un uso súper intensivo del todo el hardware que tiene a su disposición así que debes considerar que los usará a todos al mismo tiempo. Por ejemplo, cada disco del RAID utiliza una cantidad “x” de vatios cuando está en uso. No te olvides de sumar el consumo en vatios de todos los dispositivos conectados. Al total que obtengas agrégale un 20% y con eso ya estará bien.
  10. Router. Además de cuanto más rápido, mejor, también debes verificar que soporte DHCP. Esto permite asignarle a cada computadora de la LAN una dirección IP estática y así siempre sabrás cual es la dirección IP de cada computadora. También que soporte VPN (Virtual Private Network), lo cual es muy útil para que cuando alguien se conecte a través de una notebook esa conexión sea segura. Por supuesto que debe ser full-duplex porque eso dobla la velocidad de transferencia de los datos
  11. Cable de red. El más rápido (al momento de escribir este artículo) es el Cat6a (significa: Categoría 6 aumentada) que permite velocidades superiores a los 10 Gbits por segundo y frecuencias de 500 MHz. La longitud nunca debe ser superior a los 100 metros.
  12. Firewall por hardware. Los firewall pueden ser por hardware o por software. En el caso de una empresa debería ser por hardware porque un solo firewall protege a todas las computadoras de la empresa y además es mucho más sencillo de mantener y de administrar.

Otro punto muy importante a tener en cuenta: la computadora Servidor jamás debe tener conexión directa a Internet porque eso solamente puede producir problemas y ningún beneficio. Por lo tanto, si se necesita acceder a Internet debe hacerse por medio de otra computadora, nunca por medio de la computadora donde se encuentra el Servidor del Firebird.

Artículos relacionados:

Mejorando el rendimiento de las bases de datos (1)

El índice del blog Firebird21