2010-01-07 3 views
3

MongoDB Json 데이터베이스를 사용하여 응용 프로그램의 로그 파일을 저장하는 것이 좋은 생각입니까? 그 이유는 무엇입니까?다른 (스키마) 로그 파일을 저장할 MongoDB

나를위한 유일한 이점은 스키마 추상화이지만, 로그 파일의 무결성을 보장 할 수없는 약점이라고 생각합니다.

답변

4

분명히 저는 (저는 MongoDB에서 일하고 있습니다.) 분명히 로그에 대해 잘 작동한다고 생각합니다.

이유 :

  • 그것은 삽입 및 업데이트 빨리가 ... 당신이
  • 초뿐만 아니라 일반 쿼리 당 수천을 수행 할 수 있습니다, 당신은 분석을 실행하고 자바 스크립트를 사용하여 보고서를 생성 할 수 있습니다. 야간에 cron 작업을 수행하면 좋은 결과를 얻을 수 있습니다. 로그에 MapReduce 항목이 있습니다.
  • 당신은

무슨 말인지 모르겠어요 "의 무결성을 보장 에, 큐처럼 행동 모음입니다 덮인 컬렉션, 유지/GB를 로그의 최신 N KB 크기/매크로 블럭을 사용할 수 있습니다 로그 파일 "... 당신이 꺼내는 문서가 가지고있는 필드가 무엇인지 모르는 것에 대해 걱정하고 있다는 것을 의미합니까? 그렇다면 관계형 데이터베이스에서 null 필드를 처리하는 것이 더 어렵고 훨씬 더 유연하다는 것을 알게 될 것입니다.

참조 : the MongoDB blog post on logging.

2

많은 응용 프로그램의 로그를 저장하기 위해 MongoDB를 사용하고 있으며, 지금까지 잘 진행 중입니다.

Mongo SV와 마지막 MongoDB SF Meetup에서 제공 한 slides from a presentation on Logging Application Behavior to MongoDB을보고 싶을 것입니다. 이유에 대한 자세한 배경과 Java 용 라이브러리 정보, MongoDB에 로깅을 지원하는 Python, Ruby, PHP 및 C#

저는 이제 log4mongo-java의 주요 커미터이자 MongoDB의 Log4J 애 퍼더입니다. 그래서, 아마도 내가 사용하고있는 것이 놀랍지 않을 것입니다.

로그 무결성과 관련하여 작성한 후에 수정되지 않았다고 확신합니다. 적어도 log4mongo-java에서는 인증이 필요한 데이터베이스에 로깅 이벤트를 저장하는 옵션이 있습니다. 이는 이벤트를 추가, 삭제 또는 업데이트 할 수있는 사용자의 수를 어느 정도 제한합니다.

또한 밀접하게 잠긴 복제 슬레이브를 설정할 수 있습니다. 슬레이브의 빈번한 백업은 최소한 로깅 된 이벤트 세트가 수정 될 수있는 시간을 제한합니다.

관련 문제