RDBMS와 NOSQL
2022. 6. 7. 18:59
반응형
RDBMS와 NOSQL
DBMS와 SQL
DBMS(DataBase Management System)
- 사용자가 데이터베이스 내 데이터에 접근하도록 도와주는 시스템이다.
SQL(Structured Query Language)
- 관계형 데이터베이스 관리 시스템의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다.
- 자료의 검색과 관리, DB 스키마의 생성과 수정, 데이터베이스 객체 조정 관리를 위해 고안되었다.
RDBMS(Relational DataBase Management System)
관계형 데이터베이스 관리 시스템
RDB(Relational DataBase)
를 관리하는 시스템이며,RDB
는 관계형 데이터를 기초로 두고 모든 데이터를 2차원 테이블 형태로 표현하는 데이터베이스이다.- 각각의 속성과 값을 가진 테이블들은
JOIN
을 통해 서로 관계를 맺으며 존재한다. - 스키마의 규격에 맞춰서 데이터를 저장하고 수정해야 한다.
- 대표적인 RDBMS는
MySQL
,Oracle
,MSSQL
등이 있다.
NoSQL(Not Only SQL)
Not Only SQL의 약자로 단순히 기존 관계형 DBMS가 갖고 있는 특성뿐만 아니라, 다른 특성들을 부가적으로 지원한다는 것을 의미한다.
- 관계형 데이터베이스와는 다르게 데이터, 테이블 간의 관계를 정의하지 않는다.
- 정해진 스키마가 없어서 자유롭게 데이터를 저장할 수 있다.
- RDBMS 방식으로는 처리할 수 없는 복잡하고 대용량의 데이터를 처리할 수 있다.
Key-Value
형식으로 값을 나타낼 수 있고, Key값만 가지고 데이터 입출력을 진행할 수 있다.- Ex) 고객 ID : user1 / 고객정보 : 홍길동, 27세, 남자
- 대표적인 NoSQL는
Redis
,MongoDB
가 있다.
RDBMS/NoSQL의 장점 및 단점
RDBMS
장점
- 정해진 스키마에 따라서 데이터를 저장하므로 명확한 데이터의 구조를 보장한다.
- 관계에 있어서 각 데이터를 중복없이 한 번만 저장할 수 있다.
단점
- 데이터 처리에 대한 부하가 발생하면 처리가 어렵다. 즉, 시스템이 커질경우 JOIN문이 많은 복잡한 쿼리가 만들어질 수 있다.
- 반드시 스키마 규격에 맞춰서 데이터를 다뤄야하므로 유연하지가 않다.
NoSQL
장점
- 정해진 스키마가 없기 떄문에 유연하고, 자유로운 데이터 구조를 가질 수 있다.
- 데이터 간 관계를 정의하지 않는다. 즉, 테이블 간의 연관관계가 없다.
- 복잡도가 낮아서 대용량의 데이터를 관리, 저장할 수 있다.
- 데이터 분산이 용이하며 성능 향상을 위한
Scale-up
뿐만 아니라Scale-out
또한 가능하다.
단점
- 데이터의 중복이 발생할 수 있으며, 중복된 데이터가 변경될 경우 모든 컬렉션에서 수행해야 한다.
- 명확한 데이터 구조를 보장하지 않기 때문에 데이터 구조를 결정하기 어려울 수 있다.
Key값
에 의한 입출력만 지원한다.
반응형