@dump004213

Как лучше реализовать БД?

Есть 35 млн. html файлов из них мне нужно создать базу MySQL.

В итоге в БД нужно занести:
- ID
- Имя
- Фамилия
- Отчество
- Дата рождения
- Место рождения
- Место проживания

Посоветуйте какую структуру БД сделать? Так как как в итоге мну нужно будет делать поиск почти по всем полям. Кажется мне, что если запихнуть все в одну таблицу - нормальный, рабочий, быстрый поиск по БД сделать не получится.

Как лучше всего сделать? Спасибо.
  • Вопрос задан
  • 321 просмотр
Пригласить эксперта
Ответы на вопрос 6
maaGames
@maaGames
Погроммирую программы
ФИО в три отдельные таблицы - имена и отчества часто повторяются. Фамилии просто для единого стиля.
Дату безусловно в отдельную таблицу. 35млн / (365*100). На 100 лет по 1000 человек в день рождалось. На самом деле распределение не равномерное и выигрыш по скорости/памяти будет больше.
Место рождения и место проживания скорее всего не две таблицы, а гораздо больше (есть смысл отдельно хранить города, улицы, дома).
Ну и таблица с ID индивида, содержащая индексы всех его ФИО и прочего. Эту таблицу можно проиндексирвоать по всем столбцам для быстрого поиска.
Простенькая реляционная база данных получается.
Ответ написан
@Nc_Soft
В одну таблицу, это же одна сущность.
Ответ написан
LenovoId
@LenovoId
svg, css,js
на очень крупных проектах почти всё в одной таблице ...
я могу ошибаться _ SQL не мой конёк
Ответ написан
Комментировать
@karminski
Senior React.JS Developer
Если место рождения и проживания - строка, то храните всё в одной таблице. И постройте правильно индексы. Будет вам быстрый поиск. Если же вам хочется хранить адреса по частям (страна, город, индекс и т.п.) - лучше их класть в отдельную таблицу + сделать таблицу связывания.
Ответ написан
Комментировать
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
а посмотрите на ELK. вполне может оказаться, что NoSQL тут окажется быстрее.
Ответ написан
@electronik777
Таблицы
1)Страна
2)Город
3)Улица
4)ФИО+Дата рождения+id Страны рождения+ id Город рождения+ id Улицы рождения+Дом рождения+Корп рождения+Кв рождения+ id Страны проживания+ id Город проживания+ id Улицы проживания+Дом проживания+Корп проживания+Кв проживания

Причём корпус нужно делать string полем
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы