본문 바로가기

개발/SQL

[SQL] RDB란?

반응형

소개

RDB는 "Relational Database"의 약어로, 관계형 데이터베이스를 나타냅니다.

관계형 데이터베이스는 테이블 간의 관계를 기반으로 데이터를 구성하고 관리하는 데이터베이스 시스템을 말합니다.

이러한 데이터베이스는 테이블, 행, 열로 이루어진 구조를 가지며, SQL(Structured Query Language)을 사용하여 데이터를 조작합니다.

 

주요 특징과 용어는 다음과 같습니다:

  1. 테이블(Table): 데이터가 저장되는 기본 단위로, 행과 열로 이루어진 2차원 구조입니다. 각 테이블은 특정 주제나 엔터티를 나타내며, 테이블 간에는 관계가 형성될 수 있습니다.
  2. 행(Row): 테이블에 저장된 개별 레코드를 나타냅니다. 행은 다양한 속성(열)의 값으로 구성됩니다.
  3. 열(Column): 테이블의 속성을 나타냅니다. 각 열은 특정 유형의 데이터를 저장할 수 있으며, 열의 구성은 데이터베이스 스키마에 정의됩니다.
  4. 키(Key): 테이블에서 레코드를 식별하거나 여러 테이블 간의 관계를 구성하는 데 사용되는 열 또는 열의 조합입니다. 주요 키(primary key)는 각 행을 고유하게 식별하며, 외래 키(foreign key)는 다른 테이블과의 관계를 정의합니다.
  5. SQL(Structured Query Language): 관계형 데이터베이스에서 데이터를 검색, 삽입, 갱신, 삭제하는 데 사용되는 표준화된 질의 언어입니다.

일반적으로 사용되는 관계형 데이터베이스에는 MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server 등이 있습니다. RDB는 데이터를 효율적으로 구조화하고 관리할 수 있으며, 복잡한 쿼리와 다양한 연산을 수행할 수 있는 강력한 데이터베이스 시스템을 제공합니다.

RDBMS의 장점:

  1. 데이터 일관성: RDBMS는 테이블 간의 관계를 정의하고 이를 유지함으로써 데이터 일관성을 제공합니다. 이는 중복된 데이터의 최소화와 데이터 무결성을 강화합니다.
  2. 구조화된 질의 언어(SQL): SQL은 데이터베이스에서 데이터를 검색, 삽입, 갱신, 삭제하는 데 사용되는 표준화된 질의 언어입니다. 이를 통해 사용자는 데이터에 쉽게 접근하고 조작할 수 있습니다.
  3. 복잡한 쿼리 처리: RDBMS는 다양한 조건과 연산을 포함한 복잡한 쿼리를 처리할 수 있습니다. 이는 데이터를 효과적으로 분석하고 정보를 추출하는 데 도움이 됩니다.
  4. 관계 정의 및 유지 관리: RDBMS는 테이블 간의 관계를 정의하고 유지하는 데 강력합니다. 이를 통해 데이터 간의 일관성 있는 관계를 관리할 수 있습니다.
  5. 데이터 보안: RDBMS는 데이터에 대한 접근 권한을 제어하고 보안 기능을 제공하여 민감한 정보를 보호할 수 있습니다.

RDBMS의 한계:

  1. 수평 확장의 어려움: RDBMS는 주로 수직 확장에 적합하며, 데이터베이스 서버의 성능을 향상시키기 위해 강력한 하드웨어가 필요합니다. 수평 확장(샤딩 등)이 어려울 수 있습니다.
  2. 복잡성 및 비용: 대규모 프로젝트에서 RDBMS를 사용하면 데이터베이스 설계, 스키마 관리 등이 복잡해질 수 있습니다. 또한, 상용 RDBMS 제품은 비용이 많이 들 수 있습니다.
  3. 대량 데이터 처리 속도: RDBMS는 일부 상황에서 대량 데이터 처리 속도에서 한계를 보일 수 있습니다. 특히, NoSQL 데이터베이스와 비교할 때 속도 측면에서 제한이 있을 수 있습니다.
  4. 유연성의 한계: RDBMS는 스키마를 사전에 정의해야 하며, 이로 인해 유연성이 제한될 수 있습니다. 데이터의 구조가 자주 변경되는 경우에는 이에 대한 대응이 쉽지 않을 수 있습니다.
  5. 대량의 읽기 및 쓰기 작업의 병목: 특히 고트랜잭션 환경에서는 대량의 동시 읽기 및 쓰기 작업이 병목 현상을 일으킬 수 있습니다. 이는 데이터베이스 성능에 영향을 미칠 수 있습니다.

요약하자면, RDBMS는 데이터 일관성과 구조화된 질의 언어를 제공하여 데이터 관리를 용이하게 합니다. 그러나 확장성, 유연성, 비용 측면에서 제약이 있을 수 있습니다. 프로젝트의 요구사항에 따라 적절한 데이터베이스 선택이 필요합니다.

 
 
 
 
반응형

'개발 > SQL' 카테고리의 다른 글

[SQL] Primary Key (Index)  (1) 2023.12.06