개발일기

데이터베이스 유형 본문

cs

데이터베이스 유형

황대성 2023. 8. 29. 22:07

1 관계형 데이터베이스

 

- 동일한 구조(릴레이션)의 관점에서 모든 데이터를 논리적으로 구성

 

- 선언적인 질의어를 통한 데이터 접근을 제공

 

- 응용 프로그램들은 데이터베이스 내의 레코드들의 어떠한 순서와도 무관하게 작성됨

 

- 사용자는 원하는 데이터만 명시하고, 어떻게 이 데이터를 찾을 것인가는 명시할 필요가 없음

 

- 관게 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델

 

특징

 

- 바탕이 되는 데이터 구조로서 간단한 테이블(릴레이션)을 사용

- 중첩된 복잡한 구조가 없음

- 집합 위주로 데이터를 처리

- 숙련되지 않은 사용자도 쉽게 이해할 수 있음

- 표준 데이터베이스 응용에 대해 좋은 성능을 보임

 

2 비관계형 데이터베이스

 

-  NoSQL 이라고도 부르며, not Only SQL(SQL 뿐만이 아닌 이라는 뜻)의 줄임말 이라고 함

-  SQL뿐만 아니라 다른 여러 장점을 가지고 있음

-  기존의 간계형 데이터베이스의 한계를 뛰어넘기 위해 만들어진 새로운 형태의 데이터베이스라서, 관계형 데이터베이스보다 더 융통성 있는 데이터 모델을 사용하며,데이터의 저장 및 검색에 특화된 메커니즘을 제공

-  NoSQL은 분산 환경에서의 데이터 처리를 더욱 빠르게 하기 위해 개발

 

특징

 

- 거대한 Map으로서 key-value 형식을 지원함

- 관계형 db와 달리 PK,FK,JOIN등 관계를 정의하지 않음

- 스키마에 대한 정의가 없음

 

장점

 

- 대용량 데이터 처리를 하는데 효율적임

- 읽기 작업보다 쓰기 작업이 더 빠르고 관계형 데이터베이스에 비해 쓰기와 읽기 성능이 빠름

- 데이터 모델링이 유연함

- 뛰어난 확장성으로 검색에 유리함

- 최적화된 키 값 저장 기법을 사용하여 응답속도나 처리효율 등에서 성능이 뛰어남

- 복잡한 데이터 구조를 표현할 수 있음

 

단점

 

- 쿼리 처리시 데이터를 파싱 후 연산을 해야해서 큰 크기의 document를 다룰 때는 성능이 저하됨

 

3 SQL vs NoSQL

 

SQL 사용이 적합한 경우

 

- 데이터베이스의 ACID 성질을 준수해야 하는 경우

- 소프트웨어에 사용되는 데이터가 구조적이고 일관적인 경우

 

NoSQL 사용이 적합한 경우

 

- 데이터의 구조가 거의 또는 전혀 없는 대용량의 데이터를 저장하는 경우

- 클라우드 컴퓨팅 및 저장공간을 최대한 활용하는 경우

- 빠르게 서비스를 구축하는 과정에서 데이터 구조를 자주 업데이트 하는 경우