DevSprout / data-oriented-architecture

데이터 중심 애플리케이션 설계
4 stars 0 forks source link

02장: 데이터 모델과 질의 언어 #2

Open minkukjo opened 9 months ago

LOG-INFO commented 8 months ago

끄적끄적

전체적으로 관계형DB vs 문서형DB vs GraphDB의 특징들과 각각의 비교를 나타내었다. (+ 네트워크모델도 소개함)

이전에 한 때 문서형 DB(중에서 MongoDB)에 흥미가 생겨 사이드 프로젝트에 MongoDB를 적용하였다가 나중에 후회한 경험이 생각났다. 해당 프로젝트는 다대다구조가 많았는데, 데이터가 각 문서에 중복으로 저장되다보니 한 데이터가 변경될 때마다 해당 데이터가 포함된 문서들을 모두 변경해주어야 했다. 그 이후로는 문서형 DB는 schema-on-write가 필수가 아닌 경우에만 사용하는 것으로.... (+ 쿼리도 상당히 복잡해서 거부감 들었음. SQL 짱짱이라는 걸 느낌. 안 익숙해서 그렇다기엔 약간 무리가 있어보임...)

GraphDB는 나중에 기회가 되면 한 번 사용해보고 싶다. 지도나 SNS 같은 서비스를 해야 도입해볼만 할 듯.

궁금한 점

MinJunKweon commented 8 months ago

느낀점


정리

관계형 모델과 문서 모델

NoSQL의 탄생 배경

객체 관계형 불일치

문서형 DB는 역사를 반복하고 있나?

네트워크 모델

관계형 모델

문서 DB와의 비교

관계형 데이터 모델과 문서 데이터 모델

데이터 질의 언어

웹에서의 선언형 질의

맵리듀스 질의

그래프형 데이터 모델

속성 그래프

사이퍼 질의 언어

MATCH
  (person) -[:BORN_IN]-> () -[:WITHIN*0..]-> (us:Location {name:'United States'}),
  (person) -[:LIVES_IN]-> () -[:WITHIN*0..]-> (eu:Location {name:'Europe'})
RETURN person.name

SQL의 그래프 질의

트리플 저장소와 스파클

그래프 DB와 네트워크 모델의 비교

minkukjo commented 8 months ago

정리 정리

image

문서 모델과 관계형 모델

질의의 데이터 지역성

문서 데이터베이스와 관계형 데이터베이스의 통합

맵 리듀스 질의

HaeUlNam commented 8 months ago

관계형 모델을 기반으로 한 SQL

NoSQL

NoSQL 데이터베이스를 채택하는 이유

객체 관계형 불일치

관계형 데이터베이스 vs 문서 데이터베이스

데이터를 위한 질의 언어

그래프형 데이터 모델