상세 컨텐츠

본문 제목

220112 RDB vs NoSQL / scale-up & scale-out

카테고리 없음

by hunss 2023. 1. 12. 23:44

본문

RDBMS는

RDBMS = 관계형데이터베이스

테이블이 다른 테이블들과 관계를 맺는 관계형 데이터베이스입니다. 관계를 나타내기 위해 외래키를 사용하고, 외래 키를 이용해 테이블 간 join이 가능한게 특징입니다.

데이터 구조가 명확하며 변경 될 여지가 없으며 명확한 스키마가 중요한 경우.

데이터 무결성이 지켜지기 때문에 변경이 용이해서 데이터가 자주 변경이 이루어지는 시스템에 적합함

 

NoSQL는

말 그대로 관계형 데이터베이스가 아닌 다른 형태의 데이터베이스입니다. 데이터 중복이 발생할 수 있으며 중복된 데이터가 변경될 시에는 모든 컬렉션에서 수정을 해야하기 때문에, Update가 많이 이루어지지 않는 시스템에 좋다.

정형화되지 않은 데이터를 빠르게 수집하기 위해서.

채팅이라든지, 분석이 필요한 데이터들 ai챗봇이라든지, 백데이터를 수집하기엔 정형화되지 않은 데이터를 마음껏 수집해서 활용하기 위해.

-> nosql도 정형화된 스키마를 만들 수 있음. 이걸 이용해서 속도문제 해결 방안이 됨.

-> RDB에서는 indexing으로 속도 개선

 

==>

mysql vs postgresql

django와 connecting할 때 postgresql이 더 오류가 발생 안함.

mysql보다 postgresql이 필드적으로도 더 유연한 필드가 있음. 예를 들면 postgresql은 json데이터도 db에 바로 저장가능

이름 : 김남훈 이 아니라 이름: {“ko”:”김남훈”, “en”:”kimnamhun”} 이런식으로. 

그리고 mysql은 유료임.


처음 들어보는 단어 정리

scale-up

스케일 업은 기존 서버의 사양을 업그레이드해 시스템을 확장하는 것을 뜻하는 말

CPU나 RAM 등을 추가하거나 고성능의 부품, 서버를 교환하는 방법.

수직스케일 이라고도 부름

 

scale-out

스케일 아웃은 서버를 여러 대 추가하여 시스템을 확장하는 것을 뜻하는 말

서버가 여러 대로 나뉘기 때문에 각 서버에 걸리는 부하를 균등하게 해주는 '로드밸런싱'이 필수적.