NoSQL(비관계형) 데이터베이스
NoSQL 데이터베이스란 SQL을 사용하지 않고 이름 그대로 데이터들 간의 관계가 없는 데이터베이스입니다.
스키마가 유연하여 변경될 수 있고 대용량의 데이터를 저장할 수 있는 특징을 가지고 있습니다.
대표적으로 MongoDB와 redis가 있습니다.
- MongoDB: NoSQL 데이터베이스에서 가장 많이 사용한다고 볼 수 있습니다.
- redis: 오픈 소스 기반의 비관계형 데이터베이스이고 Key를 통해 빠르게 결과를 가져올 수 있습니다.
관계형 데이터베이스의 장단점은 다음과 같습니다.
- NoSQL 데이터베이스의 장점
- 유연합니다. 언제든지 저장된 데이터를 조정하고 새로운 필드를 추가할 수 있습니다.
- 읽어오는 속도가 관계형 데이터베이스보다 빠릅니다.
- 관계형 데이터베이스는 수직정 확장만 가능한 것에 비해 NoSQL 데이터베이스는 하드웨어의 수를 늘리는 수평적 확장이 가능합니다.
- 단점
- 데이터가 중복되어 있는 경우가 상대적으로 많아 UPDATE 하는 경우 모든 컬렉션에서 수행해야 하기 때문에 번거롭고 느립니다.
- 명확한 데이터 구조가 필요한 경우에 사용하지 못합니다.
다음은 NoSQL 데이터베이스를 사용하기 좋은 환경입니다.
- 데이터 구조를 명확하게 정의할 수 없거나 구조가 변경/확장될 수 있는 경우
- 데이터의 변경보다 읽기를 주로 할 경우.
- 많은 양의 데이터를 다뤄야 할 경우
'CS > 데이터베이스' 카테고리의 다른 글
조인(Join) 알고리즘 - 중첩 루프 조인(Nested Loop Join) (0) | 2023.03.01 |
---|---|
인덱스의 정의 (0) | 2023.02.27 |
관계형 데이터베이스 (0) | 2023.02.14 |
트랜잭션 (0) | 2023.02.08 |
데이터베이스 정규화 (1) | 2023.02.01 |