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

wjd15sheep·2024년 3월 19일

데이터베이스

목록 보기
1/6

데이터베이스란?

데이터베이스는 다양한 유형의 데이터(숫자, 문자, 이미지, 비디오, 파일 등)를 체계적으로 저장하고 관리할 수 있게 해주는 데이터의 집합입니다. 이를 통해 데이터를 효율적으로 저장, 검색 및 관리할 수 있습니다. 데이터베이스 관리 시스템(DBMS)은 데이터베이스에 저장된 데이터에 대한 생성(Create), 읽기(Read), 업데이트(Update), 삭제(Delete) - 이른바 CRUD 작업과 관리 기능을 수행하는 응용 소프트웨어입니다.

데이터베이스를 사용하는 주된 이유는 데이터의 효율적인 확장, 무결성 유지, 보안 강화 및 분석 용이성을 포함합니다.

관계형 데이터베이스 VS 비관계형 데이터베이스

관계형 데이터베이스는 테이블(또는 엔터티) 간의 관계를 기반으로 데이터를 저장합니다. 이들은 주로 2차원 배열 형태로 데이터를 조직화하며, 복잡한 데이터 관계를 표현하기 위해 서로 다른 테이블 간의 관계를 맺습니다.

비관계형 데이터베이스는 키-값 쌍, 문서, 그래프 등 다양한 데이터 모델을 활용하여 데이터를 유연하게 저장합니다. 이는 다양한 데이터 유형과 대규모 데이터 세트를 효율적으로 처리할 수 있는 능력을 제공합니다.

관계형 데이터베이스 장단점

장점:
고신뢰성, 무결성이 있다. ACID 준수

ACID란? 데이터베이스 관리 시스템에서 트랜잭션이 안정적으로 처리되도록 보장하는 네가지 주요 속성이다.
Atomicity : 원자성, 완벽하게 수행이 되거나/ 완벽하게 수행이 되지 않거나
Consistency : 일치성 정합성, 데이터 정합성의 정의 1+1+2 항상 같은 값을 출력이 된다.
Isolation : 격리성, 동시에 다수 쿼리가 발생시 모든 쿼리당 트랜잭션은 독립되어야 한다.
Durability : 지속성, 데이터 지속적으로 존재한다.

단점: 스키마 수정이 어려우며, 수평적 확장에 한계가 있다.

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

장점 : 높은 유연성, 수평적 확장성이 뛰어남, 빠른 속도와 성능
단점 : 일관성 유지가 어렵다, 복잡한 쿼리 지원이 약하다.

BASE 염기성 : 데이터 무결성을 감내하고, 확장성 및 가용성을 취득하여 Transaction을 버렸다.

데이터베이스 선택 방법!

데이터베이스를 선택할 때는 프로젝트의 요구 사항을 고려해야한다. 예를 들어, 복잡한 쿼리와 고도의 일관성이 필요한 금융 시스템의 경우 관계형 데이터베이스가 적합한다. 반면, 빠른 개발과 유연한 데이터 구조가 필요한 소셜 네트워크 서비스나 실시간 분석이 필요한 시스템은 비관계형 데이터베이스가 더 적합한다.


[참고 사항]

profile
성장 위해 노력하는 웹 개발자 주니어

0개의 댓글