Chapter1 - NOSQL 개념
NOSQL
- Not Only SQL
- 기존 SQL 뿐만 아니라, SQL 이 할 수 없는 영역의 기술도 제공하는 대체, 보완 기술
장점
- 클라우드 컴퓨팅 환경에 적합하다.
- RDBMS 에 비해 비용 및 성능 지연 문제에 적합
- 구축 단계에 비용 발생이 덜하다.
- 유연한 데이터 모델
- RDBMS 는 데이터 베이스를 설계하기 위해 필요한 선수 개념들이 많다.
- 비정형 구조인 컬렉션, 테이블, 노드는 구체적이고 까다롭지 않기 때문에, 설계하기 쉽다.
- 빅데이터 처리에 효과적
- RDBMS 보다 빅데이터 처리에 효과적이다.
- 빅데이터 처리에 대응하기 위해 나온 데이터베이스이기 때문.
NOSQL 종류와 선정 기준
- 순차적으로 조건을 만족하며 선정 기준을 세분화한다.
1. 초당 5만건 이상의 데이터가 발생하는가?
- RDBMS 로도 충분히 가능.
2. 트랜잭션 제어가 필요한가?
- 필요하지 않다면, Haddop, Eco-System 등의 파일 시스템 기반으로 충분히 가능.
3. 데이터 무결성이 요구되는가?
- 무결성을 보장하기 위해서 RDBMS 가 적합하다. 하지만, 매번 데이터 저장 시 무결성 검증 -> 성능 지연 문제 발생
- 필요하지 않다면, Key-Value, Column-Family 데이터베이스를 선택 가능
4. 수평적 Data-Sets 인가?
- 2차원 수평적 데이터 구조
- 여러 개의 컬럼과 구성되는 열과 다수의 행이 교차되는 구조
- 이와 같은 구조로 저장 및 관리할 경우, Document DB 선택
5. 계층형 데이터인가?
- 계층 Depth 가 10~20 레벨 이상일 경우 Graph DB 선택
Key-Value DB 활용
장점
- Redis 는 인메모리 기반의 데이터 저장 구조이다.
- 모든 데이터는 1차적으로 메모리에 우선 저장 -> 2차적으로 디스크에 존재하는 파일에 저장되고, DBMS 에 할당 및 자동 관리되는 시스템
- Redis 는 메모리에만 저장되고, 사용자는 필요에 따라 수동 관리 가능.
- 추가 관리를 안 할 경우, 메모리 유실,
- 크리티컬한 비즈니스 환경의 경우, Main DB 로는 부적합.
- 하나의 Key 와 Data 값으로 구성 된다.
- Redis DB 의 저장 구조를 테이블이라 한다.
- 데이터 표현 방식은 RDBMS 와 완전히 다름.
- 데이터 일부를 잠시 보관 또는 가공 처리된 데이터를 임시로 보관 가능하다.
- 가공 처리가 요구되는 비즈니스 환경에서 적합하다.
- Redis, Memcached 는 주로 보조 DB 로 사용
- 디스크 IO 문제를 해결할 수 있다.
- 가공처리, 통계 분석, 데이터 캐싱, 메시지 큐 등의 용도로 사용 가능.
활용 영역
- 실시간 분석 영역
- IOT 영역
- 계층 정보수집 영역
- 개인화 정보관리 영역
- 전자 상거래 비즈니스 영역
반응형
'📘 DataBase > Redis' 카테고리의 다른 글
[빅데이터 저장 및 분석을 위한 NoSQL & Redis] Chapter 6 - Redis Cluster 시스템 & 로그 모니터링 (0) | 2023.08.20 |
---|---|
[빅데이터 저장 및 분석을 위한 NoSQL & Redis] Chapter 5 - Redis 아키텍처 (0) | 2023.08.20 |
[빅데이터 저장 및 분석을 위한 NoSQL & Redis] Chapter 4 - Redis Data Modeling (0) | 2023.08.20 |
[빅데이터 저장 및 분석을 위한 NoSQL & Redis] Chapter 3 - 트랜잭션 제어 & 사용자 관리 (0) | 2023.08.20 |
[빅데이터 저장 및 분석을 위한 NoSQL & Redis] Chapter 2 - Redis 설치 및 데이터 처리 (0) | 2023.08.20 |