Я только что получил большой набор текстовых файлов (всего 8 ГБ), содержащих все диапазоны адресов в США. Набор состоит из:
929 файлов ZIP+4, каждый из которых содержит почтовые адреса с уникальным трехзначным почтовым индексом. Например, файл 606 будет содержать только адреса с пятизначным почтовым индексом, начинающимся с 606. Общее количество записей в этих файлах составляет примерно 30 миллионов.
Файл City State, содержащий полный список почтовых индексов и соответствующих им городов и штатов.
Ключ города-штата можно использовать для присоединения файла города-штата к файлам ZIP+4.
Учитывая размер базы данных и отсутствие у меня опыта, я хотел получить некоторое представление, прежде чем начинать эту работу. Должны ли файлы ZIP+4 быть объединены в один файл-монстр, а затем проиндексированы с использованием почтового индекса или разделены трехзначным почтовым индексом, чтобы имя файла с трехзначным почтовым индексом можно было использовать в качестве критерия сопоставления блоков? Если последнее, то не будет ли это иерархической моделью базы данных? Могу ли я согласовать отношения с файлом City State, используя иерархическую модель?
Приведенное выше описание набора данных является огромным упрощением, но для целей этого вопроса подробное описание не требуется. Полное описание можно найти здесь.
Я использую Python и еще не выбрал СУБД. Любая помощь приветствуется!