나는 계층 적 데이터 관리 시스템을 구축하면서 MongoDB를 광범위하게 (지난 6 개월 동안) 사용했으며, 설치의 용이성 (설치, 실행, 사용!)과 속도를 모두 보증 할 수있다. 인덱스에 대해 신중하게 생각하는 한 절대 속도로 비명을지를 수 있습니다.
MongoDB 팀이 패리티를 위해 노력하고 있지만 Cassandra는 Twitter와 같은 대규모 프로젝트에서 사용하기 때문에 더 나은 확장 기능을 가지고 있습니다. 시험 실행 단계 이후에 카산드라를 사용하지 않았으므로 세부 사항을 말할 수는 없습니다.
우리가 NoSQL 데이터베이스를 평가할 때 실제 스윙 어는 쿼리였습니다. Cassandra는 기본적으로 거대한 키 / 값 저장소이며 쿼리는 약간 이상합니다 (최소한 MongoDB와 비교). 따라서 성능을 위해서는 일종의 수동 색인으로 많은 양의 데이터를 복제하십시오. 반면에 MongoDB는 "query by example"모델을 사용합니다.
예를 들어 Users가 포함 된 Collection (RDMS 테이블과 동등한 몽고 DB 용어)이 있다고 가정합니다. MongoDB는 기본적으로 바이너리 JSON 객체 인 Documents로 레코드를 저장합니다. 예 :
{
FirstName: "John",
LastName: "Smith",
Email: "john@smith.com",
Groups: ["Admin", "User", "SuperUser"]
}
관리자 권한이있는 Smith라는 모든 사용자를 찾으려면 Javascript를 사용하여 관리 콘솔에서 또는 선택한 언어를 사용하여 프로덕션에서 새 문서를 작성하면됩니다.
{
LastName: "Smith",
Groups: "Admin"
}
... 그리고 쿼리를 실행하십시오. 그게 다야. 비교, RegEx 필터링 등을위한 추가 연산자가 있지만 모두 매우 간단하며 위키 기반 문서는 매우 좋습니다.