RDB(Relational Database)
관계형 데이터 베이스이다.
데이터가 중복되지 않도록 테이블의 역할이 명확하게 구분되어 있다.
특징
SQL 쿼리 언어를 사용한다.
테이블마다 스키마(Schema)를 정의해야한다.
데이터 타입과 제약으로 데이터의 정확성이 보장된다.
속도보다 트렌젝션 시의 ACID가 중요하다.
ACID
Atomicity(원자성) : 트렌젝션이 중간에 중단되지 않고 처음부터 끝까지 수행하는 것
Consistency(일관성) : 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것
Insolation(격리성) : 트렌젝션 처리 중에 간섭하지 못하도록 하는 것
Durability(지속성) : 하나의 트렉젝션이 발동하면 하드디스크에 영구히 저장되는 것
수직적 확장(Scale up)에 적합하다
데이터 중복이 없어 쓰기 속도가 빠르다
비용이 많이 들어 확장성이 좋지 않다.
Undo와 Redo를 제공한다.
MariaDB, MySQL, Oracle 등이 있다.
NoSQL(Not Only SQL)
비관계형 데이터베이스의 형태
데이터 중복이 가능하여 object안에 object를 넣을 수 있다.
특징