성능 | 확장성 | 유연성 | 복잡성 | 복잡도 | |
---|---|---|---|---|---|
Key-Value Store | 높음 | 높음 | 높음 | 없음 | 가변적(없음) |
Wide Columnar Store | 높음 | 높음 | 준수 | 낮음 | 최소 |
Document Store | 높음 | 가변적(높은편) | 높음 | 낮음 | 가변적 (낮음) |
Graph Store | 가변적 | 가변적 | 높음 | 높음 | 그래프 이론 |
RDBMS | 가변적 | 가변적 | 낮음 | 준수 | 관계 대수(relational algebra) |
{
"_id": "5f2ad6b54866e5109dd2367b"
"username": "홍길동",
"hashedPassword": "비밀번호",
}
테이블끼리 Join하는 기능은 없지만, schema-less한 특징을 이용해 document안에 document를 넣는 방식으로 처리할 수 있다.
예를들어 Post : Comment = 1 : N 관계라면
{
_id: POST_ID,
title: POST_TITLE,
content: POST_CONTENT,
username: POST_WRITER,
tags: [ TAG1, TAG2, TAG3 ],
comments: [
{
username: COMMENT_WRITER1,
mesage: COMMENT_MESSAGE1,
time: COMMENT_TIME1
},
{
username: COMMENT_WRITER2,
mesage: COMMENT_MESSAGE2,
time: COMMENT_TIME2
},
]
}