rPman, наверно главным образом это анализ торговых цепочек. Кто закупал, что закупал, даты, типы товаров, поставщики. Не уверен правда что тут прям граф что-то облегчит принципиально по сравнению с таблицами, но я с графами еще не работал к сожалению
Спасибо большое за развернутый ответ! Ситуация такая. Данных много. Более 100GB. В 90% случаев идет запрос на выборку за последние даты, однако в 10% случаев нужен полный анализ всей БД, чтобы исторический анализ цен и групп товаров провести.
Основной паттерн доступа -- чтение.
Akina, Сейчас производится парсинг данных.Данных много. Могут появляться новые секции.
Соответственно у меня идет десятки тысяч вставок в час. Если делать доп-проверки есть ли нужная запись в справочнике это сильно снизит производительность. Как можно в моем случае нормализовать структуру?
Обычно запросы сводятся к выбору файлов для обработки по условию:
WHERE date>= '2018' AND data <= '2020' and status = NULL LIMIT 1000
Поиск по имени файла не производится. file_name не уникален
ID НЕ уникальный.
В процессе обработки у данных статус меняется т..е. понемногу status будет из NULL превращаться в succcess. Но возможны случаи когда он будет выставлен в pending или failed
Melkij, запросы просто просто на выборку file_name по разным условиям. Иногда нужно делать COUNT(*).
Даты пишутся более менее последовательно по возрастанию. Про распределение данных не совсем понял.
И вообще я правильно делаю что регистрирую вcе в main?