RDB 와 No-SQL
RDB (Relational Database)
ACID rules
- 원자성(Atomicity) - 중간 단계까지 실행되고 실패하는 일이 없도록 하는 것
- 일관성(Consistency) - 트랜잭션 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것
- 고립성(Isolation) - 다른 트랜잭션의 작업이 끼어들지 못하도록 보장하는 것
- 지속성(Durability) - 성공적으로 수행된 트랜잭션은 영원히 반영되는 것
NO-sql (Not Only SQL)
Key-Value
- Set 처럼 자료 저장
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
}
},
....
{...}
]
- json 과 같은 비슷한 형태
그래프
인 메모리
- 디스크 대신 RAM에 저장
- 휘발성
RDB vs NO-sql
관계형 데이터베이스 | NO-sql 데이터베이스 | |
---|---|---|
최적의 워크로드 | 관계형 데이터베이스는 트랜잭션 및 강력히 일관된 온라인 트랜잭션 프로세싱(OLTP) 애플리케이션을 위해 설계 | NoSQL 키 값, 문서, 그래프 및 인 메모리 데이터베이스는 낮은 지연 시간의 애플리케이션을 포함한 수많은 데이터 액세스 패턴에 맞도록 OLTP를 위해 설계되었습니다. NoSQL 검색 데이터베이스는 반정형 데이터에서 분석을 위해 설계되었습니다 |
데이터 모델 | 테이블, 행, 열, 인덱스, 테이블 간 관계, 기타 데이터베이스 요소를 정확하게 규정 | 문서, 그래프, 키 값, 인 메모리, 검색 등 다양한 데이터 모델 |
ACID 속성 | ACID(atomicity, consistency, isolation, durability)의 속성을 제공 | 관계형 데이터베이스의 일부 ACID 속성을 완화 |
성능 | 디스크 하위 시스템에 따름. 쿼리, 인덱스, 테이블 구조 최적화 필요 | 하드웨어 클러스터 크기, 네트워크 지연 시간 및 호출 애플리케이션에 따름 |
확장 | 머신성능 향상 | 분산형 아키텍처 |
API 요청 | SQL(구조화 질의 언어)을 준수하는 쿼리 | 객체 기반 API |
성능
데이터 모델 | 성능 | 확장성 | 유연성 | 복잡성 | 기능 |
---|---|---|---|---|---|
키-값 스토어 | 높음 | 높음 | 높음 | 없음 | 가변적 (없음) |
컬럼 지향 스토어 | 높음 | 높음 | 준수 | 낮음 | 최소 |
도큐먼트 지향 스토어 | 높음 | 가변적 (높음) | 높음 | 낮음 | 가변적 (낮음) |
그래프 데이터베이스 | 가변적 | 가변적 | 높음 | 높음 | 그래프 이론 |
관계형 데이터베이스 | 가변적 | 가변적 | 낮음 | 준수 | 관계대수 |
Author And Source
이 문제에 관하여(RDB 와 No-SQL), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@1sonjm/RDB-와-No-SQL저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)