Quão grande pode ser Erlang deters e o que fazer se for muito pequeno?
Pergunta
Tudo o que preciso é de uma grande tabela de pesquisa persistente em Erlang e Dets parece que a coisa, embora eu precise de uma resposta definitiva para:
- Quão grande pode ser o tamanho total dos binários na tabela.
- Quão grande pode ser cada entrada
- O que fazer se a resposta para a primeira pergunta for menor que 100g
Solução
Uma abordagem óbvia, uma vez que se pensa é, é hash de entradas de Dets sobre vários arquivos Dets.
Um hash linear deve torná -lo dinamicamente cultivável, dividindo baldes em arquivos Dets recém -criados quando um arquivo atingir um limite superior.
Existem também vários drivers de porta que permitem usar o Sleepycat/Berkely DB, ou Tokyo Tyrrant. Esses bancos de dados têm limites de arquivo muito maiores que 2 GB.
Outras dicas
Esta é uma espécie de pergunta rtfm. Conforme citado diretamente no segundo parágrafo do Manual Dets:
O tamanho dos arquivos DETS não pode exceder 2 GB. Se forem necessárias tabelas maiores, a fragmentação da tabela da mnesia pode ser usada.
O uso de mnesia fragmentado dic_copies pode superar esses limites, desde que você saiba quantos fragmentos se envolvem antes do tempo
http://www.trapexit.org/mnesia_table_fragmentation