У нас есть архитектура, в которой мы предоставляем каждому клиенту услуги, подобные бизнес-аналитике, для их веб-сайта (интернет-магазина). Теперь мне нужно проанализировать эти данные внутренне (для улучшения алгоритмов, отслеживания производительности и т. Д.), И они потенциально довольно тяжелые: у нас до миллионов строк / клиент / день, и я, возможно, захочу узнать, сколько запросов у нас было в прошлом месяце, по сравнению с неделями и т. д. ... это порядка миллиардов записей, если не больше.
То, как это делается в настоящее время, довольно стандартно: ежедневные скрипты, которые сканируют базы данных и генерируют большие файлы CSV. Мне не нравятся эти решения по нескольким причинам:
- типично для таких сценариев, они попадают в категорию «однократная запись и никогда не трогаются»
- необходимо отслеживать вещи в режиме реального времени (у нас есть отдельный набор инструментов для запроса банкоматов за последние несколько часов).
- это медленно и не "ловко"
Хотя у меня есть некоторый опыт работы с огромными наборами данных для научного использования, я являюсь полным новичком в том, что касается традиционных RDBM. Кажется, что использование ориентированной на столбцы базы данных для аналитики может быть решением (аналитика не нуждается в большей части данных, которые мы имеем в базе данных приложения), но я хотел бы знать, какие другие варианты доступны для такого рода проблем.