RavenDb에서 계층 적 데이터를 저장해야하며 재귀 적으로 쿼리해야합니다. 성능이 가장 큰 걱정거리입니다.RavenDb의 계층 적 데이터 모델링
내가 가지고하면 다음 하나와 유사한 :
public class Category
{
public int Id { get; set; }
public string Name { get; set; }
public Category Parent { get; set; }
}
이 경우
, 나는 문서 자체 내부의 상위 범주를 저장하는 경우, 그것은 제가이 중복되므로 데이터를 관리하기 어려운 것임 카테고리 전체에 카테고리가 있습니다.
그래서, 즉 쉽게하기 위해 나는 아래이를 저장할 수 있습니다 :
public class Category
{
public int Id { get; set; }
public int? ParentId { get; set; }
public string Name { get; set; }
}
을하지만,이 경우에 나는 기록의 수백만해야합니다 내가 필요로하는 성능이 여기에 얼마나 확실하지 않다 이 참조에서 범주 트리를 만들 수 있습니다.
성능이 가장 큰 문제인 경우 RavenDb에서 이러한 유형의 데이터를 모델링하는 방법에 대한 결정이 있습니까?
감사합니다. 이것은 정말로 도움이됩니다. 이 경우 여러 범주 (1000 번, 누가 아는 지)에서 범주를 복제합니다. 따라서 RavenDb에서 여러 범주의 카테고리 정보를 업데이트하는 방법이 있습니까? 또는 하나씩 찾아서 개별적으로 업데이트해야합니까? 배치 업데이트 (http://ravendb.net/docs/2.0/client-api/set-based-operations)를 보았지만 이것이 필요한지 확실하지 않습니다. – tugberk
나는 다음과 같지 않습니다 - 왜 카테고리의 여러 항목을 한꺼번에 업데이트해야합니까? 내가 제안한 바에 따르면 문서의 카테고리는 한 번만 나오고 계층 트리는 카테고리 ID를 사용하여 부모가 누구인지 정의 할 수 있습니다. 둘 이상일 수 있습니다. – synhershko
내가이 문제로 생각하는 한 가지, 그리고 분명히 이것은이 스타일에 대한 나의 새로운 것이고 특정 카테고리의 ID가 주어지며 어떻게 모든 아이들을 얻을 수 있습니까? 루트로 돌아가는 경로를 알지 못하는 한 계층 구조를 쿼리 할 수 없기 때문에 부모를 쉽게 얻을 수 있습니다. 이것은 다른 쪽을 향한 하나의 순회 방향의 우선 순위를 바꾸는 것이 아닌가? – MarqueIV