본문 바로가기
정보글

[데이터베이스] 관계형 데이터베이스 vs 비관계형 데이터베이스

by 자연!!!! 2023. 4. 18.
반응형

안녕하세요 시제품 개발 전문기업 디자인웨일입니다.

데이터는 모든 업무의 토대이자 재료이기 때문에 데이터베이스는 중요합니다.

오늘은 이러한 관계형 데이터베이스와 비관계형 데이터베이스에 대해서 알아보겠습니다.

 

 

1.​관계형 데이터베이스

Structured Query Language

일반적으로 Mysql, Oracle, Mssql 같은 고전적인 데이터베이스를 관계형 데이터베이스입니다.

테이블, 행, 열을 가진 DB에 A데이터와 B데이터가 있다고 가정을 하면,

A데이터에 B데이터의 위치를 저장하는 방식으로, 행과 열로 구성된 테이블과의 관계를 나타낼 때 사용합니다.

대표적으로 Oracle, DB2, SQL Server, MySQL, PostgreSQL 등이 있다.

관계형 데이터베이스는 고정된 행(row)과 열(column)로 구성된 테이블에 데이터를 저장합니다.

각 열은 하나의 속성에 대한 정보를 저장하고, 행에는 각 열의 데이터 형식에 맞는 데이터가 저장됩니다.

관계형 데이터베이스에서는 테이블의 구조와 데이터 타입 등을 사전에 정의합니다.

그리고 테이블에 정의된 내용에 알맞은 형태의 데이터만 삽입할 수 있습니다.

특정한 형식을 지키기 때문에, 데이터를 정확히 입력했다면 데이터를 사용할 때에는 매우 수월합니다.

 

2.비관계형 데이터베이스

Not Only SQL

기존의 관계형 데이터베이스의 한계를 뛰어넘기 위해 만들어진 새로운 형태의 데이터베이스입니다.

관계형 데이터베이스보다 더 융통성 있는 데이터 모델을 사용하며,

데이터의 저장 및 검색에 특화된 메커니즘을 제공합니다.

NoSQL은 분산 환경에서의 데이터 처리를 더욱 빠르게 하기 위해 개발되었습니다.

대표적으로 MongoDB, CouchDB 등이 있습니다.

 

3.관계형 데이터베이스와

비관계형 데이터베이스의 장점과 단점

관계형 데이터베이스
비관계형 데이터베이스
장점
  1. 데이터의 무결성을 보장합니다.
  2. 각 데이터는 중복 없이 한 번만 저장됩니다.
  3. 오랫동안 사용해온 방식이기 때문에 익숙하며, 개발할 때에 별도의 교육이 많이 필요하지 않습니다.
  4. 데이터베이스를 추가하기 전에 유효성 검사를 통해 데이터 품질을 향상시킬 수 있습니다.
  5. VIEW를 이용한 보안 설정이 가능하기 때문에 허가를 받지 않은 사용자들로부터 데이터의 조회, 변경 및 삭제를 막을 수 있습니다.
  6. 관계형 데이터베이스들은 같은 오픈 소스를 공유하는 경우가 많기 때문에 다른 개발 환경에서도 쉽게 적응할 수 있습니다.
  1. 데이터 모델링이 완료되기 이전에도 테스트 데이터의
    조회가 가능합니다.
  2. 스키마가 없기 때문에 훨씬 더 유연하다. 언제든지
    저장한 데이터를 조정할 수 있습니다.
  3. 다양한 가변성이 있는 데이터의 저장이 쉽습니다.
  4. 데이터가 애플리케이션이 필요로 하는 형식으로
    저장되기 때문에 데이터를 읽어오는 속도가 빠릅니다.
  5. 수직 및 수평적 확장이 모두 가능하므로 애플리케이션에서 발생하는 모든 읽기, 쓰기 요청의 처리가 가능합니다.
단점
  1. 관계를 맺고 있기 때문에 JOIN문이 많은 복잡한 쿼리가 만들어질 수 있습니다.
  2. JOIN이 많고 복잡한 쿼리가 만들어졌을 경우, 수정이 번거롭거나 불가능한 경우가 생깁니다.
  3. 데이터베이스의 모델링이 개발 전에 완료되어야 하기 때문에 개발 속도를 더디게 만들 수 있습니다.
  4. 수평적 확장이 어렵고, 대체로 수직적 확장만 가능하기 때문에 데이터 처리량 성장에 한계가 있다.
  5. 가변성이 있는 데이터의 경우, 테이블에 저장하는 것이 쉽지 않다.
  1. 유연성 때문에 데이터 구조 결정이 어려울 수 있다
  2. 문서 저장이 단위 요소 수준에서 세밀한 보안을 제공하지 않습니다.
  3. 익숙하지 않은 방식이기 때문에 추가적인 교육을 필요로 하는 경우가 많습니다.
  4. NoSQL마다 쿼리 언어를 각기 다르게 사용하는 경우가 많아 이식성이 낮습니다.
  5. 데이터베이스의 컬렉션이 다양할 경우, 수정할 때에 모든 컬렉션의 데이터를 수정해야 합니다.
 

4. 관계형 데이터베이스와

비관계형 데이터베이스의 사용형태

SQL과 NoSQL은 둘 다 각자의 특징을 가진 데이터베이스 방식이므로, 정확히 어떤 것이 정답이라고는 말할 수 없습니다.

개발할 애플리케이션의 특성에 따라서 알맞은 데이터베이스를 선택하여야 합니다.

SQL을 사용하는 것이 좋은 경우
NoSQL을 사용하는 것이 좋은 경우
관계를 맺고 있는 데이터가 자주 변경되고 수정되는 경우
혹은 변경될 여지가 없고, 명확한 스키마가 사용자와 데이터에게 중요한 경우 SQL을 사용하는 것이 좋습니다.
정확한 데이터 구조를 알 수 없거나 변경, 확장될 수 있는 경우,
read 처리를 자주 하지만, 데이터를 자주 변경할 필요는 없는 경우, 막대한 양의 데이터를 다뤄야 하여 수평적 확장이 필요한 경우에는 NoSQL이 적절할 가능성이 높습니다.

오늘은 관계형 데이터베이스와 비관계형 데이터베이스에 대해서 알아봤는데요.

시제품제작 상담과 제작의뢰는

디자인웨일로 문의 주시면 성심성의껏 빠르게 답해드립니다.

문의사항은 디자인웨일 홈페이지와 이메일로

보내주시길 바랍니다.

https://www.design-whale.com/contact

이메일:

info@design-whale.com

지금까지 시제품 개발전문기업 디자인웨일이었습니다.

반응형

'정보글' 카테고리의 다른 글

[자료구조] 힙(Heap)이란?  (0) 2023.04.18
IPTV(인터넷TV)란?  (0) 2023.04.18
데이터베이스 SQL이란?  (0) 2023.04.18
4차 산업혁명이란?  (0) 2023.04.14
사물인터넷의 문제점  (1) 2023.04.14

댓글


"); wcs_do();