-
[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)를 해야 하는 경우 모든 컬렉션에서 수행해야 함을 의미합니다.
[결론]
장단점이 다 있으니 알아서 잘 찾아보면서 쓰는게 맞지 않을까
반응형