У нас есть приложение, которое создает текстовые файлы журнала запросов к нему. Довольно типичный материал в файле журнала, разделенный пробелами (дата, время, URL, http-код, ip, пользовательский агент и т. Д.).
В настоящее время мы генерируем около 500 тыс. Записей в файлах текстового журнала в день.
В настоящее время мы проводим большой анализ текстовых файлов с помощью sed / awk / grep. Однако в действительности это масштабироваться не будет, тем более что мы хотим начать составлять отчеты за несколько дней:
например.
- Сколько раз этот IP-адрес попадал на этот URL за последние 5 дней
- Какой процент запросов привел к 500-ым для определенных URL
Достаточно просто выполнять регулярный импорт в базу данных mysql и извлекать данные этого типа с помощью select / group-bys. Однако даже при наличии нескольких сотен тысяч строк запросы выполняются относительно медленно.
Я n00b, когда дело доходит до некоторых новых БД no-sql (Casandra, Dynamo, BigTable), но подойдет ли какой-нибудь из них для этого? Я продолжаю читать их, но, возможно, у этой команды были некоторые рекомендации.
Спасибо!