카테고리 없음
nosql, rdb, olap, oltp, rto, rpo
흰색남자
2022. 10. 13. 15:17
https://too612.tistory.com/511
nosql이 rdb보다 빠른 이유
rdb는 특정한 형식에 맞게 검사를함
nosql은 상대적으로 자유로운 형식을 지니고 있어, 처리단계가 줄어듬
관계형 데이터베이스의 특징은 아래와 같다.
- 2차원 데이터로 표현된다 (행/열)
- 상호관련성을 가진 테이블의 집합으로 구성된다
- 테이블 사이의 관계를 외래키로 나타낸다
- 스키마 변경이 어렵다
- Vertical Scalable 하지만, Horizontal scale은 어렵다
- 메인테넌스 코스트 / 사용 요금이 비싸다
- SQL을 사용해 데이터를 질의한다
- ACID 성질을 갖는다
NoSQL 데이터베이스의 특징은 아래와 같다.
- 다양한 방식으로 데이터를 표현한다
- 테이블(혹은 컬렉션 혹은 또 다른 명칭) 사이에 딱히 명시된 제약이나 규칙이 없다
- 스키마가 고정적이지 않고, 매우 유연하다
- Horizontal Scale이 쉽다
- 코스트 저렴 / 오픈소스도 많다
- 연산이 빠르고 빅데이터 & 실시간 연산에 적합하다
3. RDB vs. NoSQL
그럼 이제 둘을 비교해보자.
- RDB는 관계형으로 데이터를 저장하지만, NoSQL은 그렇지 않다.
- RDB는 스키마가 정적이지만, NoSQL은 유연한 스키마 구조를 갖는다.
- RDB는 수직 확장이 용이하고, NoSQL은 수평 확장이 용이하다. (즉, RDB는 서버 용량을 늘리는 게 쉽고, NoSQL은 서버를 여러 대 늘리는 게 쉽다)
- 위와 관련해서, RDB는 확장 시 다운타임이 있을 수 있지만, NoSQL은 거의 없다.
- RDB는 복잡한 쿼리와 Join 연산이 가능하다. NoSQL은 구조화된 쿼리 언어가 없는 경우도 많고, 일반적으로 Join이 없다.
- RDB는 OLTP에 적합하고, NoSQL은 OLAP에 적합하다. (즉, RDB는 트랜잭션 처리에 용이하고, NoSQL은 분석 처리에 용이하다)
OLTP : 온라인 뱅킹, 쇼핑, 주문 입력 또는 텍스트 메시지 전송 등 동시에 발생하는 다수의 트랜잭션을 실행하는 데이터 처리 유형 // RDB
OnLine Trancation Processing
OLTP는 현재의 데이터 처리가 얼마나 정확하고, 무결한지가 중요
OLAP : 대규모 비즈니스 데이터베이스를 구성하고 복잡한 분석을 지원하는 기술 // NoSQL
OnLine Analytical Processing
OLAP는 이미 저장된 데이터를 바탕으로 어떤 정보를 제공하는지가 중요
RTO ( Recovery Time Objective ) // 목표 복구 시간
장애 발생 시 시스템을 원 상태로 복구하는데 소요되는 시간.
- 얼마나 빨리 복구되어야 하는가.
- 서비스가 재개될 때까지 걸리는 시간
RPO // Recovery Point Objective ) // 목표 복구 시점
- 얼마나 자주 백업을 할 것 인가?
>> 얼마만큼의 데이터 손실을 감당할 수 있는가?