2012-06-11 2 views
1

필자가 구축하고있는 시스템에서 본질적으로 문제 추적 시스템이지만 다양한 문제 템플릿이 있습니다. 일부 이슈 유형은 다른 이슈 유형과 다른 형식을 갖습니다.MongoDB는 이것에 잘 맞습니까?

원래 키테이블과 키 => 값 쌍이 포함 된 issues_meta 테이블이있는 MySQL을 사용할 계획이었습니다. 그러나 NoSQL (MongoDB)이 더 나은 옵션 일 수 있다고 생각합니다.

MongoDB를 등등 개인별로 할당 문제의 달 유형, 유형에 의하여 문제의 # 같은 문제 #을, 보고서 "표준"생성 할 수있는 능력, #는 무엇입니까? 나는 Mongo가보고하는 것이 좋지 않다고 말하는 약간의 소식통을 읽었 기 때문에 이것을 묻습니다. 나는 모든 작업 (모든 테이블에 대한 수정)을위한 하나의 "표"를 원하기 때문에


또한, 몽고 내 감사 로그를 저장하기에 계획입니다. 몽고에서는 스키마가 없기 때문에 쉽게 변경된 각 필드를 저장할 수 있습니다. 이것은 나쁜 생각입니까?

내가 알아야 할 것은 무엇이든지, 몽고는 내가 원하는 것을 위해 일할 것인가?

+0

@woz 더 이상 나는 그렇지 않습니다 ... 또한 NoSQL이보고 기능을 제공 할 수 있는지에 대한 주요 질문이있었습니다. 나는 나의 질문을 재구성 할 것이다. 감사합니다. –

+1

MongoDB가 NoSQL보다이 문제에 더 적합한 이유는 무엇이라고 생각하십니까? 키 - 값 쌍만 저장하면 MongoDB의 주요 이점 (구조화 된 문서)이 손실됩니다. –

+1

MongoDB는 데이터베이스 서버이므로 MongoDB를 데이터 소스로 지원하는 솔루션을보고하고 싶습니다. 예를 들어, [Pentaho] (http://www.pentaho.com/big-data/nosql/10gen/) 또는 [Jasper Reports] (http://www.jaspersoft.com/bigdata). – Stennie

답변

1

MongoDB는이 사용 사례와 완벽하게 일치합니다.

  • MongoDB 컬렉션은 이기종이므로 ​​다른 필드의 문서를 동일한 가방에 저장할 수 있습니다. 그래서 다른보고 템플릿은 쇼 스토퍼가되지 않습니다. 단일 문서로 전체 문제점을 모델링 할 수 있습니다.

  • MongoDB도 로깅에 적합합니다. 자른 컬렉션에 관심이있을 수 있습니다.

  • 문서간에 관계 연결이 필요하면 할 수 있습니다.

  • Ruby를 사용하는 경우 Mongoid를 추천 할 수 있습니다. 그것은 더 쉽게 만들 것입니다. 또한 문서의 버전 관리를 지원합니다.

1

MongoDB는 확실히 작동합니다 (원할 경우 capped collections을 사용하면 자동으로 오래된 레코드를 삭제할 수 있습니다).하지만이 작업에 적합합니까? 설명 된 유스 케이스의 경우 Redis (간단하고 빠름) 또는 Riak (로그 데이터가 많은 경우)를 사용하는 것이 더 좋습니다.

+0

글쎄, key => value 쌍을 저장하는 것만은 아니며 여러 이슈 유형에 대해 서로 다른 스키마를 사용할 수 있기 때문에 스키마를 직접 저장하게 될 것입니다. 별도의 두 테이블을 사용하지 않고 단일 컬렉션을 사용할 수 있습니다. –

관련 문제