RDBMS 란?
- 모든 데이터를 2차원 테이블 형태로 표현하는 것
- 2차원 테이블 형태로 표현한 데이터베이스. 속성과 값을 가진 테이블들은 서로 관계를 맺으며 존재
- 2차원 테이블 형태로 표현한 데이터베이스를 생성하고 저장, 관리하는 소프트웨어
RDBMS 특징
- 고정된 스키마 사용
- SQL(Structured Query Language)를 사용해서 데이터에 접근하며 CRUD 조작 허용
- 트랜잭션의 무결정 보장을 위한 ACID 설정
- 데이터의 일관성과 정확성 유지 위한 제약 조건 적용 가능
- NOT NULL
- UNIQUE
- FOREIGN KEY
- 2차원 구조 모델 기반 수평적 구조 사용
ACID 원칙
Atomicity - 원자성
Consistency – 일관성
Isolation – 독립성
Durability – 지속성
NoSQL 이란?
NoSQL 특징
- 유연한 스키마 사용, 데이터 구조 자주 변경되는 애플리케이션에 유리
- 수평적 확장 지원. 대규모 데이터 여러 서버에 분산 저장하여 효율적 관리 가능
- BASE 속성
- Basically Available, Soft state, Eventually consistent
- 데이터의 일관성을 완벽하게 보장하지 않더라도 가용성을 높이고 확장성을 확보할 수 있다는 뜻
- 다양한 데이터 모델
- Key-Value DB, Document DB, Wide Column DB, Graph DB …
RDBMS 장단점
장점
- 데이터의 분류, 정렬, 탐색 속도가 빠르다.
- 엄격한 스키마와 제약 조건을 통해 데이터의 무결성 유지.
- 복잡한 쿼리 지원.
단점
- 복잡한 쿼리 지원.
- 성능 향상을 위해 Scale-up만 지원. (많은 비용 발생)
- 스키마로 인해 데이터가 유연하지 못함.
NoSQL 장단점
장점
- 스키마가 없어 유연하고 자유로운 구조
- Scale-up / Scale-out 모두 가능
- RDBMS에 비해 저렴한 비용으로 분산처리와 병렬 처리 가능
- 데이터 모델의 유연한 변화 가능
단점
- 제한된 쿼리 기능
- 데이터 일관성이 항상 보장되지 않음
- 데이터의 중복 발생 가능
그래서 뭘 사용해야 할까?
=> RDBMS!!
=> NoSQL!!
[참고 자료]
[Database] RDBMS와 NoSQL의 차이점 알아보기 !
데이터베이스 관리 시스템으로 RDBMS(Relational DataBase Management System)이 널리 쓰이고 있지만,대용량 데이터 저장, 비정형 데이터 저장, 빠른 응답시간 등의 새로운 요구사항에 기존 RDBMS만으론 대응
velog.io
https://gwamssoju.tistory.com/99
[DataBase] RDBMS VS NoSQL
처음 데이터 베이스에 대해 배울 때, Oracle을 배웠기 때문에 모든 데이터 베이스가 Oracle과 같은 줄 알았다. 하지만 정보처리기사를 준비하면서 Oracle 같은 관계형 데이터베이스만 있는 게 아니라
gwamssoju.tistory.com
https://velog.io/@choijaehyeokk/DBMS%EC%99%80-RDBMS
DB, DBMS, RDBMS를 한페이지로 정리!
DB, DBMS, RDBMS에 대해서 한번에 정리가 필요한사람! 세상에 DBMS 종류가 이렇게 많았구나..
velog.io
https://www.oracle.com/kr/database/nosql/what-is-nosql/
개발자가 NoSQL 데이터베이스를 선호하는 이유
NoSQL 데이터베이스는 변화하는 요구사항에 빠르게 적응하기에 애자일 개발 방법론에 자연스럽게 부합합니다.
www.oracle.com
'내배캠 > TIL' 카테고리의 다른 글
데이터 베이스 정규화 (1) | 2024.09.05 |
---|---|
JWT, Filter (0) | 2024.09.04 |
[스프링] 예외 처리 (0) | 2024.08.29 |
스프링 인터셉터 (0) | 2024.08.29 |
[SQL] 주문량이 많은 아이스크림들 조회하기 (0) | 2024.08.28 |