본문 바로가기
📘 DataBase/Redis

[빅데이터 저장 및 분석을 위한 NoSQL & Redis] Chapter 1 - NOSQL 개념

by GroovyArea 2023. 7. 23.

Chapter1 - NOSQL 개념

NOSQL

  • Not Only SQL
    • 기존 SQL 뿐만 아니라, SQL 이 할 수 없는 영역의 기술도 제공하는 대체, 보완 기술

장점

  • 클라우드 컴퓨팅 환경에 적합하다.
    • RDBMS 에 비해 비용 및 성능 지연 문제에 적합
    • 구축 단계에 비용 발생이 덜하다.
  • 유연한 데이터 모델
    • RDBMS 는 데이터 베이스를 설계하기 위해 필요한 선수 개념들이 많다.
    • 비정형 구조인 컬렉션, 테이블, 노드는 구체적이고 까다롭지 않기 때문에, 설계하기 쉽다.
  • 빅데이터 처리에 효과적
    • RDBMS 보다 빅데이터 처리에 효과적이다.
    • 빅데이터 처리에 대응하기 위해 나온 데이터베이스이기 때문.

 

NOSQL 종류와 선정 기준

  • 순차적으로 조건을 만족하며 선정 기준을 세분화한다.

1. 초당 5만건 이상의 데이터가 발생하는가?

  • RDBMS 로도 충분히 가능.

2. 트랜잭션 제어가 필요한가?

  • 필요하지 않다면, Haddop, Eco-System 등의 파일 시스템 기반으로 충분히 가능.

3. 데이터 무결성이 요구되는가?

  • 무결성을 보장하기 위해서 RDBMS 가 적합하다. 하지만, 매번 데이터 저장 시 무결성 검증 -> 성능 지연 문제 발생
  • 필요하지 않다면, Key-Value, Column-Family 데이터베이스를 선택 가능

4. 수평적 Data-Sets 인가?

  • 2차원 수평적 데이터 구조
    • 여러 개의 컬럼과 구성되는 열과 다수의 행이 교차되는 구조
  • 이와 같은 구조로 저장 및 관리할 경우, Document DB 선택

5. 계층형 데이터인가?

  • 계층 Depth 가 10~20 레벨 이상일 경우 Graph DB 선택

 

Key-Value DB 활용

장점

  • Redis 는 인메모리 기반의 데이터 저장 구조이다.
    • 모든 데이터는 1차적으로 메모리에 우선 저장 -> 2차적으로 디스크에 존재하는 파일에 저장되고, DBMS 에 할당 및 자동 관리되는 시스템
    • Redis 는 메모리에만 저장되고, 사용자는 필요에 따라 수동 관리 가능.
    • 추가 관리를 안 할 경우, 메모리 유실,
    • 크리티컬한 비즈니스 환경의 경우, Main DB 로는 부적합.
  • 하나의 Key 와 Data 값으로 구성 된다.
    • Redis DB 의 저장 구조를 테이블이라 한다.
    • 데이터 표현 방식은 RDBMS 와 완전히 다름.
    • 데이터 일부를 잠시 보관 또는 가공 처리된 데이터를 임시로 보관 가능하다.
  • 가공 처리가 요구되는 비즈니스 환경에서 적합하다.
    • Redis, Memcached 는 주로 보조 DB 로 사용
    • 디스크 IO 문제를 해결할 수 있다.
    • 가공처리, 통계 분석, 데이터 캐싱, 메시지 큐 등의 용도로 사용 가능.

활용 영역

  1. 실시간 분석 영역
  2. IOT 영역
  3. 계층 정보수집 영역
  4. 개인화 정보관리 영역
  5. 전자 상거래 비즈니스 영역
반응형