Насколько большим может быть Erlang DETS и что делать, если он слишком мал?

StackOverflow https://stackoverflow.com/questions/1768404

  •  21-09-2019
  •  | 
  •  

Вопрос

Все, что мне нужно, это большая таблица постоянного поиска в Erlang, и dets кажется как раз тем, что нужно, хотя мне нужен окончательный ответ на:

  • насколько большим может быть общий размер двоичных файлов в таблице.
  • насколько большой может быть каждая запись
  • что делать, если ответ на первый вопрос составляет менее 100 г
Это было полезно?

Решение

Один очевидный подход, если о нем подумать, заключается в хэшировании записей det по нескольким файлам det.

Линейный хэш должен делать его динамически растущим, разбивая сегменты на вновь созданные файлы det, когда один файл достигает верхнего порога.

Существует также ряд драйверов портов, которые позволяют вам использовать sleepycat / berkely db или tokyo tyrrant.Эти базы данных имеют ограничения по объему файлов, которые намного превышают 2 ГБ.

Другие советы

Это своего рода вопрос RTFM.Как указано непосредственно во втором абзаце Руководство по DETS:

Размер файлов Dets не может превышать 2 ГБ.Если необходимы таблицы большего размера, можно использовать фрагментацию таблиц Mnesia.

использование mnesia fragmented dic_copies может преодолеть эти ограничения при условии, что вы заранее знаете, сколько фрагментов нужно собрать
http://www.trapexit.org/Mnesia_Table_Fragmentation

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top