-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: [DB] RDB와 트랜잭션 #29
Open
junseoplee
wants to merge
3
commits into
main
Choose a base branch
from
junseop/DB
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
# RDB와 NoSQL의 차이에 대해 설명해 주세요 | ||
|
||
### RDB | ||
|
||
- RDB의 핵심적인 두 가지 특징 | ||
- 데이터는 정해진 데이터 스키마에 따라 테이블에 저장된다 | ||
- 데이터 무결성과 일관성 보장 | ||
- 테이터는 관계를 통해 여러 테이블에 분산된다 | ||
- 정규화되어 저장. 중복을 최소화, 참조 무결성 유지 | ||
- 테이블 간 관계는 외래키로 정의 | ||
|
||
### NoSQL | ||
|
||
- 스키마도, 관계도 없다 | ||
- 데이터 중복을 허용한다 | ||
|
||
## NoSQL의 강점과, 약점이 무엇인가요? | ||
|
||
- 장점 | ||
- 스키마가 없기 때문에 저장된 데이터를 조정하고, 새로운 필드를 추가하는 것에 유리함 | ||
- 데이터 자체가 각 애플리케이션에 필요한 형태로 저장되어, 데이터를 읽어오는 속도가 빠름 | ||
- 단점 | ||
- 데이터 중복을 계속 업데이트해야 함 | ||
- 수정 시 모든 컬렉션에서 수행 | ||
|
||
## RDB의 어떠한 특징 때문에 NoSQL에 비해 부하가 많이 걸릴 수 있을까요? (NoSQL이 무조건 RDB보다 빠르다는 것은 아닙니다) | ||
|
||
1. 트랜잭션 처리 | ||
1. ACID 트랜잭션을 보장하며, 연산과 로그 관리가 필요하다 | ||
2. 관계 유지 - join | ||
3. 스키마 변경 | ||
|
||
## NoSQL을 활용한 경험이 있나요? 있다면, 왜 RDB를 선택하지 않고 해당 DB를 선택했는지 설명해 주세요 | ||
|
||
- JWT - Redis | ||
- 대규모 처리에서 속도 | ||
- Key-Value | ||
- TTL 관리 |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
디비를 공부하면 RDB랑 NoSQL 중에 무엇을 골라서 프로젝트에 참여해야하는지 고민되는 일이 많았는데, 혹시 고르는 기준 같은게 있을까요?