Orm Frameworks에 대한 경험이 있으며 NoSql 데이터베이스 솔루션의 구조를 이해하기 시작합니다. 개체 모델을 기반으로 한 몇 가지 샘플을 계속 사용하겠습니다.CRUD 시나리오를위한 NoSql 업데이트 메커니즘
나는 아래의 문서 모델을 가지고 있으며 시나리오를 다루는 방법을 생각하고 싶지 않습니다. 태그
public class Post
{
public string Title { get; set; }
public List<Tag> Tags { get; set; }
}
public class Tag
{
public string Name { get; set; }
}
그리고 몇 가지 질문이 내 시나리오에 대한 내 마음에 표시
- 저장 후
- 표시 태그 목록입니다.
포스트 클래스는 태그와 함께 저장되는 문서입니다. RDBMS에서 Tag와 Post는 many-to-many 릴레이션을 가지고 있지만 NoSql에서 관계가 없으므로 post 객체가 전체 멤버와 함께 저장된다는 것을 알았습니다. 게시물 수 시나리오가있는 태그 목록을 표시하면 전체 게시물 항목에서 무거운 쿼리가 발생합니다 모든 쿼리에서 약간의 노력으로이 시나리오에서 NoSql의 모든 이점을 잃지 않습니까?
태그 이름을 업데이트해도 복잡한 작업이 발생하지 않습니까? 나는 전체 게시물 항목을 쿼리하고 그 태그 이름을 가지고 찾아 그것을 업데이 트해야합니다. 그런데 다중 문서 트랜잭션과 긴 프로세스가 필요하므로 NoSQL의 다중 문서 트랜잭션에 대한 지원이 없기 때문에 실패 할 경우 db에서 불일치가 발생합니다. 어떻게 처리 할 수 있습니까?
RDBMS (Sql) 시스템에 대해 NoSen의 단점을 표시하려고하지 않습니다. 나는 단지 내 생각이이 상황에 대해 정확하다는 것을 이해하려고 노력하고있다. 내가 놓친 것이나 나쁜 것들이 나쁘다고 생각하지는 않는다. 확장 성이 필요하므로 NoSQL 솔루션에 관심이 있습니다.