powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / БД для очереди задач
12 сообщений из 12, страница 1 из 1
БД для очереди задач
    #38392305
itstrue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Каким образом можно организовать очередь задач, не используя SQL базу?

Есть вполне конкретная задача, учет показов, т.е. надо сложить показ куда-то в легкое временное хранилище на первом сервере, а потом постфактум по крону перенести и посчитать в MySQL на втором сервере.

Сейчас сервер 1 кладет показ в сервер 2 в MySQL в таблицу типа MEMORY, но этот вариант нас не устраивает, необходимо полностью изолировать первый и второй сервер.

Пробовали Memcached приспособить для этих целей, но во-первых есть лимит по размеру одного ключа, а если хранить по схеме 1 ключ = 1 показ, то надо где-то хранить карту индексов, а эта карта может разрастаться в пиковые часы и опять же не влезть в key-value БД по лимиту, плюс карта из-за мгновенно доступа может вымываться.

В общем, интересует какое-нибудь легкое хранилище или модуль к мемкэшу, в общем простое решение без экзотики.

Кто что посоветует?
...
Рейтинг: 0 / 0
БД для очереди задач
    #38392323
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очередь сообщений - JMS.
...
Рейтинг: 0 / 0
БД для очереди задач
    #38393052
itstrue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Потестили сегодня RabbitMQ и как-то не очень обнадежило:

1. Громоздко.
2. Медленно.
3. Кушает CPU и память.
4. При вставке от 1 млн строк начинаются проблемы.

Может быть есть какие-то решения полегче?
...
Рейтинг: 0 / 0
БД для очереди задач
    #38393364
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
itstrueДобрый день.

Каким образом можно организовать очередь задач, не используя SQL базу?

Кто что посоветует?

Написать самому ;-)

Например:
Java + HasMap<Ваш объект>+servlet+JSON
...
Рейтинг: 0 / 0
БД для очереди задач
    #38395320
itstrue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужен вариант проще. Неужели это настолько уникальный вопрос, чтобы начать изобретать велосипед?
По сути нужна быстрая легкая база, куда можно быстро вставлять/извлекать большое количество мелких данных.

Сегодня протестировали редис:

100k строк с данными:

редис:

Вставка = 22.3 s
Чтение = 7.3 s
Чтение + удаление = 47.5 s
мускул:

Вставка = 67.439 s.
Чтение = 8s
Чтение + удаление = 43s

У редиса очень быстрая вставка, но все остальное такое как у MySQL. Этот момент очень огорчил.

Порекомендуйте как поступить.
...
Рейтинг: 0 / 0
БД для очереди задач
    #38395341
itstrue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если ставить тип MEMORY у таблицы MySQL, то рекурсивное удаление выполняется за 37с.
Получается, что у редиса, кроме как быстрой вставки больше плюсов нет?
...
Рейтинг: 0 / 0
БД для очереди задач
    #38395349
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
itstrueПо сути нужна быстрая легкая база, куда можно быстро вставлять/извлекать
большое количество мелких данных.
Для этого не нужна база, достаточно любым способом организовать очередь в ОЗУ. От списков
до кольцевого буфера. Первый курс программирования.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
БД для очереди задач
    #38396864
itstrue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заменили клиент для редиса с редиски на phpredis и ужаснулись, запись и чтение выросло в 7-8 раз!
Теперь понятно, почему были такие ужасные показатели.
Но с удалением скорость не изменилась. Как можно ускорить его процесс?
...
Рейтинг: 0 / 0
БД для очереди задач
    #38396972
DPH3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
itstrue,

А чем файловая система не устраивает? Писать пачками по сколько-нибудь записей в один файл, заполненные файлы копировать на вторую машину и удалять.
Куда уж быстрее )
...
Рейтинг: 0 / 0
БД для очереди задач
    #38397011
itstrue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Интересный вариант, а копировать с помощью чего?
...
Рейтинг: 0 / 0
БД для очереди задач
    #38397202
DPH3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
itstrueИнтересный вариант, а копировать с помощью чего?
Да хоть rsync ;)
Уж способов копирования файлов на удаленную машину - дофига.

Главное - не копировать те, что еще пишутся, но это можно сделать фильтрацией по размеру или дате или названию или чему-нибудь еще.
Т.е. вообще все реализуется внутри шелла )

Ну а писать - хорошим логгером, например, если он есть в выбранном языке.
Основная проблема - как писать из кучи потоков с минимальными задержками. Но это все не безумно сложно )
...
Рейтинг: 0 / 0
БД для очереди задач
    #38397225
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DPH3Главное - не копировать те, что еще пишутся, но это можно сделать фильтрацией
по размеру или дате или названию или чему-нибудь еще.
Название рулит. Нормальные люди создают файл с расширением .tmp, а после завершения записи
- переименовывают. Переименование в ОСи - более-менее атомарная операция, так что кусок
ACID-а обеспечен.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / БД для очереди задач
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]