본문 바로가기
Database

[Database] 데이터베이스 RDBMS / NOSQL 에 관하여

by jn4624 2022. 7. 21.
반응형

1. Database란

여러 사람들이 공유하고 사용할 목적으로 통합 관리되는 데이터들의 모임이다.

데이터에비스는 크게 관계형(RDMBS)와 비관계형(NOSQL)로 간략히 정리할 수 있다.

 

2. DBMS란

Database Management System의 약자로 다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 데이터베이스 관리시스템 소프트웨어를 의미한다.

 

3. RDB란

RDB란 Relational Database의 약자로 관계형 데이터베이스라 불리고 말 그대로 데이터 모델마다 관계가 있는 데이터베이스라 볼 수 있다.

 

데이터 모델은 컬럼(column)과 로우(row)로 이루어졌을 때 하나의 테이블(table)이라 할 수 있다.

데이터 항목들은 로우에 저장되고, 항목의 속성은 컬럼이라고 표현한다. 열은 항목의 속성만큼 입력되는 데이터의 유형이 정해진다.

 

관계형 데이터베이스에 관계는 테이블 간의 관계를 의미하고, 각 테이블 행들이 연결되어 상호작용할 수 있도록 한다.

이 때 관계는 1:1, 1:N, N:M으로 구분 가능하다.

 

4. RDBMS란

Relational Database Management System의 약자로 RDB를 관리하는 소프트웨어를 의미한다.

2차원 테이블 형태로 표현하는 데이터베이스로 구성된 테이블이 다른 테이블들과 관계를 맺고 모여 있는 집합체를 의미한다.

이러한 관계를 나타내기 위해 외래키(foreign key)라는 것을 사용하는데 외래키를 이용한 테이블간 Join이 가능하다는게 가장 큰 특징이다.

ERD(Entity Relationship Diagram)를 통해 설계를 하여 쉽게 DB를 이해할 수 있다.

 

a. 특징

  • 데이터를 컬럼과 로우 형태로 저장한다.
  • 데이터의 분류, 정렬, 탐색 속도가 비교적 빠르다.
  • SQL(Structured Query Language, 구조화 질의어)이라는 정교한 검색 쿼리를 통해 데이터를 다룬다.
  • Transaction 기능으로 작업의 완전성을 보장한다.
  • 반드시 Schema 규격에 맞춰야 해서 유연한 데이터 저장이 어렵다.
  • 부하의 분산이 어렵다.
  • 종류로는 ORACLE, MySQL, SQL Server 등이 있다.

 

5. NoSQL이란

Not Only SQL의 약자로 관계형 데이터베이스와 반대되는 방식을 사용하여 데이터간의 관계를 정의하지 않아 일반적으로 테이블간 Join이 불가능하다.

데이터 일관성은 포기하되 비용을 고려하여 여러 대의 데이터에 분산하여 저장하는 Scale-Out을 목표로 등장하였다.

NoSQL은 Schema가 없어 좀 더 자유롭게 데이터를 관리할 수 있으며 테이블과 같은 개념의 컬렉션이라는 형태로 데이터를 관리한다.

 

a. 특징

  • 데이터간의 관계를 정의하지 않아 테이블간의 Join이 불가능하다.
  • RDBMS의 복잡도와 용량 한계를 극복하기 위한 목적으로 등장한 만큼 RDBMS에 비해 훨씬 더 대용량의 데이터를 저장할 수 있다.
  • 분산형 구조로써 데이터를 여러 대의 서버에 분산하여 저장할 수 있다.
  • 고정되지 않은 테이블 Schema가 존재하지 않아 다루기가 비교적 쉽다.
  • key에 대한 put / get만 지원한다.
  • Schema가 없다보니 데이터에 대한 규격화된 결과 값을 얻기 힘들다.
  • 종류로는 MongoDB, Cassand, Redis 등이 있다.

 

 

🙏 참조 ::

반응형