Как лучше хранить данные в базе
Есть веб-приложение по укорачиванию ссылок, где можно зарегистрироваться и укоротить ссылку, а после и посмотреть связанную с переходами по ней статистику. И возникла задача, как организовать базу данных:1)сделать таблицу юзеров,2)сделать таблицу ссылок,где у каждой будет user_id,3)сделать таблицу статистики для каждой ссылки,которая будет ссылаться по url_id. ИЛИ 1)таблица юзеров 2) таблица так называемой корзины для юзера,как в интернет-магазине,а потом вся та же таблица ссылок и таблица статистики по каждой.
Ответы (1 шт):
Видится мне, что первый вариант разумнее. Корзина как то даже по смыслу не укладывается в задачу, а потом еще и разработку усложнит скорее всего по логике. А вообще.... Я думаю, вам следует подумать над использованием не таблиц, а БД в стиле key-value. Например, Redis, где организовать ключи "иерархически" (там есть подход через :) и вести статистику там, просто инкрементируя значения ключа. В нем же и "корзина" не понадобится, потому как есть поддержка TTL, ключи сами будут "умирать" (удалятся), когда проходит определенное время, если нужно (ну если я правильно понял смысл корзины). И работать это будет быстрее шустрее, чем SQL. Хотя подход к структуре поменять придется кардинально, да.