관계형 DB란?(RDBMS)
관계형 데이터베이스는 관계형 데이터베이스 모델은 데이터를 테이블, 인덱스 및 뷰로 정리합니다. 이 테이블 형식 구조를 사용하면 SQL과 같은 쿼리 언어를 사용하여 관련 데이터를 쉽게 만들고, 읽고, 수정하고, 삭제할 수 있습니다.
특징
- 데이터를 테이블, 인덱스, 뷰 등으로 정리합니다.
- SQL과 같은 쿼리 언어를 사용하여 데이터를 관리합니다.
- 트랜잭션 처리를 지원하여 데이터 일관성을 유지합니다.
- 정규화를 통해 데이터 중복을 최소화하고 구조화합니다.
장점
- 데이터 처리 성능이 뛰어나 정렬, 탐색, 분류가 빠릅니다.
- 데이터의 무결성을 보장하고 신뢰성이 높습니다.
- 정규화에 따른 갱신 비용을 최소화할 수 있습니다.
단점
- 스키마 변경이 어려울 수 있어, 기존에 작성된 스키마를 수정하기 어려울 수 있습니다.
- 데이터베이스의 부하를 분석하거나 대용량 데이터를 처리하는 데 비효율적일 수 있습니다.
- 빅데이터와 같이 대규모 데이터를 처리하는 경우에는 성능이 저하될 수 있습니다.
관계형 데이터베이스 시스템(RDBMS)
- Oracle Database
- Microsoft SQL Server
- MySQL
- PostgreSQL
- IBM DB2
- SQLite
- MariaDB
- Microsoft Access
- SAP HANA
- Amazon Relational Database Service (Amazon RDS)
비관계형 DB란?(NoSQL)
NoSQL이라고도 부르는 비관계형 데이터베이스는 테이블 형식 데이터 구조를 사용하지 않습니다. 대신 키-값 페어, JSON, 그래프 또는 거의 모든 다른 유형의 데이터 구조로 데이터를 저장할 수 있습니다. 많은 비관계형 데이터베이스는 SQL이 필요 없는 방식으로 데이터가 저장되고 쿼리됩니다.
특징
- 테이블 형식 데이터 구조 대신 key-value, JSON, 그래프 등 다양한 데이터 구조를 사용합니다.
- 관계 정의를 위한 PK(FK)와 JOIN과 같은 개념이 없습니다.
- 스키마가 고정되어 있지 않아 유연성이 높습니다.
장점
- 대용량 데이터 처리에 효율적입니다.
쓰기 작업이 빠르고, 읽기와 쓰기 성능이 빠릅니다.
데이터 모델링이 유연하며, 확장성이 뛰어나 검색에 유리합니다.
특정 키 값 저장 기법을 사용하여 성능이 뛰어납니다.
복잡한 데이터 구조를 다룰 수 있습니다.
단점
- 데이터를 파싱하고 연산을 수행해야 하기 때문에 큰 크기의 문서를 처리할 때 성능이 저하될 수 있습니다.
비관계형 데이터베이스 시스템(NoSQL)
- MongoDB
- Apache Cassandra
- Apache HBase
- Redis
- Apache CouchDB
- Amazon DynamoDB
- Google Cloud Datastore
- Apache Hadoop
- Couchbase
- Elasticsearch
관계형 데이터베이스와 비관계형 데이터베이스의 차이점?
관계형 데이터베이스는 테이블 형태로 데이터를 저장하며, 고정된 스키마를 갖추고 있어 데이터 구조를 엄격하게 정의합니다. 데이터는 SQL을 사용하여 쿼리하고 관리되며, 트랜잭션 처리와 데이터의 무결성을 중시합니다. 일반적으로 데이터의 정규화를 통해 중복을 최소화하고 데이터를 구조화합니다.
비관계형 데이터베이스는 테이블 형태가 아닌 다양한 형식으로 데이터를 저장할 수 있습니다. 주로 key-value, document, 그래프 형태를 사용하며, 스키마가 유연하거나 없는 경우가 많습니다. SQL을 사용하지 않을 수 있고, 대규모 데이터 처리와 유연한 데이터 구조 표현에 적합합니다.
요약
RDBMS는 정해진 스키마가 존재하고, NoSQL는 정해진 스키마가 없다는 것이 가장 큰 차이입니다. NoSQL은 정해진 스키마가 없을 때 데이터 구조 변화가 자유롭고 데이터 분산이 용이하다는 장점이 있지만, 데이터 중복이 발생하거나 데이터 변경 시에 연산이 오래 걸린다는 단점이 있습니다.
'DB' 카테고리의 다른 글
Redis를 활용한 확장 가능한 세션 관리 전략 (0) | 2024.12.23 |
---|---|
트랜잭션이란? (0) | 2024.07.23 |
DB 파티셔닝(Partitioning)이란 (2) | 2024.07.22 |
[DB] DDL, DML, DCL, TCL 이란? (0) | 2024.07.21 |
[DB] 관계형 데이터베이스의 1:1, 1:N, N:M 관계 (4) | 2024.07.10 |