Я пишу веб-приложение с nodeJS, которое может использоваться другими приложениями для хранения журналов и последующего доступа в веб-интерфейсе или самими приложениями, предоставляющими API. Похож на Graylog2 , но схема свободна.
Я уже пробовал couchDB, в которой каждый документ был бы документом журнала, но так как я на самом деле не использую ревизии, мне кажется, я не использую все его функции. И кроме того, я думаю, что если журналы превышают лимит, в couchDB будет довольно сложно управлять.
Что я действительно ищу, так это большой массив журналов, которые можно сортировать, фильтровать, искать и накладывать на них. Затем последние события этого доступны. Он должен быть свободен от схемы, и запись в него должна быть неблокирующей.
Я подумываю об использовании Кассандры (я не очень знаком с ней) из-за пунктов здесь сказано. MongoDB и здесь выглядит неплохо, так как Graylog2 использует в mongoDB, в здесь он имеет несколько положительных моментов.
Я уже видел этот вопрос, но не удовлетворен ответами.
Edit:
По некоторым причинам я не могу использовать Cassandra в производстве, сейчас я пробую MongoDB.
Еще одна причина использовать mongoDB:
http://www.slideshare.net/WombatNation/logging-app-behavior-to-mongo-db
Больше правок:
Это похоже на graylog2, но я хочу сделать различие, вместо того, чтобы иметь поле сообщения, иметь поля, определенные клиентом, поэтому я хочу, чтобы оно было свободным от схемы, и из-за этого мне может понадобиться запрашивать в пользовательских полях. Мы можем построить его на SQL, но запрос к пользовательским полям будет заново изобретать колесо. То же самое относится и к файлам.
Технически, что я ищу, так это получить в конце богатые статистические данные или простую отладку и множество других вещей, которые мы не можем получить из журналов.