Quanto grande può DETS Erlang essere e cosa fare se troppo piccolo?
Domanda
Tutto quello che serve è una grande tabella di ricerca persistente in Erlang e dets sembra la cosa giusta anche se ho bisogno di una risposta definative a:
- quanto grande sia la dimensione totale dei file binari nella tabella può essere.
- quanto grande ogni voce può essere
- che cosa fare se la risposta alla prima domanda è inferiore a 100G
Soluzione
Un approccio ovvio, una volta che si è pensato, è quello di hash dets voci oltre più file dets.
Un hash lineare dovrebbe rendere più dinamico growable, dai secchi suddivisione in file dets appena creati quando un file raggiunge una soglia superiore.
Ci sono anche una serie di driver di porta che consentono di utilizzare Sleepycat / Berkely DB o Tokyo tyrrant. Quei database hanno limiti di file che sono molto più elevati rispetto a 2 GB.
Altri suggerimenti
Questa è una specie di una questione RTFM. Come citato direttamente nel secondo paragrafo della dets manuale :
La dimensione dei file dets non può superare i 2 GB. Se sono necessari tavoli più grandi, tavolo frammentazione di mnesia può essere utilizzato.
utilizzando dic_copies mnesia frammentati in grado di superare questi limiti a condizione di sapere quanti frammenti di cassa prima del tempo
http://www.trapexit.org/Mnesia_Table_Fragmentation