dada's

DB의 종류와 특징 본문

Tip

DB의 종류와 특징

dykang 2022. 6. 27. 20:27
728x90

 

현재 실제 웹서비스 개발시 이용하는 데이터베이스는 대부분 둘 중 하나로 분류된다

관계형 데이터베이스, NoSQL데이터베이스이다

 

관계형(Relational)데이터베이스

: 엑셀처럼 행과 열로 데이터를 저장할 수 있는 데이터베이스를 뜻한다.

80년대부터 시작하여 아직까지도 사용중인 데이터베이스의 표준같은 데이터베이스이다

엑셀의 시트처럼생긴 테이블이라고 불리는 공간을 하나 생성한 수 행과 열에 맞춰 데이터를 쭉 저장한다


✓특징

  • 거의 모든 곳에 사용할 수 있어 범용적이다
  • 구조화된 데이터를 저장하기 가장 좋다
  • 보통 SQL이라는 언어를 이용해 데이터를 출력, 입력한다
  • "이 열엔 숫자가 들어옵니다"하고 스키마를 미리 정의하기 때문에 관리가 쉽다
  • 구조화된 데이터 덕분에 원하는 데이터를 뽑기도 쉽다
  • 트랜잭션 롤백 이런 기능을 이용해 데이터의 무결성을 보존하기 쉽기 때문에 금융, 거래 서비스에 필수이다

 

NoSQL 데이터 베이스

: SQL문 없이도 사용할 수 있는 데이터베이스이다

대부분 테이블에 국한되지 않고 자유로운 형식으로 데이터를 쉽게 분산저장 할 수 있다


종류

종류는 매우 여러가지가 있다

  • key-value 모델 : object, json 자료형 형식으로 데이터를 쉽게 저장, 출력이 가능하다 (가장 심플)
  • Document 모델 : 테이블대신 collection이라는 문서기반으로 데이터를 분류하고 저장한다 (테이블보다는 훨씬 유연)
  • Graph 모델 : 데이터를 노드 형태로 저장하고 노드같의 흐름 또는 관계를 저장할 수 있습니다
  • Wide-columm 모델 : 한 행마다 각각 다른 수, 다른 종류의 열을 가질 수 있습니다. (스키마가 자유로움)

특징

  • Scaling이 쉽다는 장점이 있다. 순간적으로 대량의 데이터를 입출력할때 확장 걱정없이 쉽게 데이터를 입출력 할 수 있다
  • 대부분 다루기 쉽다. SQL이라는 언어를 새로 배우지 않아도 데이터를 쉽게 입출력할 수 있다.
  • 서버에서 쓰던 프로그래밍 언어로 DB를 다룰 수 있다는 장점이 있다
  • 대부분 스키마 정의 없이도 쉽게 쓸 수 있다 (장점이자 단점임)
  • NoSQL 데이터베이스는 기본적으로 SQL에서의 JOIN 연산을 적용하는게 기본적으로 어렵다

728x90

'Tip' 카테고리의 다른 글

ajax는 무엇인가  (0) 2022.07.05
소스트리 사용중 깃허브에 잔디가 안심어지는 경우  (0) 2022.06.29
REST API란?  (0) 2022.06.20
API는 무엇인가  (0) 2022.06.17
node나 npm install 등등 하며 생기기 쉬운 에러 정리  (0) 2022.06.15
Comments