• Способ хранения для 2 млн. записей

    Kindman
    @Kindman
    На самом деле поставленная задача распадается на несколько более мелких подзадач:
    1) хранение 2 миллионов доменных имен.
    2) генерация неповторяющейся последовательности из 2 миллионов псевдослучайных чисел.
    Нужно так же еще одно уточнение:
    «доменные имена» в самом хранилище должны быть уникальными, или могут повторяться?
    Другими словами, могут ли одному доменному имени соответствовать два и более трех-байтовых числа одновременно?
    и, допускаются ли «пустые» значения для доменного имени?
    Ответы на эти вопросы очень сильно влияют на размер памяти.
    Ответ написан
    2 комментария
  • Способ хранения для 2 млн. записей

    Т.е. я так понимаю, оно пополняться не будет? Если нет — то можно сделать свой велосипед на основе flat файлов с фиксированными длинами полей. Будет быстрая выборка обычными seek. По необходимости [s]присыпать солью[/s] разбить на группы по N записей и хранить в отдельных файлах, именованных согласно (id / N), таким образом файловая система будет частично решать вопросы случайного поиска. Если еще дальше развивать идею, можно попробовать еще разбить по папкам (как например хранит кеш squid).

    А если же это дело будет регулярно изменяться, то лучше SQL ничего не придумать. 2 Млн записей — не так уж много, тем более что не нужно по ключам выбирать.
    Ответ написан
    2 комментария