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값에 의한 입출력만 지원한다.
반응형



