기업, 사용자, 시계열 데이터와 같은 다양한 개체에 태그를 추가한다고 가정 해 보겠습니다. 나는 같은 검색어를 원할 것입니다. X 태그가있는 회사를 찾으십시오.NoSQL 데이터베이스를 사용할 때 조인 개체를 만드는 것이 합리적입니까?
이제 모든 객체에 태그 행을 추가 한 다음 쿼리에 대한 답변을 MapReduce로 추가 할 수 있습니다.
또는 내가 행을 취소하고 다른 OBJECTID (예를 들어 Company
, User
, TimeSeries
)와 Tag
OBJECTID를 연결할 것 TagAssociation
개체를 만들 수 있습니다. 그런 다음 MapReduce를 사용하지 않고 이러한 쿼리를 더 빨리 수행 할 수있었습니다. 하지만 친숙한 NoSQL 인터페이스로 RDBMS를 사용하고있는 것처럼 느껴집니다. NoSQL의 이러한 조인 객체가 합당한 방법인가, 아니면 NoSQL을 적절히 사용하지 않는 것입니까?
네, 각각의'TagAssociation' 객체가'하나 taggable 객체의 ObjectID' ('회사','User','TimeSeries')하고있을 것'ObjectID' '개체. 따라서 쿼리는 태그 필드에이'ObjectID'를 가진 모든'TagAssociation' 객체를 찾는 것과 같습니다. 그런 다음 MapReduce없이 * X * 태그가있는 모든 항목을 찾습니다. 어떤 의미에서는 인덱스라고 생각합니다. 저는 SQL 데이터베이스에서 비정규 화와 유사하다고 항상 생각했습니다. 그리고 제가 잘못하고 잘못했는지 천천히하는지 궁금합니다. 모든 도움에 감사드립니다! –
이것이 보조 색인이라고 들었습니다. –