문제

MongoDB Json 데이터베이스를 사용하여 애플리케이션의 로그 파일을 저장하는 것이 좋은 생각이라고 생각하시나요? 그 이유는 무엇입니까?

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

도움이 되었습니까?

해결책

분명히 나는 ​​편견이 있지만(저는 MongoDB에서 작업합니다) 로그에는 매우 잘 작동한다고 생각합니다.

원인:

  • 삽입과 업데이트가 빠릅니다.당신은 초당 수천을 할 수 있습니다
  • 일반 쿼리뿐만 아니라 분석을 실행하고 JavaScript를 사용하여 보고서를 생성 할 수 있습니다.당신은 당신의 통나무에 좋은 mapreduce 일을하는 밤마다 Cron Job을 가질 수 있습니다.
  • 대기열처럼 작동하는 컬렉션 인 캡핑 된 컬렉션을 사용하여 최신 N KBS/MBS/GBS 오브 로그 만 유지할 수 있습니다.

"로그 파일의 무결성 보장"이 무슨 뜻인지 잘 모르겠습니다.당신이 꺼내는 문서에 어떤 필드가 있는지 알 수 없어서 걱정된다는 겁니까?그렇다면 관계형 데이터베이스에서 null 필드를 처리하는 것이 더 어렵지 않고 훨씬 더 유연하다는 것을 알게 될 것입니다.

또한보십시오: 로깅에 대한 MongoDB 블로그 게시물.

다른 팁

MongoDB를 사용하여 많은 응용 프로그램에서 로그를 저장하고 있으며 지금까지 잘 작동하고 있습니다.

당신은 그것을보고 싶을 것입니다 응용 프로그램 동작을 MongoDB로 기록하는 프레젠테이션에서 슬라이드 Mongo SV와 Last MongoDB SF Meetup에서 로깅에 적합하다고 생각하는 이유와 Java, Python, Ruby, PHP 및 C#에 대한 정보가 MongoDB에 대한 로깅을 지원하는 이유에 대한 배경 지식에 대한 배경 지식을 얻었습니다.

나는 이제 MongoDB의 Log4J 부속사 인 log4mongo-Java의 주요 커밋터입니다. 따라서 그것이 제가 사용하는 것이라는 것은 놀라운 일이 아닙니다.

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

또한 단단히 고정 된 복제 슬레이브를 설정할 수 있습니다. 노예의 빈번한 백업은 적어도 기록 된 이벤트 세트를 수정할 수있는 시간을 최소한 제한합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top