관계형 DB vs 비관계형 DB

LSM ·2021년 12월 28일
0

관계형 데이터베이스

이번학기 데이터베이스 강좌를 통해 RDBMS인 oracle sql을 배우고 관계형 데이터베이스에 대해 공부해 볼 수 있었다. 그럼 관계형 데이터베이스에 대해 정리 하자면 현재 가장 많이 사용되고 있는 데이터베이스의 한 종류이다.
관계형 데이터베이스란 테이블(table)로 이루어져 있으며, 이 테이블은 키(key)와 값(value)의 관계를 나타낸다.테이블은 이름을 가지고 있으며, 행(row)과 열(column) 그리고 거기에 대응하는 값을 가진다. 즉 관계형 데이터베이스는 위와 같이 구성된 테이블이 다른 테이블들과 관계를 맺고 모여있는 집합체로 이해할 수 있습니다.


이처럼 데이터의 종속성을 관계(relationship)로 표현하는 것이 관계형 데이터베이스이다.

특징

  1. 데이터의 분류, 정렬, 탐색 속도가 빠름
  2. 오랫동안 사용된 만큼 신뢰성이 높고, 어떤 상황에서도 데이터의 무결성을 보장
  3. 기존에 작성된 스키마를 수정하기가 어렵다
  4. 데이터베이스의 부하를 분석하는 것이 어렵다

비 관계형 데이터베이스

이번 DSMP 프로젝트를 진행하게 되면서 MongoDB를 사용할 기회가 생겼다.
왜 비관계형 데이터베이스(NOSQL)를 사용하였냐면, 여러 환자의 질환 마다 다른 정보에 대한 스키마를 정적으로 지정하기 어려웠고, metadata의 확장성을 필요로 하며 복잡한 구조를 고려하여 NOSQL인 MongoDB를 사용하기로 하였다.

MongoDB를 사용하기 전 조금 더 비관계형 데이터 베이스에 대해 이해 할 필요가 있다고 생각한다.

비관계형 DB란?

NoSQL이라고도 부르며, Not Only SQL(SQL 뿐만이 아닌. 이라는 뜻)의 줄임말이다.

이 말은 곧 SQL뿐만 아니라 다른 여러 장점을 가지고 있다는 소리이다.
기존의 관계형 데이터베이스의 한계를 뛰어넘기 위해 만들어진 새로운 형태의 데이터베이스라서, 관계형 데이터베이스보다 더 융통성 있는 데이터 모델을 사용하며, 데이터의 저장 및 검색에 특화된 메커니즘을 제공한다. NoSQL은 분산 환경에서의 데이터 처리를 더욱 빠르게 하기 위해 개발되었다. 대표적으로 MongoDB, CouchDB 등이 있다

특징

  • 거대한 Map으로서 key-value 형식을 지원함.
  • 관계형 db와 달리 PK,FK JOIN등 관계를 정의하지 않음.
  • 스키마에 대한 정의가 없다.

장점

  • 대용량 데이터 처리를 하는데 효율적임.
  • 읽기 작업보다 쓰기 작업이 더 빠르고 관계형 데이터베이스에 비해 쓰기와 읽기 성능이 빠름.
  • 데이터 모델링이 유연함.
  • 뛰어난 확장성으로 검색에 유리함.
  • 최적화된 키 값 저장 기법을 사용하여 응답속도나 처리효율 등에서 성능이 뛰어남.
  • 복잡한 데이터 구조를 표현할 수 있음.

단점

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

MongoDB 개념

MongoDB에 대해 좀 더 자세한 정리를 원하다면 아래 링크를 참고하길!

https://kciter.so/posts/about-mongodb


출처

http://www.tcpschool.com/mysql/mysql_intro_relationalDB
https://newehblog.tistory.com/38?category=834445

profile
개발 및 취준 일지

0개의 댓글