SQL 와 NoSQL 의 정의

JBoB·2023년 1월 19일

🐧SQL 와 NoSQL 를 알기전에..!

SQL 와 NoSQL 들은 둘의 명확한 차이점은 있지만데이터 형식에 맞는 데이터베이스를 저장합니다.

둘의 차이점을 알기 위해선 데이터베이스의 개념부터 알고 넘어가야될 필요가 있습니다. 간단하게 알고 넘어가겠습니다.

🐤데이터베이스(DB)란 무엇일까?

  • 데이터 베이스는 데이터의 집단 즉 데이터의 저장소을 말한다.
  • 데이터를 조직화 하면 한 곳에만 쏠리는 데이터 용량을 효율적으로 관리할 수 있고 여러 데이터의 유형을 분리 할 수 있기에 한 유형의 데이터만 수정할 수 있다.
  • 데이터베이스를 만들고 관리하는 방식에 따라 데이터베이스 시스템을 구분할수 있다.
  • DBMS(Database Management System, 데이터베이스 관리 시스템)란?
    • 데이터베이스 라는 데이터의 집합을 만들고, 저장 및 관리할 수 있는 기능들을 제공하는 응용 프로그램이다. 즉, 데이터의 관리에 특화된 프로그램이라고 생각하면 편하다.
    • DBMS의 유형에는 계층형(Hierarchical), 망형(Network), 관계형(Relational), 객체지향형(Object-Oriented), 객체관계형(Object-Relational) 등으로 분류됩니다. 현재 사용되는 DBMS 중에는 관계형 DBMS가 가장 많은 부분을 차지하며, MySQL도 관계형 DBMS에 포함됩니다.

🐧관계형 데이터베이스 (SQL)

  • 위 그림처럼 행(row) 과 열(column) 로 구성된 데이터베이스이다.
  • 열은 속성에 대한 정보를 저장하고, 행은 데이터 형식을 저장한다.
  • 명확하게 정의된 스키마이다.
  • 관계는 각 데이터를 중복없이 한번만 저장하여 데이터를 사용할 때 수월하다.

🐤관계형 데이터베이스 종류

  • MySQL
  • Oracle
  • SQLite
  • MariaDB
  • PostgresSQL

🐤 SQL 사용 할 때는 언제인가?

  • 관계를 맺고 있는 데이터가 자주 변경되는 경우에 사용한다.
  • 테이블의 관계가 구조화된 데이터베이스이기 때문에 명확한 스키마가 장점이라고 볼 수 있다.
    명확한 스키마가 사용자와 데이터에게 중요한 경우 사용한다.
  • 구조화된 쿼리 언어를 사용할 수 있다는 장점이 있다.

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

  • 비관계형 데이터베이스는 관계형 데이터베이스와는 다르게 종이봉투라는 컬렉션에
    객체로 담겨진 서류들로 구성된 데이터베이스로 구성되어 있다.
  • SQL과 반대되는 접근방식이기 때문에 이름이 NoSQL이다. 관계형 데이터베이스의 뜻과 반대되는 말들이
    비관계형 데이터베이스이다.
  • 데이터가 고정되어 있지 않은 데이터베이스를 말한다.
  • 대량의 데이터와 높은 사용자 부하에서도 손쉽게 확장이 가능하다.

🐤 비관계형 데이터베이스의 종류

  • Key-Value Database
  • Wide-Column Database
  • Document Database ⇒ mongoDB 가 대표적인 예제
  • Graph Database

🐤 NoSQL의 장점

  • RDBMS에 비해 저렴한 비용으로 분산처리와 병령 처리 가능하다.
  • 동적인 데이터로 인한 구조 설계로 설계 비용 감소하다.
  • 빅 데이터 처리에 효율적이다.
  • 유동적인 데이터로 저장이 가능하여 가변적인 구조로 데이터 저장이 가능하다.
  • 데이터 모델이 다양하여 다양한 변화가 가능하다.

🐤 그렇다면 단점은…?

  • 데이터 업데이트 중 장애가 발생하면 데이터 손실 발생이 가능
  • 데이터 일관성이 항상 보장되지는 않는다.

참고:

SQL과 NoSQL 비교: 5가지 주요 차이점

[데이터베이스] SQL(구조화 쿼리 언어) vs NoSQL(비구조화 쿼리 언어) - 하나몬

profile
간절하고 치열하게 살자

0개의 댓글