Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 그래프 이론
- 그래프
- 99클럽
- 완전탐색
- 데이터베이스
- 우선순위큐
- 알고리즘
- BinarySearch
- 스프링 핵심 원리 - 기본편
- 자바
- 백트래킹
- 백준
- 트리
- 네트워크 계층
- 동적 프로그래밍
- 정렬
- DP
- 프로그래머스
- 개발자취업
- lower bound
- Spring
- 브루트포스
- 항해99
- 그리디
- 코딩테스트준비
- BFS
- Til
- 스프링
- Java
- DFS
Archives
- Today
- Total
AtraFelis's Develop Diary
[데이터베이스] 관계형 DB vs 비관계형 DB 본문
관계형 데이터베이스 (Relational Database)
MySQL, PostgreSQL, Oracle, SQLite, MSSQL
엑셀과 비슷한 형식이라고 생각하면 편하다. 테이블(Table)로 이루어져 있으며, 이 테이블은 키(Key)와 값(Value)를 가진다. 테이블의 행은 키, 열은 값을 나타낸다.
즉, 데이터 간의 관계를 중요하게 생각하는 방식이 관계형 데이터베이스라고 할 수 있겠다.
- SQL 문법을 사용해야한다. (즉, 입문에 장벽이 조금 존재한다.)
- 중복된 데이터를 좋아하지 않아, 이를 제거하기 위해 정규화를 한다.
- 정확도가 중요한 서비스에서 자주 사용한다.
- 대용량 데이터 처리에 비효율적이다.
비관계형 데이터베이스 (Non-Relational Database)
redis, MongoDB(document database)
No SQL(Not Only SQL)이라고 불리우며, 관계형 DB의 단점을 보완하기 위해 만들어진 데이터베이스이다. 데이터 처리 속도를 빠르게 하기 위해 개발되었다.
- 입출력이 빠르다.
- 데이터 중복 제거를 하지 않는다. 즉, 정규화를 하지 않는다.
- 데이터 수정, 삭제가 관계형 DB에 비해서 느리다.
- 대용량 데이터 처리에 효율적이다.
위에서 설명한 특징대로 생각하자면, 정확도가 중요한 서비스에서는 관계형 DB, 입출력이 빠른게 중요하면 비관계형 DB를 사용하면 좋을 수 있다. 하지만 너무 이런 특징에 매몰되지 말고 상황에 따라 사용할 DB는 유동적으로 선택해야할 것이다.
'DataBase' 카테고리의 다른 글
[DataBase] 함수 종속과 정규화 (0) | 2024.12.09 |
---|---|
[DataBase] 데이터베이스의 이상 현상(Anomaly) (0) | 2024.12.02 |
E-R모델을 이용한 관계 데이터베이스 설계 방법 (0) | 2024.11.27 |
[SQL] SELECT로 데이터 출력하기 (0) | 2024.11.18 |
[DataBase] 인덱스(index)란? (0) | 2024.09.04 |