본문 바로가기
프론트엔드 개발

NoSQL이 뭘까?

by 쿠로미1003 2023. 1. 30.
반응형

오늘은 IT 5분 잡학사전 북리뷰 32장을 해보려고 합니다. 33장까지 할 수도 있고요. 일단 읽어보겠습니다. 31장에서는 SQL에 대한 내용을 공부했고 NoSQL에 대해 알아보려고 합니다. NoSQL은 노에스큐엘이라고 읽는다고 하네요. NoSQL의 데이터베이스 종류가 굉장히 많은데 책에서는 도큐먼트 데이터베이스, 키 값 데이터베이스, 그래프 데이터베이스에 대한 설명이 있습니다. 노에스큐엘 데이터베이스는 전통적 관계형 데이터베이스보다는 조금 덜 제한적 일관성 모델을 이용하는 메커니즘을 제공하고 있다고 합니다. 단순 검색과 추가적인 작업을 위해 매우 최적화된 키 값 저장 공간이라고 할 수 있습니다. 상당한 성능 이익을 내는 것이 목적인데 이 이익은 레이턴시와 스루풋과 관련한 것이라고 하네요. 노에스큐엘 시스템은 SQL 계열 쿼리 언어가 사용 가능하다는 사실을 강조한다는 면에서 Not only SQL이라고 불리기도 합니다. NoSQL은 언어의 특징만 있는 것이 아니고 그들이 사용하는 데이터베이스 자체의 성질도 다르다고 하네요. 먼저 도큐먼트 데이터베이스에 대해 알아봅시다. 도큐먼트 데이터베이스로는 몽고디비가 대표적입니다. 몽고 DB는 데이터를 제이슨 형식의 도큐먼트 형태로 저장합니다. 여기서 제이슨 형식이란 무엇이냐 하면 그냥 (키 1: 값 1, 키 2: 값 2,...)의 형태로 구성된 데이터의 모양을 말할 뿐이지 그 이상 그 이하도 아니라고 합니다. JSON 도큐먼트 형태의 데이터베이스는 대괄호와 중괄호로만 구성하면 되며 데이터마다 구성이 다 같을 필요가 없다고 합니다. 그래서 개발자가 원하는 어떤 모양이나 종류도 데이터라면 저장할 수 있다고 합니다. 이제 역사에 대해 잠시 알아볼까요? 카를로 스트로찌는 1998년 표준 SQL 인터페이스를 채용하지 않은 경량 오픈 소스 관계형 데이터베이스에 대해서 NoSQL이라고 이름 지었습니다. 2009년 초 요한 오스칼손이라는 사람이 오픈 소스 분산 데이터베이스에 대한 발표를 하기 위해서 미트업 행사를 조직하며 이와 같은 데이터베이스를 노에스큐엘이라고 불렀습니다. 다음으로는 키값 데이터베이스에 대해 알아보겠습니다. 키값 데이터베이스의 종류로는 다이나모 DB, 리악, 레디스, 캐시, 카산드라디비 등이 있는데요. 카산드라디비는 열이 넓어서 수만 개의 데이터를 1초 만에 순식간에 쓸 수 있다고 합니다. 이 장점을 가지고 애플이 카산드라디비로 10페타바이트의 데이트를 저장하고 있다는 놀라운 사실! 다이나모디비는 아마존이 만들었다고 하네요. 마지막으로 그래프 데이터베이스는 열이나 도큐먼트가 많이 필요하지 않다고 하네요. 하지만 노드라는 개념이 필요하다고 합니다. 인스타그램도 처음에는 PostgreSQL 즉, SQL 데이터베이스로 시작했는데 회사가 점점 성장하면서 그래프 데이터베이스로(NoSQL 데이터베이스) 옮겨야 하는 상황이 되었을 때 수정하였다고 해요. 용도에 맞게 두 가지를 잘 쓰면 되니 비교 우위를 따지지는 맙시다.

반응형

댓글