RDBMS(관계형 데이터베이스)
Relational Database Management System의 약자로 서로 관련된 데이터 지점에 대한 접근을 저장 및 제공하는 데이터베이스 유형이다. 데이터를 테이블에 직관적으로 간단하게 나타내는 관계형 모델을 기반으로 한다. 관계형 데이터베이스에서 테이블의 각 행은 키라는 고유 ID가 포함된 레코드이다. 테이블의 열에는 데이터의 속성이 들어가있다. 각 레코드에는 일반적으로 각 속성에 대한 값이 있으므로 데이터 포인트 간의 관계를 손쉽게 설정할 수 있다.
정리하자면 관계형 데이터베이스는 테이블로 구성되고, 각 테이블은 행(row)와 열(column)으로 이루어져 있다. 각 열(column)은 특정 데이터 유형을 가지고 있으며, 각 행은 데이터 레코드(record)를 나타낸다. RDBMS는 데이터 테이블 간에 관계를 정의하여 데이터를 구성하고 관리한다.
RDBMS의 관리 시스템 예로는 Oracle, MySQL, Microsoft SQL Server, PostgreSQL, SQLite 등이 존재한다.
RDBMS의 장점
직관적인 데이터 표현 방법을 제공하고 관련 데이터 포인트에 쉽게 액세스 할 수 있다.
=> 대량의 구조화된 데이터를 관리해야 하는 조직에서 가장 많이 사용한다.
- 유연성
- 전체 데이터베이스 구조를 변경하거나 기존 애플리케이션에 영향을 주지 않고 필요할 때마다 간편하게 테이블, 관계를 추가 또는 삭제하고 데이터를 변경할 수 있다.
- ACID 규정 준수
- RDBMS는 ACID 성능을 지원하므로 오류, 실패 등 잠재적 오작동에 관계없이 데이터 유효성을 검사할 수 있다.
- 사용 편의성
- SQL을 사용하여 복잡한 쿼리를 쉽게 실행할 수 있다.
- 공동작업
- 여러 사용자가 동시에 데이터를 운영하고 액세스 할 수 있다. 기본 제공되는 잠금 기능으로 업데이트 도중 데이터에 동시 액세스 할 수 없다.
- 내장된 보안 기능
- 역할 기반 보안을 통해 데이터 액세스가 특정 사용자로 제한된다.
- 데이터베이스 정규화
- 데이터 중복성을 줄이고 데이터 무결성을 개선하는 설계 기법을 사용한다.
ACID
데이터베이스 트랜잭션은 ACID라는 특성을 갖는다. ACID는 데이터베이스 내에서 일어나는 하나의 트랜잭션(Transaction)의 안정성을 보장하기 위해 필요한 성질이다. 관계형 데이터베이스 사용시 데이터베이스와 상호 작용하는 방식을 정확히 규정할 수 있기 때문에 데이터를 처리할 때 발생할 수 있는 예외적인 상황을 줄이고, 데이터베이스의 무결성을 보호할 수 있다.
- 원자성(Atomicity) : 모든 데이터 변경 작업은 하나의 단일 작업으로 수행되는 것처럼 수행된다.
- 일관성(Consistency) : 트랜잭션 전후로 데이터는 시작부터 끝까지 일관된 상태여야 한다.
- 격리성(Isolation) : 모든 트랜잭션은 다른 트랜잭션으로부터 독립되어야 한다. 트랜잭션의 중간 상태는 다른 트랜잭션에서 보이지 않으며, 결과적으로 동시에 실행되는 트랜잭션은 순차적으로 실행되는 것처럼 보인다.
- 지속성(Durability) : 트랜잭션이 성공적으로 완료된 후, 데이터의 변경 사항은 지속된다.
https://cloud.google.com/learn/what-is-a-relational-database?hl=ko
https://devparker.tistory.com/101
'Backend' 카테고리의 다른 글
[DB] Gap Lock, Record Lock, Next Key Lock (0) | 2024.03.04 |
---|---|
[DB] ERD란? ERD의 정의와 특징 (0) | 2024.02.23 |
[DB] 클러스터 인덱스와 넌클러스터 인덱스 (0) | 2024.02.16 |