카테고리 없음

[DB]NoSQL 분석 및 SQL 과 차이점.

개발자리 2021. 3. 19. 14:58
반응형

[정의]

NoSQL이란 무엇일까,

말 그대로 SQL 쿼리문을 안쓴다는 것이다.

세상이 발전하고 데이터량이 방대해지면서

당연히 대규모 데이터를 저장하는 새로운 방식이 필요했을것이다.

기존에 관계형 데이터 베이스가 데이터들에 무결성을 입증하고 안전하게 잘 보관하는 장점이있지만.

새로운 대규모 데이터에는 정형데이터 뿐 아니라 새로 생기는 비정형 데이터들에 대한 처리도 필요하기 때문에

NoSQL이 주목받기 시작합니다.

 

[특징]

NoSQL에 가장 큰 특징은

관계형 데이터 베이스가 아니므로 관계형이 없고

스키마 또한 없습니다. 실제로 SQL을 사용 안하기에 JOIN 같은 개념도 없습니다.

데이터의 속성들을 다양하게 수용하고 동적으로 정의합니다.

확장성 및 가용성이 높습니다.

 

[확장성]

NoSQL은 대부분 확장성이 좋은데 확장성에는 두가지 특성을 갖습니다.

수직 (Vertical)확장

- Scale up 방식 하드웨어나 , CPU , 렘 등 하드웨어 구성성을 좋게 만듬 ( 확장성에 한계 존재)

수평 (Horizontal)확장

- Scale Out 방식 서버를 분산 시킴 서버 N중화

 

 

여기까지만 보면 NoSQL이 무조건 좋고 압도적인 점유율을 자랑할것 같다.

 

이제부터 NoSQL의 단점을 알아보자.

[단점]

- 유연성 때문에, 데이터 구조 결정을 하지 못하고 미루게 될 수 있습니다.

- 데이터의 무결성에 대한 보증이 없다. 중복된 데이터가 변경된 경우 여러개의 콜랙션에서 데이터를 바꿔야함

- 수정(update)를 해야 하는 경우 모든 컬렉션에서 수행해야 함을 의미합니다.

 

[결론]

장단점이 다 있으니 알아서 잘 찾아보면서 쓰는게 맞지 않을까 

반응형