Size: a a a

2020 May 26

НА

Николай Алиферов... in Laravel Pro
Egor Gruzdev
Коллеги, прошу посоветуйте хранилище для временных (не постоянных) данных.
Кейс такой:
1) пользователь отправляет запрос, в ответ получает идентификатор поиска
2) система запускает фоновые поисковые механизмы и заполняет хранилище
3) пользователь имея на руках идентификатор поиска, на основе его постепенно забирает данные, которые формируют поисковые сервисы
—-
получается что-то вроде асинхронного поиска
* - пользователь в данном случае это внешний сервер общающийся с текущим через api
—-
можно mysql но т.к. данные имеют не постоянных характер, то при  InnoDB база пухнет как на дрожах, можно конечно партишин использовать (и делать truncate по партишин), но может есть более подходящии для этого хранилища, с фукнцией фильтрации резульататов и лимитирования отдачи и очистки без остаков мусора
можно конечно и mysql myisam, но как то это все "старо" да и деприкейтед в 8.0
mysql пухнет как на дрожжах от чего и что это означает? cpu, утилизация диска, места не хватает?
источник

GY

Google Yandex in Laravel Pro
добрый деннь
источник

EG

Egor Gruzdev in Laravel Pro
DK
*запихать всё в редис* (нет)
как вариант да, вопрос, что делает redis кода ему не хватает памяти все держать, но сбрасывает на диск? если да то по какому принципу?
источник

GY

Google Yandex in Laravel Pro
ребята сложно ли создать API ?
источник

D

DK in Laravel Pro
Google Yandex
ребята сложно ли создать API ?
источник

GY

Google Yandex in Laravel Pro
спасибо
источник

НА

Николай Алиферов... in Laravel Pro
Egor Gruzdev
как вариант да, вопрос, что делает redis кода ему не хватает памяти все держать, но сбрасывает на диск? если да то по какому принципу?
вряд ли подойдёт, если много данных в поиске
источник

EG

Egor Gruzdev in Laravel Pro
Николай Алиферов
mysql пухнет как на дрожжах от чего и что это означает? cpu, утилизация диска, места не хватает?
данных за поиск примерно 10-50 мб., после удаления место не очищается, если не делать truncate, особенность InnoDB
источник

D

DK in Laravel Pro
Egor Gruzdev
как вариант да, вопрос, что делает redis кода ему не хватает памяти все держать, но сбрасывает на диск? если да то по какому принципу?
у него там 2 варианта записи же
источник

D

DK in Laravel Pro
"бекапы" и лог действий
источник

D

DK in Laravel Pro
вроде старые удаляет из памяти
источник

EG

Egor Gruzdev in Laravel Pro
DK
"бекапы" и лог действий
хорошо, спс за направление, гляну, я так не углублялся, в основном для queue используется и так немного кэширования
источник

НА

Николай Алиферов... in Laravel Pro
Egor Gruzdev
данных за поиск примерно 10-50 мб., после удаления место не очищается, если не делать truncate, особенность InnoDB
а если делать? не успеваешь удалять старое и место заканчивается?
источник

НА

Николай Алиферов... in Laravel Pro
пытаюсь проблему понять просто
источник

НА

Николай Алиферов... in Laravel Pro
редис быстрее, но это in-memory в любом случае. и если одноврменно много поисков с разными данными, то в своп уедешь
источник

D

DK in Laravel Pro
Николай Алиферов
редис быстрее, но это in-memory в любом случае. и если одноврменно много поисков с разными данными, то в своп уедешь
сильно просядет если уедет в swap?(если он на ssd к примеру)
источник

EG

Egor Gruzdev in Laravel Pro
Николай Алиферов
пытаюсь проблему понять просто
особо проблем нет, попытка найти подходящее хранилище, использование mysql в лоб (без партишин) приводит к невозможности осовобождения места на диске из под старых данных, без пересоздания таблицы целиком
поэтом если mysql то партишин с привязкой к дням и партишин старше 3 дней делать truncate
или взять чтот-то более подходящее, redis, elasticserch, может еще что-то
источник

НА

Николай Алиферов... in Laravel Pro
DK
сильно просядет если уедет в swap?(если он на ssd к примеру)
хз, надо проверять, насколько это лучше решения с базой
источник

D

DK in Laravel Pro
а насколько важны данные? если например редиска упадёт
источник

D

DK in Laravel Pro
да и эластик не бесконечный же,не?
источник