[Development] NO SQL


📝 NO SQL

  • NO SQL이란 SQL만을 사용하지 않는 DBMS를 지칭하는 단어다.
  • NO SQL은 한 종류의 DB를 뜻하는 것이 아니다. 다양한 NO SQL DB가 존재한다.
  • 빅데이터가 등장함에 따라 데이터와 트래픽의 양이 기하급수적으로 증가하여 한 대에서 실행되도록 설계된 관계형 데이터베이스를 사용하는 것은 하드웨어적으로 큰 비용이 들게 되었다.
  • 장비의 성능이 좋을수록 성능을 향상 시키는(scale-up 수직적 확장) 비용이 기ㅏ급수적으로 증가하기 때문이다.
  • No SQL은 데이터의 일관성을 약간 포기한 대신 여러 대의 컴퓨터에 데이터를 분산하여 저장하는(Scale-out 수평적확장)을 목표로 등장했다.
  • Nosql의 등장으로 작고 값싼 장비 여러대로 대량의 데이터와 컴퓨터 부하를 처리하는 것이 가능하게 되었다.

NO SQL DB의 종류

  • NO SQL DB에서는 다양한 데이터 모델을 사용한다.

key value DB

  • 키와 값으로 구성되는 DB다.
  • 수평적인 확장을 가능하게 한다.

Document DB

  • 데이터를 json document 형식으로 저장한다.

  • 직관적으로 손쉽게 데이터를 저장하고 조회할 수 있다.

Graph DB

  • 노드간 연결을 표현하는 데이터 모델에 적합하다.
  • 소셜 네트워킹, 추천 엔지 등에 사용된다.

NO SQL DB의 장점

유연성

  • NO SQL DB는 일반적으로 유연한 스키마를 제공하여 더 빠른 개발을 가능하게 해준다.
  • 반정형, 비정형 데이터 저장을 이상적으로 만들어 준다.

확장성

  • 1대의 고성능 컴퓨터를 사용하는 대신 여러대의 분산 컴퓨터를 사용하도록 할 수 있다.

고성능

  • 특정 데이터 모델 및 접근 패턴에 최적화 되어 뛰어난 성능을 보여준다.

고기능성

  • 각 데이터 모델에 맞춰 특별히 구축된 뛰어난 기능의 API와 데이터 유형을 제공한다.

🔎 출처 & 더 알아보기

태그:

카테고리:

업데이트: