Relational Database Management System의 약자로 관계형 데이터베이스를 관리하는 프로그램이라고 할 수 있다. 관계형 데이터베이스는 키(key)와 값(value)들의 간단한 관계를 테이블화 시킨 매우 간단한 원칙의 전산정보 데이터베이스이다.
RDBMS데이터 베이스에 데이터를 열(Column)과 행(Row)의 테이블 형태로 저장하고, 테이블 형태의 스키마를 지켜야 한다. 가장 대표적인 RDBMS는 Oracle사의 Oracle, Microsoft사의 MS-SQL Server, Oracle사의 MySQL, IBM의 DB2 등이 있다. 관계형 데이터 베이스를 다루기 위한 언어를 SQL 이라고 한다.
장점
정해진 스키마에 따라서 데이터를 저장하기 때문에 명확한 데이터 구조를 보장한다. 데이터 일관성을 보증.
정규화에 따른 갱신 비용 최소화
데이터의 분류, 정렬, 탐색의 속도가 빠르다.
SQL을 사용하여 데이터를 다룰 수 있다.
다양한 용도로 사용이 가능 (범용적)
단점
반드시 스키마 규격에 맞춰야 함 즉, 갱신 발생 테이블은 인덱스 생성과 스키마 변경이 요구됨
작업 부하의 분산이 어려움
객체와 관계의 mapping layer 복잡가능성
Join이 필요한 경우 확장성이 제약됨
테이블에 가변성이 있는 데이터 저장이 어려움
스키마 : 데이터 베이스의 테이블 구조 및 형식, 관계 등의 정보를 형식 언어(formal language)로 기술한 것용어 설명
2. NoSQL
NoSQLNot Only SQL 혹은 Non-Relational Operational DataBase의 약자로 비관계형 데이터베이스를 지칭한다.데이터 간의 관계를 정의하지 않으며 Key-Value 형태로 저장되기에 Join 연산이 불가능하다.분산형 구조로 설계되어 있어 서버에 데이터를 분산 저장하기에 특정 서버에 장애가 발생해도 데이터 유실 혹은 서비스 중지가 발생하지 않는다.
RDBMS에 비해 대용량의 데이터를 저장할 수 있다.
대량의 분산된 비정형 데이터를 저장하고 조회하는데 특화된 데이터베이스로 스키마 없이 사용하거나 느슨한 스키마를 제공하는 저장소.
장점
RDBMS(관계형데이터베이스)에 비해 저렴한 비용으로 분산처리와 병렬 처리가 가능하다.
비정형 데이터 구조 설계로 설계 비용이 감소한다.
Big Data 처리에 효과적이다.
가변적인 구조로 데이터 저장이 가능하다.
데이터 모델의 유연한 변화가 가능하다.
단점
데이터 업데이트 중 장애가 발생하면 데이터 손실 발생 가능
인덱스 구조가 메모리에 저장되기 때문에 많은 인덱스를 사용하려면 충분한 메모리가 필요.
데이터 일관성이 보장되지 않음.
3. 결론
RDBMS : 명확한 스키마를 보장하는 경우. 정형화 된 데이터를 사용하는 경우. 관계를 맺고 있는 데이터가 자주 변경되는 경우.
NoSQL : 정확한 데이터 구조를 알 수 없는 경우. 데이터 구조가 자주 변경/확장 되는 경우.