Existem algumas considerações que você deve levar em conta (e que não são aparentes no seu post). Estes incluem -
-
Você quer o máximo de RAM possível - idealmente o suficiente para ajustar todo o conjunto de dados na memória.
-
Se você estiver fazendo um número significativo de gravações e / ou seus dados não couberem totalmente na memória, você precisará do disco mais rápido possível - não sei o tamanho do seu conjunto de dados, mas RAIDED SSDs PCI-E são uma boa ideia - como você fala sobre ser "missão crítica". Sim, não há problema em colocar um banco de dados no SSD - apenas orçamento para substituí-los a cada 5 anos ou mais.
-
Você mencionou um "servidor de desktop". Eu não acredito que este termo exista - é um desktop, estação de trabalho ou servidor. Espero que você queira dizer um Servidor no que era conhecido como um caso de desktop / fator de forma - se esse for o caso, eu sugeriria algo que se encaixaria em seu lado em 4u - o que é bastante fácil de encontrar se você souber procurar para isso. Naturalmente, a maioria dos casos de desktops tem apenas 1 PSU - o que pode ser um problema para confiabilidade e disponibilidade - os servidores de missão crítica geralmente têm 2 PSUs em 2 fases diferentes.
-
Um grande número de (núcleos mais lentos) é provavelmente melhor que os mais rápidos, mas isso dependerá do seu banco de dados e até mesmo do tipo de consultas (por exemplo, o Postgres 9.5 não dividiria uma única consulta complexa entre vários núcleos - mudando para o Postgres 9.6, resultando em um aumento de velocidade próximo a linear em algumas consultas únicas com mais núcleos - portanto, verifique seu banco de dados). Da mesma forma, você deve realmente observar a fragmentação de seu banco de dados para que seja menos um gargalo e possa implantar servidores adicionais conforme necessário.
-
Se a sua missão crítica, você também precisa considerar a replicação - e uma vez que você está indo por esse caminho, pode (ou não) fazer sentido ter um servidor fazendo leitura-escrita, e o outro sendo um read-write. somente escravo - e modificando seu aplicativo para tirar proveito disso. Novamente - eu me pergunto se "missão crítica" foi a palavra correta para descrever seu uso.
-
Como um aparte - você precisa considerar "Meltdown" e seu desempenho. O desempenho do banco de dados pode sofrer 20-30% se você adicionar mitigações a ele. Se você não está mitigando - você precisa estar ciente - e gerenciar os riscos (ou seja, certifique-se duplamente de que é impossível executar código arbitrário nele - incluindo garantir que não há como fazer um ataque de injeção SQL)
Apesar do que os outros disseram, se as suas consultas forem simples o suficiente, é possível fazer 5000 consultas por segundo - veja link