Eu uso o gridfs no trabalho em um de nossos servidores, que faz parte de um site de comparação de preços com estatísticas de tráfego honrosas (cerca de 25 mil visitantes por dia). O servidor não tem muita ram, 2gigs, e até mesmo a cpu não é muito rápida (Core 2 duo 1.8Ghz), mas o servidor tem bastante espaço de armazenamento: 10Tb (sata) na configuração raid 0. O trabalho que o servidor está fazendo é muito simples:
Cada produto em nosso comparador de preços tem uma imagem (há cerca de 10 milhões de produtos de acordo com nosso banco de dados de produto), e o trabalho dos servidores é baixar a imagem, redimensioná-la, armazená-la no gridfs e entregá-la ao navegador do visitante. .. se não estiver presente na grade ... ou ... entregue ao navegador do visitante se já estiver armazenado na grade. Portanto, isso poderia ser chamado de 'esquema cdn tradicional'.
Armazenamos e processamos 4 milhões de imagens neste servidor desde que ele está instalado e funcionando. O redimensionamento e armazenamento são feitos por um script php simples ... mas com certeza, um script python ou algo como java poderia ser mais rápido.
Tamanho de dados atual: 11,23g
Tamanho de armazenamento atual: 12,5g
Índices: 5
Tamanho do índice: 849,65 m
Sobre a confiabilidade: Isso é muito confiável. O servidor não carrega, o tamanho do índice está ok, as consultas são rápidas
Sobre a velocidade: Com certeza, não é rápido como o armazenamento local de arquivos, talvez 10% mais lento, mas rápido o suficiente para ser usado em tempo real mesmo quando a imagem precisa ser processada, o que no nosso caso é muito dependente do php. Os tempos de manutenção e desenvolvimento também foram reduzidos: ficou muito simples excluir uma ou várias imagens: basta consultar o banco de dados com um simples comando de exclusão. Outra coisa interessante: quando reinicializamos nosso servidor antigo, com armazenamento local de arquivos (tantos milhões de arquivos em milhares de pastas), às vezes ele trava por horas porque o sistema estava realizando uma verificação de integridade de arquivos (isso realmente levou horas ...). Não temos mais esse problema com o gridfs, nossas imagens agora são armazenadas em grandes blocos mongodb (arquivos 2gb)
Então ... na minha cabeça ... Sim, o gridfs é rápido e confiável o suficiente para ser usado na produção.