[Erlang] Крупные структуры данных
От: Mamut Швеция http://dmitriid.com
Дата: 18.09.07 15:41
Оценка:
На форуме проекта "Erlang по-русски" был задан следующий вопрос:

http://erlang.dmitriid.com/forum/topic/11

Мне надо обрабатывать очень большой массив однотипных структур — всего их порядка 60 миллионов. Каждая структура вида {PID, type (atom), direct (atom), index (Integer), nextind (Integer), prevind (Integer), position (Integer)}. Я думаю такая структура займёт около 50 байт, и того на весь массив надо 60 * 50 = 3 ГБ. А это значит массив желательно должен частично сбрасываться на диск. Плюс нужен быстрый доступ по полям PID, index, nextind, prevind: время поиска нужной структуры по этим полям должно составлять около 2 мкс, время их записи — столько же. Запись и чтение часто идёт в одни и те же структуры (обчно их всего около 30 000, остальные просто ждут). Вопрос: как мне организовать такой массив?


Максимум, что я могу посоветовать — это использовать (d)ets или mnesia, на более развернутый ответ силенок не хватает. Помогите, а?


dmitriid.comGitHubLinkedIn
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.