NoSQL
관계형 데이터베이스가 아닌 다른 형태의 데이터 저장소를 지칭합니다. NoSQL 데이터베이스는 다양한 형태로 데이터를 저장할 수 있는데, 이는 테이블 형태가 아닌 key-value store, document store, wide-column store, graph database 등으로 구성될 수 있습니다. NoSQL은 유연성과 확장성을 강조하는데, 대량의 분산 데이터를 다루거나 스케일링이 필요한 경우에 유용합니다. NoSQL은 특정 형식의 데이터베이스나 스키마가 자주 변경되는 경우에 유용할 수 있습니다.
NoSQL 데이터베이스
MongoDB, Cassandra, Redis, Couchbase 등
NoSQL 장단점
장점
수평적 확장성
대부분 NoSQL 시스템은 수평적으로 확장이 가능합니다. 클러스터에 노드를 추가하여 처리 능력을 증가시키거나 대용량 데이터를 효과적을 다룰 수 있습니다.
비정형 데이터 처리
NoSQL은 비정형 데이터, 대규모 데이터, 그래프 데이터 등을 처리하는 데 효과적입니다.
분산 데이터베이스
다수의 서버에 데이터를 분산하여 저장하므로 시스템 장애 시에도 데이터 유실을 최소화할 수 있습니다.
단점
쿼리의 제한
SQL 기능이 부족할 수 있으며, 특히 다양한 조인과 복잡한 쿼리를 수행하는 데 한계가 있을 수 있습니다.
보안과 안정성
일부 NoSQL 시스템은 보안 및 안정성 측면에서 RDBMS에 비해 미흡할 수 있습니다.
RDBMS
관계형 데이터베이스를 기반으로 하는 시스템으로, 데이터를 테이블 형태로 구성합니다. 이러한 테이블은 행과 열의 형태로 되어있으며, 각 테이블은 고유한 식별자로 구분됩니다. 이러한 테이블 간의 관계를 통해 데이터를 조작하고 관리합니다. SQL을 사용하여 데이터를 검색 수정 삭제하고 관리할 수 있습니다.
RDBMS 데이터베이스
MySQL, PostgreSQL, Oracle, SQL Server 등
RDBMS 장단점
장점
데이터 일관성 및 무결성
RDBMS는 ACID(원자성, 일관성, 격리성, 지속성) 특성을 준수하여 데이터 일관성과 무결성을 보장합니다.
정규화
데이터 정규화를 통해 중복을 최소화하고 일관된 데이터 구조를 유지할 수 있습니다.
관계형 모델
테이블 간의 관계를 이용하여 데이터를 구성하기 때문에 복잡한 쿼리 및 분석을 수행하기 용이합니다.
단점
수직적 확장의 한계
일분 RDBMS는 수직적 확장만 지원하기 때문에 한계에 도달하면 성능을 향상하기 어려울 수 있습니다.
고정된 스키마
엄격한 스키마 구조를 가지고 있어 데이터 모델 변경이 어려울 수 있습니다. 새로운 필드 추가나 변경이 필요할 때 스키마를 수정하는 작업이 번거로울 수 있습니다.
RDBMS와 NoSQL 비교
데이터 모델
RDBMS는 테이블 가반의 정형화된 데이터 모델을 사용하고, NoSQL은 다양한 유형의 데이터 모델을 제공합니다.
스키마
RDBMS는 엄격한 스키마를 가지고 있어 데이터 구조가 변경되기 어렵지만, NoSQL은 유연한 스키마를 갖고 있어 데이터 모델을 쉽게 변경할 수 있습니다.
확장성
NoSQL은 수평적 확장이 쉽고, 대규모 데이터를 처리하는 데 유리합니다. RDBMS는 수직적 확장이 주로 이루어지며, 데이터 양이 많아지면 더 많은 리소스를 필요로 합니다.
'알쓸I잡(알면 쓸모있는 IT 잡학사전)' 카테고리의 다른 글
Primary Key & Foreign Key (0) | 2024.01.10 |
---|---|
FetchType.Lazy Error (0) | 2023.12.29 |
Error resolving template api/boards template might (0) | 2023.12.28 |