NoSQL

김익현·2022년 8월 17일
0

wecode

목록 보기
31/35
post-thumbnail

데이터 베이스

  • 일반적으로는 데이터의 모음으로, 컴퓨터 시스템에 전자적으로 저장되는 조직화된 데이터 모음(대량의 데이터를 효율적으로 관리)
  • 데이터 베이스를 만들고 관리하는 방식에 따라 데이터 베이스의 유형이 나뉨.
  • 데이터베이스는 데이터의 모음 뿐아니라 데이터를 조직하는 유형과 데이터 베이스 관리 시스템까지 묶어서 데이터베이스라고 부름!
    • 관계형 데이터 베이스 (MySQL,Oracle 등등)
    • 비관계형 데이터 베이스 (MongoDB,CassandraDB 등등)

관계형 데이터 베이스 (SQL 기반 데이터베이스)

  • 고정된 행과 열로 이루어진 테이블에 데이터를 저장함 (엑셀로 생각하면 편함)
  • 처음에 정의한 데이터 타입에 맞는 형태의 중복없는 데이터만 넣을수있다.
  • 형식이 있기 때문에 데이터를 사용할때 매우 수월함.
  • 대표적인 관계형 데이터베이스 관리 시스템 : MySQL,Oracle 등등
  • 이러한 관계형 데이터베이스 관리 시스템들은 SQL언어를 사용하므로 관계형 데이터베이스를 SQL이라고 부른다.

비관계형 데이터 베이스 (NoSQL 기반 데이터베이스)

  • 고정된 형식이 아닌 모델에 따라 다양한 유형의 데이터베이스가 있음.
  • 자유롭게 데이터를 이것저것 넣을 수 있음, 하지만 읽어올때 영향을 미침.(잘못 읽을수 있음)
  • 대량의 데이터를 빠르게 불러 올 수 있고 높은 사용자 부하에 손쉽게 확장가능.
  • 대표적인 비관계형 데이터베이스 관리 시스템 : MongoDB, CassandraDB 등등
  • 주요 유형은 문서,키 값, 와이드 컬럼 스토어, 그래프가 있다.

    키 값 유형

    • 데이터를 고유한 키값을 사용하여 저장되어 빠르게 찾는데 사용함.
    • 관계형 데이터베이스와 비슷하다고 생각 할 수 있지만 관계형 데이터베이스와는 다르게 고정된 데이터 타입이 아닌 유연한 데이터 타입을 저장 할 수 있다.

    문서 유형

    • JSON 유사형식의 데이터를 저장하는 데이터 형식
    • 개발자들이 사용하는 모델과 동일한 형식으로 손쉽게 데이터를 저장하고 관리 할 수 있다.
    • 프론트엔드에서 구성하는 목데이터와 비슷한 형식
       [
       	{
       		"id":1,
       		"name":"익현",
       		"gender":"male"
       	},
       	{
       		"id":2,
       			...
       		이런식으로 저장.
       ]

    와이드 컬럼 스토어 유형

    • 하나의 큰 카테고리(컬럼패밀리)에 데이터를 나눠 담을 수 있음.
    • 위에 데이터의 구조는 위에서 설명한 키-값 데이터베이스의 구조이다.
    • 데이터를 압축하고 계산하는데 편리하고 확장성이 뛰어남

    그래프 유형

    • 인덱스를 이용하지않아도 연결된 노드를 빠르게 찾음.
    • 복잡한 데이터구조를 빠르게 처리할수있음.(반대로 단순한구조가 오래걸림)
    • 소셜네트워크 같은 네트워크 및 커뮤니티 상태를 분석하는 용도로 많이쓰임.

      (원이 노드, 선이 엣지)

관계형 데이터베이스 와 비관계형 데이터 베이스의 차이점

저장방식

관계형 데이터베이스는 SQL을 이용해 정해진형식에 맞게 데이터를 저장하지만, 비관계형 데이터베이스는 다양한 유형으로 데이터를 저장함.

속도

관계형 데이터베이스는 여러부분에서 적당한 속도를 유지한다고하면, 비관계형 데이터베이스는 여러 유형별로 장점인부분에대한 빠른속도를 보여줌.

확장성

관계형 데이터베이스는 수직적으로 확장을 함. 계속 정해진 틀에 데이터를 추가하다보니 메모리를 추가하거나,CPU를 늘려서 서버를 증설해야야함

비관계형 데이터베이스는 수직,수평적으로 확장을 함. 서버를 추가하여 데이터베이스를 분산시켜서 관리하기 때문에 많은데이터를 처리하기 좋음.

스키마 (데이터를 담는 틀)

관계형 데이터베이스는 고정된 스키마에 맞춰 변경해서 데이터를 넣어야함. 나중에 변경 할 수 있지만, 데이터베이스 전체를 수정 해야함.

비관계형 데이터베이스는 스키마를 동적으로 관리 할 수 있음. 언제든지 저장된 데이터를 조정하고 새로운 데이터를 추가 할 수 있음.

한줄정리

데이터베이스란?

자료기지

통합하여 관리되는 데이터의 집합체 (데이터 창고)

SQL (Structured Query Language)

구조화된 질의 언어

관계형 데이터베이스 시스템에서 자료를 관리하기위해 설계된 언어(검색,관리,생성,수정…)

관계형 데이터베이스

키와 값들의 간단한 관계를 테이블화 시킨 매우 간단한 원칙의 데이터베이스

왜 관계형인가?

테이블간 연결되는 관계를 맺을수 있기때문 (일 대 일 , 일 대 다, 다 대 다)

테이블을 분리하고 중복데이터를 제거하는 과정을 정규화 라고한다.

비관계형 데이터베이스 (Not Only SQL)

SQL뿐만 아니라 여러 장점을 갖고 있는 데이터베이스

NoSQL

초고용량 데이터 처리 등 성능에 특화된 목적을 위해, 비관계형 데이터 저장소에, 비구조적인 데이터를 저장하기 위한 분산 저장 시스템

참조

https://velog.io/@swhan9404/NoSQL-의-종류별-특징

https://hanamon.kr/데이터베이스-sql-vs-nosql/

https://devuna.tistory.com/25

https://gaemi606.tistory.com/74

profile
놀땐 화끈하게 놀고, 할땐 부끄럽지않게 확실하게 하자!!

0개의 댓글