본문 바로가기
통계 및 데이터분석

비정형 데이터베이스가 왜 생겼을까? CAP이론, RDBMS, NoSQL

by 연구잼 2023. 6. 25.
반응형

비정형 데이터베이스가 왜 생겼을까? CAP이론, RDBMS, NoSQL

1. 비정형 데이터베이스 배경

빅데이터는 데이터의 크기가 매우 크며 데이터 형태가 비정형적이고 다양하다는 특징이 있다. 기존 정형 데이터 베이스만으로 빅데이터를 해결할 수 없기 때문에 비정형데이터베이스가 생겨났으며, 대용량의 데이터를 신속하게 처리하기 위해 분산 시스템 이용에 대한 필요성이 생겨났다. 이를 통해 비정형 데이터베이스인 NoSQL과 Hadoop이 생겨났으며 대용량 데이터를 신속처리할 수 데이터베이스가 등장하였다.

2. CAP이론

CAP이론 설명 그림

CAP이론은 NoSQL의 이론적 배경으로 대용량 분산 데이터 저장소는 일관성, 가용성, 지속성을 모두 만족시키는 것이 불가능하다. 따라서 전략적으로 세 가지중 두 가지만 선택해야한다는 이론이다. 일관성은 분산환경에서 모든 노드가 같은 시점 같은 데이터를 보여줘야한다는 것을 의미하며 노드가 여러개더라도 한 노드에서 보여지는 것 처럼 동작하는 것을 말한다. 가용성은 일부가 다운되어도 다른 노드에 영향을 주지 않는다는 것을 의미한다. 즉 문제없는 노드에 들어간 모든 요청은 정상 응답 받아야한다. 지속성은 일부 데이터를 손실하더라도 시스템이 정상 동작하는 것을 말한다.

    • Consistency 일관성: 분산환경에서 모든 노드가 같은 시점 같은 데이터 보여줘야한다.
    • Availability 가용성: 일부 노드가 다운되어도 다른 노드에 영향 주지 않아야 한다.
    • Partition Tolerance 지속성: 일부 데이터를 손실하더라도 시스템은 정상 동작해야 한다.

-분산시스템이 이 세가지를 모두 만족시키는 것은 불가능하다.

3. NoSQL

NoSQL(No Structural Query Language)은 스키마가 없는 데이터베이스를 말하며 전통적인 관계형 데이터 베이스인 RDBMS와 다르게 설계된 비관계형 데이터베이스이다. 스키마는 데이터 구조를 말하며 NoSQL은 용이한 데이터 규모 확장성을 가지고 있으며 데이터를 다수의 하드웨어에 분석하여 저장한다. NoSQL은 데이터저장 방식에 따라 분류 할 수 있으며 키값, 컬럼, 도큐먼트, 그래프에 따라 여러가지형태의 RDBMS가 개발되어 사용되고 있다. NoSQL의 특징은 먼저 스키마가 없다는 것이다. 키값을 이용하여 다양한 형태의 데이터를 저장하고 접근할 수 있다. 두번째로 탄력성이다. 시스템에 일부 장애가 발생해도 시스템 접근이 가능하고 동시에 대용량 데이터를 생성 및 갱신할 수 있다. 또한 성능 확장 역시 용이하다. 세번째 특징은 데이터의 특성에 맞게 검색, 처리할 수 있는 쿼리 기능이다. NoSQL과 기존 RDBMS와의 차이를 보면 아래와 같다.

    • RDBMS는 대용량 데이터 및 다양한 유형의 데이터 처리에 어렵다.
    • NoSQL은 수평적 확장성으로 데이터 분산, 다양한 유형 데이터 관리가 가능하다.
    • RDBMS 관계형 데이터베이스는 일관성과 가용성은 선택하고 데이터 무결성, 정확성 보장이라는 장점이 있다.
    • NoSQL은 일관성/가용성 중 하나 포기, 지속성 선택을 했으며 장점으로 웹 환경 다양한 정보 검색 및 저장이 가능하다.