[Apresentação] Servidor Techzone

Já agora pergunto, é possível carregar a base de dados inteira** para a memória RAM (desde que tenha RAM suficiente para tal)? de modo a acelerar o acesso ao fórum, estando os discos apenas como "storage"?

**Ou pelo menos os dados mais recentes.

Podes sempre por a BD a correr na memoria para o computador, existem programas que te criam uma drive virtual na memoria do computador, so tens que por la dados, como se fosse um HDD normal.
 
Já agora pergunto, é possível carregar a base de dados inteira** para a memória RAM (desde que tenha RAM suficiente para tal)? de modo a acelerar o acesso ao fórum, estando os discos apenas como "storage"?

O armazenamento em RAM de uma base de dados pressupõe a sua completa destruição caso exista um crash da máquina. Ou seja, bases de dados alojadas em RAM, são quase dois conceitos que raramente poderão estar juntos, salvo pequenas excepções.

Criar um ramdisk não será a forma ideal para armazenar tabelas em RAM, não só porque não permite por exemplo correr uma base de dados com tabelas que utilizem sistemas mistos de armazenamento, como também não beneficia de todas as optimizações resultantes dos indexes por exemplo, criados nas tabelas. O próprio MySQL dispõe de um tipo de armazenamento chamado HEAP, que cria tabelas na RAM, que, embora beneficiem de toda a organização de dados e velocidade conferida por esta prática, resulta na perda total de dados em caso de falha da máquina. É um método usado para dados pouco importantes, como armazenamento de informações de sessões por exemplo.

Existe um método de armazenamento, alternativo ao MyISAM, que faz uso um pouco das potencialidades da RAM, o InnoDB. Este cria uma espécie de buffer na RAM, e permite, inclusive, o acesso concorrente sem necessidade de locks às tabelas, o que beneficia bastante em SELECTS. Para o fórum, grande parte das tabelas terão de ficar em MyISAM ou InnoDB.

Existe ainda um método bastante mais avançado, o NDB, que funciona um pouco como o RAID10, mas server level. No fundo existe o striping e mirroring de informação entre diversos nodos, que mantêm as tabelas em memória. É como se fosse o método HEAP ainda mais rapido, e com redundância de dados =)

Por isso mesmo destroyer... o mais próximo que deverás ver de armazenamento de bases de dados em RAM, serão os discos SSD :P
 
Não me querendo desviar do tópico, e pegando no que o destr0yer disse, não seria possível carregar a BD toda na RAM, mas fazer com que sempre que são gravados dados, são gravados no disco E a BD da RAM é actualizada em tempo real, mas os SELECTS vão buscar tudo à RAM?
Desta forma, é tudo gravado no disco, mas fica-se com um "mirror" na RAM, e enquanto que as alterações são feitas tanto no disco como na RAM, os SELECTS vão todos buscar os dados da RAM.

Acho que o problema que se colocaria aqui era ter as duas BDs sincronizadas, mas como estou apenas a idealizar, acho que se podem dar largas à imaginação :P
 
Não me querendo desviar do tópico, e pegando no que o destr0yer disse, não seria possível carregar a BD toda na RAM, mas fazer com que sempre que são gravados dados, são gravados no disco E a BD da RAM é actualizada em tempo real, mas os SELECTS vão buscar tudo à RAM?
Desta forma, é tudo gravado no disco, mas fica-se com um "mirror" na RAM, e enquanto que as alterações são feitas tanto no disco como na RAM, os SELECTS vão todos buscar os dados da RAM.

Acho que o problema que se colocaria aqui era ter as duas BDs sincronizadas, mas como estou apenas a idealizar, acho que se podem dar largas à imaginação :P

nesse caso, irias ter tudo a funcionar mais rapido na RAM, e a ser copiado, de forma relativamente lenta, para o HDD.
se o uso for intensivo, ficas com uma serie de copias em lista de espera para o HDD... e no pior caso, isto dá barraca (potencialmente).

o disco rigido é o elo mais fraco, vai ser limitador da performance de um mirroring...
como disse o marsupillami, a solução deverá sempre passar pelos SSD
 
100Mbits/s = 100000 Kbits/s

Maior número de users online: 2124 em 24-09-2007 às 21:52.

100000/2124= ~47.08 Kbits/s

Ou seja, mesmo que todos os utilizadores que já estiveram online ao mesmo tempo estivessem a fazer request simultaneamente (bastante improvável), ainda existiriam teoricamente 47.08 Kbits/s de largura de banda para cada um (tendo em conta apenas a largura de banda da interface de rede). Parece-me aceitável...
 
epa...
esse bixo carrega com tds os nossos posts??
uiii boa maquina para boincar :p:p
realmente as ventuinhas uiii
isso ta onde em casa de alguem ou mesmo la na empresa(visual-fusion se nao me engano se tver errado corrigam sff)
 
Última edição:
epa...
esse bixo carrega com tds os nossos posts??
uiii boa maquina para boincar :p:p
realmente as ventuinhas uiii
isso ta onde em casa de alguem ou mesmo la na empresa(visual-fusion se nao me engano se tver errado corrigam sff)

Já foi aqui dito que está num datacenter ;)

Ou achas que algum de nós tem 100mbps simétricos de net em casa? Antes tivéssemos todos....
 
epa...
esse bixo carrega com tds os nossos posts??
uiii boa maquina para boincar :p:p
realmente as ventuinhas uiii
isso ta onde em casa de alguem ou mesmo la na empresa(visual-fusion se nao me engano se tver errado corrigam sff)
O fórum já não está alojado na Visual-Fusion. Para além daquela manutenção se ter devido a uma mudança de servidor, também mudaram completamente de empresa de alojamento. [se eu estiver errado, corrijam-me :P ]
E se reparares, já não há publicidade à VF no logotipo ;)

edit - vê o post inicial deste tópico: http://www.techzonept.com/showthread.php?t=195811
 
Última edição:
Back
Topo