powered by simpleCommunicator - 2.0.27     © 2024 Programmizd 02
Map
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / Модель данных для сбора, группировки и хранения логов посещений в Cassandra.
3 сообщений из 3, страница 1 из 1
Модель данных для сбора, группировки и хранения логов посещений в Cassandra.
    #38387786
Kirzilla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

Сразу оговорюсь, опыта работы с Cassandra нету абсолютно никакого. Пока просто рассматриваем различные потенциальные технологии для решения нашей задачи.

Итак, есть баннерная сеть, порядка 200M показов в день. Всё почти как обычно...
рекламодатель > кампания > баннер
паблишер > сайт > зона
посещение > гео > браузер > ОС

В настоящее время статистика собирается в мускулях на бэкендах, далее группируется и вливается на мускульный мастер, откуда в дальнейшем и используется. Сбор, расчет и агрегирование происходит 1 раз в час и занимает примерно 20 минут.

Не устраивает время расчета статистики и ее запаздывание на 1 час. Запаздывание не устраивает, т.к. данные статистики учавствуют в других бизнес-процессах, в которых запаздывание на 1 час достаточно критично.

Минимальный период отображения статистики - час. Статистику нужно уметь группировать по зонам, баннерам, сайтам, браузерам, ОС и т.д. и т.п. Показывать статистику нужно уметь за произвольный период, например с такого по такое число.

Встал логичный вопрос - подходит ли для таких целей Cassandra?
Судя по статьям, которые я прочитал в буржуйнете - Cassandra неплохо подходит для timeperiod данных и данных для которых мы заранее знаем что мы будем делать (в нашем случае мы точно знаем какие запросы мы хотим выполнять). Грубо говоря, мы могли бы писать каждый показ в ЧАС, ДЕНЬ, МЕСЯЦ, ГОД. Была бы высокая избыточность данных, но их не так дорого хранить в 21 веке :).

Очень смущает один факт - иногда, нам приходится пересчитывать статистику задним числом. Например, неправильно выставили рейты рекламодателю или паблишеру. Или рекламодателю не понравился трафик, он понизил или повысил рейты и нужно пересчитать данные за какой-то период. Т.е. придется иметь дело с UPDATE'ом данных.

Что Вы можете посоветовать? Есть ли какие-то мысли на этот счет?
Какие технологии лучше использовать для таких задач.

PS: Может быть есть книги, в которых почитать про модель данных, как в Cassandra и, самое главное, научиться мыслить такими моделями.

Заранее Спасибо!
...
Рейтинг: 0 / 0
Модель данных для сбора, группировки и хранения логов посещений в Cassandra.
    #38387802
Kirzilla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл дописать - уметь группировать по дням, месяцам, часам.
Сортировка не обязательна, т.к. обычно срезы, которые наблюдаем имеют достаточно маленькое кол-во строк и можно сортировать уже прямо на клиенте или на сервере.
...
Рейтинг: 0 / 0
Модель данных для сбора, группировки и хранения логов посещений в Cassandra.
    #38388509
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык вот же, точно такой же проект с дикими нагрузками и несколькими географическими удаленными датацентрами на Кассандре:
http://habrahabr.ru/company/lifestreet/blog/146115/

И кстати UPDATE для нее такая же не затратная операция, как и INSERT. Она на это и заточена :)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / Модель данных для сбора, группировки и хранения логов посещений в Cassandra.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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