Open minkukjo opened 9 months ago
하지만, 애플리케이션에서 다대다 관계를 사용한다면 문서 모델은 적합하지 않음
수정이 일어났을 때 관련된 모든 문서를 수정해야함.
- 조인을 사용하려면 애플리케이션에서 흉내를 내야해서 복잡도가 증가함 (DB보다 성능이 떨어지는 것은 덤)
born_in
간선을 가진 정점과 유럽 내 위치의 living_in
간선을 갖는 모든 정점을 찾아서 name
속성을 반환MATCH
(person) -[:BORN_IN]-> () -[:WITHIN*0..]-> (us:Location {name:'United States'}),
(person) -[:LIVES_IN]-> () -[:WITHIN*0..]-> (eu:Location {name:'Europe'})
RETURN person.name
WITH RECURSIVE
문을 통해 표현 가능함Conference/Committee on Data Systems Languages
라고 부르며, 프로그래밍 언어 개발의 표준을 만드는 집단이다.다중 색인 검색
이 필요한데, 오라클은 다중 테이블 색인 클러스터 테이블
라는 이름으로 이를 제공해준다.JSON
으로 지원한다.NoSQL 데이터베이스를 채택하는 이유
끄적끄적
전체적으로 관계형DB vs 문서형DB vs GraphDB의 특징들과 각각의 비교를 나타내었다. (+ 네트워크모델도 소개함)
이전에 한 때 문서형 DB(중에서 MongoDB)에 흥미가 생겨 사이드 프로젝트에 MongoDB를 적용하였다가 나중에 후회한 경험이 생각났다. 해당 프로젝트는 다대다구조가 많았는데, 데이터가 각 문서에 중복으로 저장되다보니 한 데이터가 변경될 때마다 해당 데이터가 포함된 문서들을 모두 변경해주어야 했다. 그 이후로는 문서형 DB는 schema-on-write가 필수가 아닌 경우에만 사용하는 것으로.... (+ 쿼리도 상당히 복잡해서 거부감 들었음. SQL 짱짱이라는 걸 느낌. 안 익숙해서 그렇다기엔 약간 무리가 있어보임...)
GraphDB는 나중에 기회가 되면 한 번 사용해보고 싶다. 지도나 SNS 같은 서비스를 해야 도입해볼만 할 듯.
궁금한 점