NoSQL(Not Only SQL)
기존의 관계형 데이터베이스가 갖는 특징과 제한을 극복하기 위해 개발된 다양한 형태의 비관계형 데이터베이스
주요 특징:
- 유연한 스키마: 관계형 데이터베이스는 미리 정의된 스키마를 따라야 하지만, NoSQL은 유연한 스키마를 지원한다. 데이터의 구조를 변경하거나 새로운 필드를 추가하는 등의 작업이 쉽고 빠르게 가능하다.
- 확장성: NoSQL 데이터베이스는 수평적 확장을 지원하여 대용량의 데이터를 효율적으로 처리할 수 있다. 클러스터를 확장하거나 분산 데이터베이스를 구성할 수 있어서 높은 처리 능력을 갖추고 있다.
- 다양한 모델: NoSQL은 다양한 모델을 제공한다. 일반적으로 키-값 스토어, 컬럼 패밀리 스토어, 문서 스토어, 그래프 스토어 등 다양한 데이터 모델을 지원한다.
- 빠른 속도: NoSQL 데이터베이스는 많은 경우 데이터를 메모리에 저장하고 인덱싱하여 빠른 읽기와 쓰기 속도를 제공한다.
- 분산 환경: NoSQL은 대용량 데이터 처리에 적합한 분산 환경을 지원하며, 복제와 장애 복구 등의 기능을 갖추고 있어 데이터의 안정성을 보장한다.
주로 NoSQL 데이터베이스는 다음과 같은 상황에서 활용된다.
- 대규모의 비정형 데이터를 처리할 때 (예: 웹 로그)
- 빠른 속도로 데이터를 읽고 쓸 때 (예: 실시간 애플리케이션)
- 데이터베이스를 여러 대의 컴퓨터에 분산해서 처리해야 할 때
그러나 NoSQL은 모든 상황에 적합한 것은 아니다. ACID 특성(트랜잭션이 안전하게 수행되도록 보장하는 중요한 특성들 : Atomicity, Consistency, Isolation, Durability)과 데이터의 일관성을 중요하게 여기는 상황에서는 여전히 관계형 데이터베이스가 더 적합할 수 있다. 그래서 데이터베이스를 선택할 때는 데이터의 특성과 사용 목적을 고려하여 적절한 데이터베이스를 선택하는 것이 중요하다.
'Data Engineering > 빅데이터를 지탱하는 기술' 카테고리의 다른 글
[빅데이터를 지탱하는 기술] 빅데이터 기초 지식 (3) | 2023.11.10 |
---|---|
[빅데이터를 지탱하는 기술] 데이터 웨어하우스와 데이터 마트 (0) | 2023.08.01 |
[빅데이터를 지탱하는 기술] Hadoop VS Spark (0) | 2023.07.28 |
[빅데이터를 지탱하는 기술] Spark (0) | 2023.07.28 |
[빅데이터를 지탱하는 기술] Hadoop (0) | 2023.07.28 |