RDBMS , NoSQL

도니·2022년 4월 5일
0

Database, DBMS, SQL

  • Database(DB) : 데이터 베이스는 여러 사람이 공유하고 사용할 목적으로 통합 관리되는 정보의 집합이다. 즉 자료를 구조화 하여 잘 정리한 데이터들의 집합이라고 생각하면 편하다.
  • DBMS : Database Management System의 약자로써 사용자와 데이터베이스 사이에서 사용자 요구에 따라 정보를 생성,관리하는 관리 소프트웨어이다. 대표적으로 Oracle, MySQL, MSSQL, MariaDB, PostgreSQL 등이 있다.
  • SQL : Structured Query Language로써 데이터 베이스 시스템 상에서 자료를 처리하는 용도로 사용되는 데이터 언어이다. DBMS별로 SQL 문법이 다르기도 하고 NoSQL 계열에서는 사용하지 않는다.

RDBMS

R은 Relational의 약자로 RDMBS는 관계형 데이터베이스 관리 시스템을 의미한다. 우리들에게 2차원 테이블의 형식으로 구성되는 DB들이 RDB이다. 또한 SQL을 이용하여 데이터를 정해진 스키마에 따라 저장을 하고 관리하는 방식을 사용한다. 제일 큰 특징으로는 외래 키(foreign key)인데 외래 키를 이용하여 테이블 간 Join이 가능하다.

회원 번호 (Primary Key)이름생일
0김길동2019.09.01
1홍길동2019.08.31
2박길동2019.08.09

(테이블 예시)

장점

  • 명확한 스키마를 통해 데이터의 무결성을 보장함
  • 각 데이터를 중복없이 한번만 저장
  • 데이터의 일관성을 보증할 수 있다.

단점

  • 스키마에 준수하지 않고는 데이터 추가 불가
  • Join문이 많은 매우 복잡한 쿼리문이 만들어 질 수 있다.
  • 수평적 확장이 어렵고 대체로 수직적 확장만이 가능하다.

NoSQL

NoSQL은 Not Only SQL의 약자로써 RDB와는 다르게 관계형 데이터베이스가 아닌 다른 형태의 저장방식을 사용한다. 그렇기 때문에 RDBMS와 다르게 정해진 스키마가 없고 Join이라는 개념도 존재하지 않는다. 그렇기 떄문에 Data Model도 다양하게 존재하는데 크게 4가지로 나눌 수 있다.

  • key-value (Redis, LevelDB)
  • Document (MongoDB)
  • Column-family (HBase, Cassandra)
  • Graph

장점

  • 스키마가 없기 때문에 자유로운 데이터 구조를 가질 수 있다.
  • 언제든 데이터 조정이 가능하다
  • 데이터 분산과 확장이 쉽다.

단점

  • 중복된 데이터가 존재할 수 있따.
  • 데이터 구조를 결정하기 어려울 수 있다.
profile
세상만사에 호기심

0개의 댓글