
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
13.01.2014, 22:33
|
|||
|---|---|---|---|
|
|||
Архитектура под задачу |
|||
|
#18+
Задача: есть N-ое (~10к ед) количество неких продуктов(P) и K-ое(~5-10к) количество человек(H) которые должны просматривать продукты (P). Необходим класс\функция с входным параметром идентификатора человека(H) и возвращённым результатом - один продукт(P), соответствующий правилам: 1)Если есть продукты не просмотренные данным человеком или никем не просмотренные из них вернуть тот, который больше времени никем не просматривался 2)Если данный человек просматривал уже все продукты - вернуть тот, который больше времени не просматривался им Всё данные просмотров нужно записывать в БД, но это не критично, если в случае аварийного завершения часть данных не будет синхронизирована. Также необходима более-менее приемлемая производительность и несильная прожорливость по памяти, но правильная архитектура - важнее. Ещё задача усложняется возможным появлением дополнительных параметров для продуктов, таких как - приоритет или страна реализации, по которым необходимо будет отсеивать. Легче всего с такими данными работать в реляционном виде с выборками по SQL, обращаться постоянно к обычной БД не вариант, только если все нужные данные не будут в ОЗУ. Какое архитектурное решение и, если касательно моего последнего варианта, библиотеку\СУБД посоветуете? Язык не принципиален, Python например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.01.2014, 22:52
|
|||
|---|---|---|---|
Архитектура под задачу |
|||
|
#18+
Любой (embedded) сервер с приличным кэшированием. Объёмы-то копеечные, табллицы и индексы прекрасно поместятся в память - чё там 2 таблицы по 10к записей, с метр объёму вместе с индексами... впрочем, даже ОС должна кэшить достаточно эффективно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=16&mobile=1&tid=1341511]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
180ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
38ms |
get tp. blocked users: |
2ms |
| others: | 252ms |
| total: | 521ms |

| 0 / 0 |
