Доступ к большому словарю

Доступ к большому словарю

Допустим, у меня есть 250 000 словарных статей, разделенных на столько же файлов. Каждый файл начинается со строки, содержащей заглавное слово. Вместе они занимают 2 ГБ. Как лучше всего организовать информацию, чтобы я мог легко и быстро найти слово? Стоит ли мне создавать подкаталоги abc и т. д.? Стоит ли мне объединять несколько файлов в более крупные файлы?

решение1

Вы не говорите много о том, что вы пытаетесь сделать, или что это за данные, но вот моя идея — которая предполагает, что все слова уникальны. Вы не говорите, что вас беспокоит эффективное использование дискового пространства.

Файловая система Ext4. Храните каждое слово в отдельном файле в одном большом каталоге. Позвольте файловой системе найти их для вас — очень просто для вас (просто откройте нужный файл по имени), а файловая система имеет эффективный метод поиска файлов.

Вам необходимо убедиться, что в вашей файловой системе достаточно свободных инодов — по одному на файл, то есть вам понадобится 250 000 свободных: du -i.

Избегайте выполнения lsдругих действий, требующих перечисления файлов (например, открытия их в файловом браузере), и производительность будет хорошей.

решение2

Если это словарь, например словарь Python, преобразуйте его в JSON и сохраните в MongoDB или какой-либо реализации NoSQL и получите к нему доступ из базы данных.

Связанный контент