CS 기초 | 데이터베이스_4세대 NoSQL

호떡·2022년 12월 12일
0

이전 데이터 vs 빅데이터

구분빅데이터 이전의 데이터빅데이터
데이터 유형정형화된 문자, 수치 데이터 중심정형, 반정형, 비정형 데이터 모두 포함
관련 기술1) 관계 데이터 베이스 2) SAS, SPSS와 같은 통계 패키지 3) 데이터 마이닝 4) 기계학습1) 저장기술: 하둡, NoSQL 2) 분석기술: 텍스트 마이닝, 오피니언 마이닝, 소셜 네트워크 분석, 군집 분석 3) 표현기술: R 언어
저장 장치데이터베이스나 데이터 웨어하우스와 같은 고가의 저장 장치비용이 저렴한 클라우드 컴퓨팅 장비 활용 가능

등장 배경

관계 데이터베이스를 대신할 새로운 대안의 필요성

  • 정형화된 데이터를 주로 처리하는 관계 데이터베이스
    빠른 속도로 대량 생산되는 다양한 유형의 비정형 데이터를 저장 및 관리하는데 적합하지 않음
  • 단일 컴퓨터 환경에서 주로 사용되는 관계 데이터베이스
    여러 컴퓨터가 연결되어 하나의 시스템을 구성하는 클러스터 환경에는 확장성 측면에서 비효율적임

새로운 대안으로 NoSQL 등장

  • 관계 데이터베이스만 고집하지 말고 필요에 따라 다른 특성을 제공하는 데이터베이스를 사용하는 것이 좋다는 의미로 이해

예를 들어, AMAZON과 같은 쇼핑몰과 Instagram과 같은 SNS

쇼핑몰SNS
입력 vs 조회조회입력 (조회보단 추천)
DBMS관계 데이터베이스NoSQL

NoSQL (Not Only SQL)

  • 의미
    빠른 속도로 생성되는 대량의 비정형 데이터를 저장하고 처리하기 위해 ACID(원자성, 일관성, 격리성, 지속성)를 위한 트랜잭션 기능을 제공하지 않는 대신 저렴한 비용으로 여러 대의 컴퓨터에 데이터를 분산, 저장, 처리하는 것이 가능한 데이터베이스
  • 특징
    1) 관계 모델모다 더 융통성 있는 데이터 모델 사용
    2) 스키마 없이 동작하기 때문에 데이터 구조를 미리 정의할 필요가 없고 수시로 그 구조를 바꿀 수 있어 비정형 데이터를 저장하기에 적합
    3) 대부분 오픈 소스로 제공

관계 데이터베이스 vs NoSQL

관계 데이터베이스NoSQL
장점트랜잭션을 통해 일관성을 유지하고, 외래키로 테이블 간의 관계를 표현함으로써 조인과 같은 복잡한 질의 처리가 가능트랜잭션 기능을 제공하지 않고 정해진 스키마도 없기 때문에 자유롭게 구조를 바꾸며 대량의 비정형 데이터를 빠르게 저장하고 처리할 수 있음
단점빠른 속도로 증가하는 대량의 비정형 데이터를 저장하는데 확장성 측면에서 비효율적SQL 대신 별도의 분석 기술을 이용해 데이터 속에 숨겨진 의미를 찾아내야 함

👉 저장될 데이터의 형태와 처리 목적에 더 적합한 것을 선택

  • 관계 데이터 베이스
    예) 기업의 인사, 회계 자료와 같이 일관성이 중요하고 조인과 같은 복잡한 질의 처리가 필요한 정형화된 데이터를 관리하는 용도, 실제로 현업에선 결제와 관련된 데이터를 관계 데이터베이스로 관리
  • NoSQL
    예) SNS에 게시된 이미지와 텍스트, CCTV 촬영 영상, 센싱 데이터와 같이 빠른 속도로 엄청난 양이 생성되지만 수정보다는 삽입 연산 위주의 데이터를 저장하고 관리하는 용도

NoSQL(비정형 데이터)이 갖는 장점을 설명하시오.

  • 답변 포인트
    NoSQL은 빅데이터를 저장할 때 많이 사용합니다.
    NoSQL과 관계형 데이터베이스를 비교해서 설명합니다.
    내가 해본 프로젝트나 실제 사례를 들어 설명해도 좋음
  • 답변 사례예시
    NoSQL은 비관계형이기 때문에 정해진 테이블에 하나씩 데이터를 집어넣어 사용할 수 있으며, 다른 데이터 구조를 가져와 사용할 수도 있기 때문에 대규모의 데이터를 유연하게 처리할 수 있고 설계가 단순하고 데이터의 확장에 훨씬 유리합니다.
    NoSQL은 대량의 데이터를 무한대로 추가하여 저장할 수 있으며, 가변성이 있는 데이터의 저장도 용이하여, 결과적으로 유지 보수에 적은 비용이 발생합니다.

0개의 댓글