В настоящее время дизайн моей базы данных не нормализован.
Когда пользователь посещает веб-сайт, все данные, такие как полное имя браузера, имя ОС и т. Д., Сохраняются. Это приводит к очень быстрому росту базы данных со скоростью около 10 ГБ в день, когда всего 2 миллиона человек в день (2 миллиона вставок в день). Однако это только означает, что для данных существует только одна вставка. Я использую mysql и php.
Теперь, что мне было интересно, было бы быстрее, если бы я нормализовал данные. Я имею в виду создание отдельных таблиц для имени ОС и идентификаторов ОС, имени браузера и идентификатора браузера. Затем используйте идентификаторы в таблице журнала трафика.
В этой ситуации будет два поиска в таблице браузера и таблице os для идентификаторов, и если они не существуют, то две вставки, а затем еще одна вставка с идентификатором браузера и идентификатором ОС в таблице журнала трафика. Таким образом, 2 выбора и 2 потенциальных вставки и 1 набор вставок.
Какой из них, вероятно, будет быстрее. Также есть какие-то другие опции для файлового подхода для хранения операционной системы и т. Д., Или, может быть, сохранить все возможные браузеры, операционную систему в массивах, а затем вставлять только в том случае, если у посетителя есть один из этих браузеров, или операционная система просто вставляет их как нет.