Ответы пользователя по тегу C
  • Как хранить и искать в 10 миллиардах записей?

    darkdimius
    @darkdimius
    Для подобных задач иногда подходит такая идея: разделить базу на части(пакеты), и запросы к ним делать независимо, и потом объединять результаты
    Например — отдельно хранить данные за последние дни с воскресения по пакету на один день, раз в 7 дней объединяя всю базу в один пакет.

    Если нужен поиск по ключу — обращаться к пакетам в порядке возрастания «возраста» базы.
    Если нужны отсортированные данные — то после поиска нужно данные «слить» с перекрыванием более старых записей новыми.

    Более умная стратегия — объединять пакеты по степенному закону. Те пакеты бывают только на 2^i дней.
    Ответ написан
    Комментировать