[개념] NoSQL

2019. 8. 8. 14:19·개념

NoSQL은 전통적인 관계형 데이터베이스와 달리 유연한 데이터 저장 모델을 가지며, 저장 및 검색에 특화된 형태의 데이터 저장 모델입니다.

특징

  • 데이터간 관계를 정의하지 않음
    • 관계를 정의하지 않기 때문에 Join이 안됨
  • 대용량 데이터 저장 가능
    • 트랜잭션을 제공하지 않고, 단순한 모델을 사용하여 대량의 데이터 저장 가능
  • 분산형 구조
    • 고성능 머신으로 데이터를 처리하지 않고, 범용 장비를 클러스터로 묶어서 데이터를 처리하여 스케일 아웃, 장애복구 등에 용이함
  • 스키마가 없음
    • 데이터가 정해진 형태로 들어가는 것이 아니라 다양한 형태로 입력할 수 있음
    • 로그 데이터, 비디오, 이미지 형태의 데이터도 저장 가능

CAP 이론

  • NoSQL은 분산구조이기 때문에 분산 컴퓨팅 환경의 CAP특징을 가지고, 이중에서 두 가지만 만족할 수 있으면 됨
    • Consistency: 일관성
      • 분산 노드 중 어디에 접근해도 데이터의 값은 동일해야 함
    • Availability: 가용성
      • 모든 요청에 응답을 해야 함
    • Partition tolerance: 분할내성
      • 노드에 장애가 생겨도 동작 가능

NoSQL 분류

  • Key-Value Store
    • Key와 Value의 쌍으로 데이터가 저장되는 가장 단순한 형태의 솔루션
    • Dynamo, Redis
  • Document
    • JSON, XML과 같은 Document 형태로 데이터를 저장
    • 트리형 구조로 데이터를 저장, 검색에 효과적
    • MongoDB, CoughDB
  • Column
    • Key-Value 에서 발전된 형태
    • 하나의 키에 여러개의 칼럼으로 데이터를 저장
    • HBase, Cassandra, ScyllaDB
  • Graph
    • 데이터를 그래프로 표현
    • 노드와 엣지로 관계를 표현
    • Neo4J, OreientDB 등의 제품이 있습니다.
반응형
저작자표시 비영리 동일조건 (새창열림)

'개념' 카테고리의 다른 글

[개념] 유니코드 인코딩 UTF와 BOM  (0) 2019.09.17
[개념] 한글 문자 인코딩  (0) 2019.09.17
[개념] 메모리 누수(Memory Leak) 현상  (0) 2019.07.02
[개념] 오브젝트 스토리지(Object Storage)  (1) 2019.05.08
[개념] 프로그래밍에서 보일러플레이트(boilerplate)의 뜻  (0) 2019.02.27
'개념' 카테고리의 다른 글
  • [개념] 유니코드 인코딩 UTF와 BOM
  • [개념] 한글 문자 인코딩
  • [개념] 메모리 누수(Memory Leak) 현상
  • [개념] 오브젝트 스토리지(Object Storage)
hs_seo
hs_seo
Hello World!
    반응형
  • hs_seo
    개발자로 살아남기
    hs_seo
  • 전체
    오늘
    어제
    • 전체 (1140)
      • 개발자 (21)
        • 개발에 유의할 점 (0)
        • 면접 (5)
      • IT 소식 (5)
        • 업계 (1)
      • java (51)
        • 디자인패턴 (3)
        • apache-common (1)
      • 개념 (47)
        • 자료구조 (4)
        • 함수형사고 (8)
        • 디자인패턴 (1)
      • 데이터분석 (1)
      • python (67)
        • 코드조각 (12)
        • 라이브러리 (2)
      • 빅데이터 (418)
        • zookeeper (5)
        • hadoop (78)
        • hdfs (12)
        • hive (127)
        • hbase (16)
        • spark (40)
        • scala (4)
        • trino (3)
        • oozie (41)
        • Hue (9)
        • R (5)
        • sqoop (6)
        • flume (3)
        • elasticsearch (2)
        • airflow (16)
        • kafka (3)
        • kubernetes (10)
        • openstack (3)
        • flink (2)
        • redis (2)
      • 빅데이터 강좌 (2)
      • 알고리즘 (131)
        • 알고리즘 (1)
        • 백준 (61)
        • 정올 (41)
        • 더블릿 (5)
        • 프로그래머스 (1)
      • 프로그래밍 언어 (30)
        • go (4)
        • js (9)
        • .Net (6)
        • Jsp (1)
        • ansible (3)
        • terraform (6)
      • Tools (56)
        • docker (2)
        • macbook (6)
        • maven (3)
        • sublime (1)
      • 프레임워크 (25)
        • [JS] angularjs (2)
        • [JS] node.js (19)
        • [Java] spring (2)
        • Android (2)
      • 데이타베이스 (43)
        • SQLD (5)
        • Oracle (1)
        • MySQL (8)
        • ADsP (2)
      • 리눅스 (25)
        • Bash (61)
      • GCP (5)
      • AWS (34)
        • EC2 (2)
        • EMR (14)
      • 정보보안기사 (4)
        • 네트워크 (1)
      • 개인 (80)
        • 업무실수 (0)
        • 책 (9)
        • 교육 (3)
        • 여행 (17)
        • 영화 (12)
        • 음악 (2)
        • 피규어 (4)
        • 게임 (3)
        • 생각 (7)
        • 기타 (10)
        • 좋은글 (5)
        • 좋은 사이트 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • 빅데이터-하둡,하이브로 시작하기
    • 빅데이터-스칼라, 스파크로 시작하기
    • Kaggle에서 파이썬으로 데이터 분석 시작하기
    • 쉘스크립트 개발 시작하기
    • 개발자가 데이터 분석 준전문가 되기
    • 데브쿠마
  • 공지사항

  • 인기 글

  • 태그

    nodejs
    S3
    하둡
    AWS
    SPARK
    build
    정올
    bash
    파이썬
    mysql
    Tez
    Hadoop
    Python
    ubuntu
    yarn
    java
    airflow
    다이나믹
    hbase
    HIVE
    oozie
    error
    오류
    백준
    알고리즘
    k8s
    하이브
    HDFS
    emr
    Linux
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
hs_seo
[개념] NoSQL
상단으로

티스토리툴바