문제가있어서 NoSQL 솔루션이 해결책이라고 생각하지만 확실하지 않습니다. 또한, 어떤 유형의 NoSQL DB (객체, 문서, 그래프, 키 등)가이 문제를 해결하기에 가장 적합한 지 확신하지 못합니다.NoSQL이 특정 데이터베이스 문제에 가장 적합한 옵션입니까
문제 :
나는 두 개의 컬렉션을 가지고있다. CollectionA는 2K + 문자열 (도메인 이름)을 포함합니다. CollectionB가 훨씬 크고 외모 (의사)이 같은 :
{
"To" : "[email protected],[email protected],[email protected]_address.com",
"Bcc" : "[email protected],[email protected],[email protected]_address.com",
"From" : "[email protected],[email protected],[email protected]_address.com",
"Subject" : "Email Subject",
"Unknown" : "NumberOfFields",
"N" : "PlusOneExtraFields",
}
과학적 이해를 :
- 이받는 사람, 숨은 참조에 나와있는 사람들의 100 단위, 그리고에서 수 문자열.
- 받는 사람, 보낸 사람, 숨은 참조 필드를 폭발시키는 좋은 방법이 없습니다.
- To, From, Bcc 필드를 폭발시킬 방법이 없으면 문자열을 검색해야합니다.
- 몇 가지 알려진 필드가 있지만 알 수없는 필드가 많이 있습니다.
- 요구 사항이 없습니다 현재 알 수없는 필드를 통해 검색을 호출합니다.
- 데이터베이스 엔진은 Windows 데스크톱에서 실행해야합니다. 생각의
현재 라인 :
이되는 NoSQL 솔루션 및 어쩌면는 C# 동적 키워드를 사용하십니까? 퍼지
이 easitly 문서 데이터베이스에 의해 해결되는 문제인가?
이 유형의 데이터 구조를 검색/비교할 때 Map/Reduce?
데스크톱이 64 비트 Windows를 실행하고 있습니까? 그렇지 않다면 목록에서 MongoDB를 건너십시오. 32 비트를 실행할 수는 있지만 제한을 맞추기가 매우 쉽기 때문에 데이터베이스는 사용할 수 없기 때문입니다. –
솔직히 말하면 실제로 필요한 것은 From/To/Bcc 필드를 폭발시키는 것입니다. 이것이 없다면 당신은 아마도 당신이 사용하는 데이터베이스 기술에 관계없이 매번 전체 집합을 통해 무차별 강제 검색을 수행하게 될 것입니다. 왜 그들을 폭발시킬 수 없습니까? –
전적으로 @HighTechRider에 동의합니다. 데이터의 비정규 화 (사용자가 넣는대로 분해)는이 인스턴스에서 성능이 뛰어난 쿼리에 필수 요소입니다. 이를 사용하지 않으면 전체 데이터 세트를 문자열로 다시 검색 할 수 있습니다. – stephbu