오늘의 공부 👍
오늘은 230322_TIL에서 언급했던 SQL과 NoSQL에 대하여 복습겸 정리를 해보겠습니다.
📝 SQL (관계형 데이터베이스)
▷ 특징
- 테이블이 서로 관계가 있다고 해서, 관계형 데이터베이스(RDB)라고도 불립니다.
- 주로 데이터의 다양한 엔티티와 변수 간의 관계가있는 구조화 된 데이터를 관리하는 데 사용됩니다,
- Structured Query Language (구조화 된 쿼리 언어)
- 고정된 행(row)과 열(column)로 구성된 테이블에 데이터를 저장
▷ 종류
명칭 | 설명 |
---|
DML | 데이터 조작 언어 |
DDL | 데이터 구성요소 정의 및 변경 삭제 처리 언어 |
DCL | 데이터 접근 또는 권한을 제어 언어 |
트랜젝선 제어 | DML에 대한 사용자별 트렌젝션 관리 |
출처: http://www.incodom.kr/SQL
📝 NoSQL (비관계형 데이터베이스)
▷ 특징
- 비관계형 데이터베이스라고도 불립니다.
- 관계형 데이터베이스 이외의 형식으로 데이터를 저장합니다.
- 관계형 데이터베이스와 방식은 다르지만 관계 데이터를 저장할 수는 있습니다.
- NoSQL 데이터 모델을 사용하면 관련 데이터를 단일 데이터 구조 내에 중첩시킬 수 있습니다 .
▷ 유형
유형 | 설명 |
---|
Key-Value 타입 | 데이터를 배열의 형태로 저장 |
문서형(Document) 데이터베이스 | 각각의 문서는 하나의 속성에 대한 데이터를 가지고 있고, 컬렉션이라고 하는 그룹으로 묶어서 관리한다. |
Wide-Column Store 데이터베이스 | 하나의 행에 많은 열을 포함할 수 있어서 유연성을 높다. |
그래프(Graph) 데이터베이스 | 자료구조의 그래프와 비슷한 형식으로 데이터 간의 관계를 구성하는 데이터베이스이다. |
📝 SQL vs NoSQL
- 데이터 저장
- NoSQL은 key-value, document, wide-column, graph 등의 방식으로 데이터를 저장한다.
- 미리 작성된 스키마를 기반으로 정해진 형식에 맞게 데이터를 저장해야 한다.
- 스키마
- SQL을 사용하려면, 고정된 형식의 스키마가 필요하다.
- 처리하려는 데이터 속성별로 열(column)에 대한 정보를 미리 정해두어야 한다.
- NoSQL은 관계형 데이터베이스보다 동적으로 스키마의 형태를 관리할 수 있다.
- 무엇을 사용해야 좋은가
- 데이터베이스를 구축하는 방법을 선택하는 것에 완벽한 솔루션은 없다.
- 여러 사용 사례를 살펴보고 적절한 데이터베이스를 선택하는 것이 중요하다.
출처 및 참고
https://www.mongodb.com/ko-kr/nosql-explained
https://www.mongodb.com/compare/relational-vs-non-relational-databases
https://www.oracle.com/kr/database/what-is-database/
https://hanamon.kr/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-sql-vs-nosql/