문서 기반 데이터베이스를 기반으로 NoSQL 운동이 증가하면서 최근 MongoDB를 살펴 보았습니다. Lucene (및 Solr 사용자)과 마찬가지로 항목을 "문서"로 취급하는 방법과 눈에 띄는 유사성을 발견했습니다.
그렇다면 질문 : 왜 "데이터베이스"로 Lucene (또는 Solr)을 통해 NoSQL (MongoDB, Cassandra, CouchDB 등)을 사용하고 싶습니까?
대답에서 찾고있는 (그리고 다른 사람들이 확신하는) 것은 그것들에 대한 심도있는 비교입니다. 관계형 데이터베이스 토론은 다른 목적으로 사용되므로 모두 함께 건너 뜁니다.
Lucene은 강력한 검색 및 무게 시스템과 같은 몇 가지 심각한 이점을 제공합니다. Solr의 패싯은 말할 것도 없습니다 (Sorr은 곧 Lucene에 통합되고 있습니다!). Lucene 문서를 사용하여 ID를 저장하고 MongoDB와 같은 문서에 액세스 할 수 있습니다. Solr과 함께 사용하면 WebService 기반의로드 밸런싱 솔루션을 얻을 수 있습니다.
MongoDB의 유사한 데이터 저장 및 확장성에 대해 이야기 할 때 Velocity 또는 MemCached와 같은 out-of-proc 캐시 공급자를 비교할 수도 있습니다.
MongoDB에 대한 제한 사항은 MemCached 사용을 상기시켜 주지만 Microsoft의 Velocity를 사용할 수 있으며 MongoDB보다 더 많은 그룹화 및 목록 수집 기능을 가지고 있습니다 (제 생각에). 메모리에 데이터를 캐싱하는 것보다 더 빠르거나 확장 할 수 없습니다. Lucene조차도 메모리 공급자가 있습니다.
MongoDB (및 기타)는 API 사용 편의성과 같은 몇 가지 장점이 있습니다. 문서를 새로 작성하고 ID를 작성하여 저장하십시오. 끝난. 좋고 쉬운.