NoSQL 데이터베이스

<1> NoSQL 데이터베이스란 무엇입니까?

  • NoSQL 데이터베이스란 무엇입니까?SQL뿐만 아니라“의 줄임말로 SQL 외에 추가 기능을 갖춘 데이터베이스말한다
  • 관계형 데이터베이스(Oracle, MySQL 등) 성능 향상을 위해 일부 기능 포기(처리 속도) 데이터베이스입니다.
  • SNS 사용량이 늘어나면서 사진, 동영상 등 비정형 데이터를 처리하는 모습을 보였다.
  • 데이터 구조를 미리 결정하지 마십시오 왜냐하면 비정형 데이터의 손쉬운 처리하다

<2> NoSQL 데이터베이스 유형

MongoDB, Cassandra, Hbase 및 CouchDB를 예로 들 수 있습니다.


(1) 키-값을 이용한 연관 배열 형태의 데이터베이스


(2) 행 단위가 아닌 열 단위로 데이터를 보고하는 데이터베이스


(3) 데이터를 노드로 표시하고 노드 간의 관계를 에지로 표시하는 그래프 데이터베이스


(4) 문서 기반 데이터 처리 데이터베이스


※ 그림은 위의 4가지 유형의 데이터베이스 분류를 나타냅니다.


<3> NoSQL의 속성

  1. RDBMS와 달리 데이터 간의 관계를 정의하지 않습니다.
    • RDBMS는 외래 키와의 데이터 관계를 정의하고 JOIN 작업을 수행할 수 있지만 NoSQL은 JOIN 작업을 수행할 수 없습니다.
  2. RDBMS와 비교 많은 양의 데이터 저장할수있다
  3. 분산 구조가지다
    • 여러 서버에 데이터를 분산 저장하여 특정 서버에 장애가 발생하더라도 데이터 손실이나 서비스 중단이 없습니다.
  4. 고정되지 않은 테이블 스키마가지다
    • RDBMS와 달리 테이블 스키마는 유연합니다. 열이 다른 이름과 다른 데이터 유형을 갖도록 데이터를 저장하는 것은 허용됩니다.→

<4> SQL과 NoSQL의 장점

SQL NoSQL
상대적으로 빠른 데이터 분류, 정렬 및 검색 속도 계획 없이 훨씬 더 유연한 구조
데이터 무결성 보장 RDBMS보다 덜 복잡하여 대용량 데이터 저장 및 관리 가능
작업의 완성도 보장 수직 및 수평 확장 가능 → 모든 읽기/쓰기 요구 사항 처리 가능
데이터 업데이트가 빠름 대용량 데이터 저장 처리 가능

<5> SQL과 NoSQL의 단점

SQL NoSQL
수평 확장의 어려움(수직 확장만 해당) 키값 입/출력만 지원
조인 문은 관계 때문에 매우 복잡합니다. 중복 데이터가 많기 때문에 모든 컬렉션에 데이터 변경이 필요합니다.
도식적으로 융통성이 없는 구조 데이터 업데이트가 느림