We.TIL 40 : 관계형DB vs 비관계형DB

김기욱·2020년 9월 20일
0

We.TIL

목록 보기
61/69

관계형과 비관계형 DB중 어떤것을 사용하는데는 많은 고민이 뒤따른다. 각각 DB형태의 장/단점 비교를 통해 DB선택에 고민을 줄여보자.

관계형 DB의 장점

1) 관계형DB는 데이터를 더 효율적이고 체계적으로 저장하고 관리할 수 있다.

2) 미리 저장하는 데이터들을 구조를 정의함으로써 데이터의 완전성이 보장된다.

3) 트랜잭션(Transaction)기능을 제공한다.

관계형 DB의 단점

1) 테이블을 미리 정의해야 하므로 테이블 구조 변화 등에 덜 유연하다.

2) 확장이 쉽지않다. 테이블 구조가 미리 정의되어야 하고 ACID를 보장해야 하다보니 단순히 서버를 늘리는 것만으로 확장하기가 쉽지 않고 서버 성능 자체도 높여야 한다.

3) 서버를 늘려서 분산 저장하는 것도 쉽지 않다. 주로 스케일 아웃(scaleout = 서버수를 늘려서 확장하는 것)보다는 스케일업(scaleup, 서버의 성능을 높이는 것)으로 확장해야 한다.

비관계형 DB의 장점

1) 데이터 구조를 미리 정의하지 않아도 되므로 저장하는 데이터의 구조 변화에 유연하다.

2) 데이터베이스 시스템 확장하기가 비교적 쉽다. 스케일아웃, 즉 서버 수를 늘리는 방식으로 시스템의 확장이 가능하다.

3) 확장하기가 쉽고 데이터의 구조도 유연하다 보니 방대한 양의 데이터를 저장하는데 유리하다.

비관계형 DB의 단점

1) 데이터의 완정성이 덜 보장된다.

2) 트랜잭션이 안 되거나 되더라도 비교적 불안정하다.

결론

관계형 DB시스템은 주로 정형화된 데이터들 그리고 데이터의 완전성이 중요한 데이터들을 저장하는데 유리하다. 예를 들어, 전자상거래 정보, 은행계좌 정보, 거래 정보 등을 저장하고 관리하는데 유리하다.

반면에 비관계형 데이터베이스 시스템은 주로 비정형화 데이터, 그리고 완전성이 상대적으로 덜 유리한 데이터를 저장하는데 유리하다. 로그데이터가 좋은 예가 될 것이다.

이번 TIL내용은 "깔끔한 파이썬 탄탄한 백엔드"에서 발췌했습니다.

profile
어려운 것은 없다, 다만 아직 익숙치않을뿐이다.

0개의 댓글