백만 개의 항목과 백만 개의 사용자 목록을 가진 마스터 목록이 있고 각 사용자가 50 개의 항목으로 구성된 사용자 지정 정렬 된 하위 집합을 갖고 있다면 바로 모델링 할 수있는 방법이 될 것입니다. like :Firebase에서 정렬 된 목록을 관리하기위한 전략
items
[itemID] : { name : 'aaa', description : 'bbb', ... }
...
users
[userID1] : {
name : 'john',
token : 'xyz',
sortedItems : {
itemID1 : xx,
itemID2 : xx,
...
}
}
각 사용자는 필요한 순서에 따라 고유 한 sortedItem 컬렉션을 갖게됩니다. 이 문제는 전체 항목 데이터를 가져 오기 위해 항목 당 여러 개의 요청을 가져야한다는 것입니다. 정렬 된 목록에 대한 업데이트를 처리 한 후에는 마스터 목록을 쿼리하여 항목 데이터를 가져와야합니다. 큰 문제는 아니지만 권장 사항입니까?
또 다른 전략은 마스터 목록과 하위 목록에서 항목 데이터를 복제하거나 마스터 목록을 제거하는 것입니다. 그렇게하면 모든 데이터가 필요할 때 즉시 사용할 수 있습니다. 그 명백한 문제는 동기화입니다. 항목의 속성이 변경되면 어떻게됩니까? 모든 사용자의 sortedItems 목록을 반복하고 각 인스턴스를 업데이트해야합니다. 심각한 데이터 불일치를위한 방법입니다.
생각하십니까?
내 github 프로젝트에서 이와 같은 색인을 사용하는 몇 가지 예를 확인할 수 있습니다. http://zenovations.github.io/FirebaseIndex/ – Kato
매우 흥미로운 프로젝트입니다! 그것이 문자 그대로 정확히 내가하려고하는 것입니다. – Baz