RDB의 단점
- 유연한 확장성의 부족
- 복잡한 join은 read 성능의 하락
- RDB는 기본적으로 한 대의 컴퓨터에 저장 -> read/write 요청이 많아 지면 CPU/메모리 사용이 늘어남 -> db서버 부하
-> scale-up(컴퓨터를 성능 좋은 컴퓨터로 바꿔주는 것)을 통한 database 성능 향상
- multi-master, sharding같은 방법도 있지만 일반적으로 RDB는 scale-out(데이터 서버를 추가로 투입해 해결하는 방법)에 유연한 DB는 아님
- ACID를 보장하려다 보니 DB서버의 퍼포먼스에 어느 정도 안좋은 영향을 미침
NoSQL 특징
- 유연한 스키마 (ex : mongoDB) → application 레벨에서 스키마 관리를 해줘야 함
데이터베이스를 짤때 제약조건을 다 설정해둘 필요가 없다 → 필드를 짤때 스키마를 다 짤 필요가없다
- 중복 허용 (join 회피) → application 레벨에서 중복된 데이터들이 모두 최신 데이터를 유지할 수 있도록 관리해야 함
- scale-out 최적화 → 서버 여러대로 하나의 클러스터를 구성하여 사용
- ACID 일부를 포기하고 높은 처리량, 빠른 응답성 추구
* 금융,결제, 예약 시스템처럼 데이터의 일관성이 중요한 환경에서는 사용하기가 조심스러움
출처 - 쉬운코드 NoSQL
'백엔드 스터디 > 데이터베이스' 카테고리의 다른 글
RDB JOIN 종류와 특징 (0) | 2024.07.08 |
---|---|
SQL - DDL, DML, DCL (0) | 2024.07.05 |
SQL로 데이터 조회하기 - select를 활용해서 데이터를 읽어오는 기본적인 문법 (0) | 2024.07.04 |
SQL 데이터 추가(insert), 수정(update), 삭제(delete) (0) | 2024.07.03 |
SQL의 개념 (0) | 2024.07.02 |