Проблема 1: Сбор данных
Многие люди используют решения NoSQL для хранения журналов приложений.Первая трудность, с которой вы можете столкнуться, заключается в том, как надежно собирать огромные объемы данных из различных источников данных при простоте управления.Одной из проблем, связанных с отсутствием уровня сбора журналов, является конфликт блокировки базы данных, вызванный высокой пропускной способностью записи.
Поэтому в основном рекомендуется иметь уровень сбора журналов.Существует несколько реализаций с открытым исходным кодом, таких как syslog, Fluentd , Scribe и Flume :)
Проблема 2: Хранилище иОбработка
Следующая большая проблема - как хранить и обрабатывать данные.Внутренняя инфраструктура требует больших изменений по мере увеличения объема данных.Сначала вы можете использовать MongoDB для хранения всех ваших данных, но в какой-то момент вы в конечном итоге используете Apache Hadoop для создания масштабируемой архитектуры.
Вотпример архитектуры с использованием Fluentd для сбора журналов и MongoDB для хранения и обработки журналов.
![fluentd plus mongodb](https://i.stack.imgur.com/BHR82.png)
Вот несколько ссылок для размещения журналов Apache в Amazon S3, MongoDB илиHadoop HDFS от Fluentd.
Отказ от ответственности: я являюсь сторонником проекта Fluentd.