Выбор правильного формата данных / базы данных для 20 миллиардов записей - PullRequest
0 голосов
/ 21 февраля 2019

Я рассматриваю возможность хранения 40 миллиардов записей в структуре на основе словаря в Python.

Существует около 30 миллионов ключей первого уровня, в общей сложности 20 миллиардов детей.Один ключ первого уровня может иметь до нескольких миллионов дочерних элементов, поскольку они распределены неравномерно.

Ограничения:

  • Нет операций записи после создания базы данных
  • Должно быть возможно одно чтение за 10 секунд (задержка должна быть меньше одной минуты)
  • База данных должна храниться на быстром диске и не использовать более 4 ГБ памяти

Во времяВ поисках правильного решения я предложил sqlite3 и shelve, но также нашел разные аргументы против этих инструментов.

Как для sqlite3, так и для shelve я должен сохранить полный ключ / первый уровень в памяти, что можетпревышен предел памяти в 4 ГБ.

...