2019-12-12 피드백 || RDB 와 NO-sql
RDB (Relational Database)
ACID rules
원자성 (Atomicity) - 중간 단계까지 실행되고 실패하는 일이 없도록 하는 것
일관성 (Consistency) - 트랜잭션 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것
고립성 (Isolation) - 다른 트랜잭션의 작업이 끼어들지 못하도록 보장하는 것
지속성 (Durability) - 성공적으로 수행된 트랜잭션은 영원히 반영되는 것
NO-sql (Not Only SQL)
document
[
{
"year" : 2013 ,
"title" : "Turn It Down, Or Else!" ,
"info" : {
"directors" : [ "Alice Smith" , "Bob Jones" ] ,
"release_date" : "2013-01-18T00:00:00Z" ,
"rating" : 6.2
}
} ,
... .
{ ... }
]
인 메모리
RDB vs NO-sql
관계형 데이터베이스
NO-sql 데이터베이스
최적의 워크로드
관계형 데이터베이스는 트랜잭션 및 강력히 일관된 온라인 트랜잭션 프로세싱(OLTP) 애플리케이션을 위해 설계
NoSQL 키 값, 문서, 그래프 및 인 메모리 데이터베이스는 낮은 지연 시간의 애플리케이션을 포함한 수많은 데이터 액세스 패턴에 맞도록 OLTP를 위해 설계되었습니다. NoSQL 검색 데이터베이스는 반정형 데이터에서 분석을 위해 설계되었습니다
데이터 모델
테이블, 행, 열, 인덱스, 테이블 간 관계, 기타 데이터베이스 요소를 정확하게 규정
문서, 그래프, 키 값, 인 메모리, 검색 등 다양한 데이터 모델
ACID 속성
ACID(atomicity, consistency, isolation, durability)의 속성을 제공
관계형 데이터베이스의 일부 ACID 속성을 완화
성능
디스크 하위 시스템에 따름. 쿼리, 인덱스, 테이블 구조 최적화 필요
하드웨어 클러스터 크기, 네트워크 지연 시간 및 호출 애플리케이션에 따름
확장
머신성능 향상
분산형 아키텍처
API 요청
SQL(구조화 질의 언어)을 준수하는 쿼리
객체 기반 API
성능
데이터 모델
성능
확장성
유연성
복잡성
기능
키-값 스토어
높음
높음
높음
없음
가변적 (없음)
컬럼 지향 스토어
높음
높음
준수
낮음
최소
도큐먼트 지향 스토어
높음
가변적 (높음)
높음
낮음
가변적 (낮음)
그래프 데이터베이스
가변적
가변적
높음
높음
그래프 이론
관계형 데이터베이스
가변적
가변적
낮음
준수
관계대수
Written 12월 16, 2019 by sonjm