본문 바로가기

백엔드/관계형 DB

관계형 DB란?

반응형

정의


서로 관련된 데이터 지점에 대한 접근은 저장 및 제공하는 데이터베이스 유형. 데이터를 테이블에 직관적으로 간단하게 나타내는 관계형 모델을 기반으로 함. 

 

 

 

 

 

 

 

특징


데이터 포인트를 서로 연결하고 규칙을 기반으로 안전하고 일관된 방식으로 관리하기 위해 필요한 모든 정보에서 관계형 데이터 베이스를 고려할 수 있습니다. 

 

- 원자성은 완전한 DB 트랜잭션을 구성하는 모든 요소를 정의.

- 일관성은 트랜잭션 후 데이터 포인트를 올바른 상태로 유지하기 위한 규칙을 저으이

- 고립성은 혼란을 피하기 위해 트랜잭션이 커밋될 때까지 트랜잭션의 효과과 다른 사람에게 보이지 않게 해줍니다.

- 내구성은 트랜잭션이 커밋되면 데이터 변경 사항이 영구적이 되도록 한다. 

 

 

   1. 관계형 모델 및 데이터 일관성


관계형 모델은 애플리케이션과 데이터베이스 복사본(인스턴스) 간에 데이터 일관성을 유지하는 데 가장 적합합니다. 관계형 DB는 DB의 여러 인스턴스가 항상 동일한 데이터를 갖도록 한다는 점에서 이러한 종류의 데이터 일관성에 있어 탁월하다. No SQL과 같은 최신 DB조차도 최종적인 일관성만 제공하는 실정. 

 

   2. 커밋 및 원자성


원자성 ,  DB가 커밋을 수행하기 전에는, 필요 부분이 모두 가용상태여야한다는 것. 

DB에 데이터를 정확하게 유지하고, 비즈니스 규칙, 규정 및 정책을 준수하도록 보장하기 위한 핵심 개념.

 

 

   3. DB 잠금 및 동시성


여러 사용자 또는 애플리케이션이 동시에 같은 데이터를 변경하려고하면 데이터 베이스에서 충돌이 발생할 수 있다. 잠금 및 동시성 기법을 사용하면 데이터의 무결성을 유지하면서도 충돌 가능성을 줄일 수 있다. 

잠금은 데이터가 업데이트 되는 동안 다른 사용자 및 애플리케이션이 데이터에 액세스하지 못하도록 합니다. 

동시성은 여러 사용자나 애플리케이션이 동일한 DB에서 동시에 쿼리를 호출할 때 활동을 관리한다. 

 

 

 

 

 

 

 

 

 

 

 

 

 

관계형 DB 선택 시 고려사항


RDBMS는 데이터 저장, 액세스 및 성능을 관리하기 위한 기능뿐만 아니라, 사용자와 애플리케이션 및 데이터베이스 간의 인터페이스를 제공한다. 

우리는 관계형 DB를 선택할 때 다음을 고려할 수 있겠다. 

  • 데이터 정확성 요구사항은 무엇인가? 데이터 저장 및 정확성이 비즈니스 로직에 따라 결정되는가? 데이터에 정확성에 대한 엄격한 요구 사항(예: 재무 데이터 및 정부 보고서)이 있는가?
  • 확장성이 필요한가? 관리할 데이터의 규모는 얼마이며 어느 정도 성장이 예상되는가? 데이터베이스 모델이 확장성을 위해 미러링된 데이터베이스 복사본(개별 인스턴스)을 지원해야 하는가? 그렇다면 이러한 인스턴스에서 데이터 일관성을 유지할 수 있는가?
  • 동시성은 얼마나 중요한가? 여러 사용자와 애플리케이션에서 동시에 데이터 액세스가 필요한가? 데이터베이스 소프트웨어는 데이터를 보호하면서도 동시성을 지원하는가?
  • 성능 및 안정성 요구사항은 무엇인가? 신뢰성이 높은 고성능 제품이 필요한가? 쿼리 응답 성능에 대한 요구사항은 무엇인가? 서비스 수준 계약(SLA) 또는 예기치 않은 다운타임에 대해 공급업체는 어떤 약속을 하나요?
반응형

'백엔드 > 관계형 DB' 카테고리의 다른 글

MySql 개요  (0) 2022.10.06