주요 컨텐츠로 이동

관계형 데이터베이스(RDBMS)란 무엇인가요? 주요 기능 및 사용 사례

관계형 데이터베이스란 무엇인가요?

관계형 데이터베이스는 관계라고 불리는 공유된 열과 행을 통해 서로 연결될 수 있고 테이블 간의 다양한 관계를 보여주는 고유 식별자(키)가 있는 테이블에 데이터를 저장하고 액세스를 제공하는 데이터베이스 유형입니다.

이 관계형 모델은 행이 고객, 계정 또는 트랜잭션과 같은 개별 레코드를 나타내는 반면 열은 고객 ID, 계좌 번호 또는 트랜잭션 금액과 같은 해당 레코드의 속성을 나타낸다는 점에서 스프레드시트 모델과 유사합니다. 이 모델을 사용하면 테이블 간의 관계를 설정하는 공통 키를 사용하여 한 테이블의 행을 다른 테이블의 행에 연결할 수 있습니다.

이 모델은 다양한 애플리케이션에서 사용할 수 있는 데이터를 표현하고 쿼리하는 표준적인 방법을 제공합니다.

관계형 데이터베이스 관리 시스템(RDBMS)은 관계형 데이터베이스 모델을 구현하고 디스크 쓰기 및 읽기부터 인덱스 유지 관리, query 실행, 데이터 무결성 적용에 이르기까지 테이블뿐만 아니라 관계형 데이터를 관리하는 소프트웨어 시스템(데이터베이스 엔진이라고도 함)입니다.

자세히 보기

관계형 모델의 핵심 개념

테이블, 행, 열

관계형 모델의 기본 구조는 데이터를 테이블, 행, 열로 구성하는 것입니다. 테이블 은 구조화된 쿼리 실행을 위해 논리적으로 구성된 관련 데이터 모음을 보여주기 위해 생성된 2차원 데이터 구조입니다.

은 관계형 데이터베이스 테이블의 특정 엔터티 또는 레코드(튜플)를 나타내며 모든 열에 대한 값을 포함합니다.

은 행에 있는 각 레코드의 속성 범주를 나타냅니다.

본질적으로 열은 구조를 정의하고 행은 실제 데이터를 제공합니다. 간단한 제품 테이블에는 관련 속성의 열과 함께 특정 제품의 다음 행이 포함될 수 있습니다.

제품 ID제품명제품 유형가격($)
PSHL16척의 매운 돼지고기 소시지핫 포크 링크(1lb)5.99
PSML16척의 순한 돼지고기 소시지순한 돼지고기 링크 (1lb)5.99
GTS16척의 간 칠면조 소시지양념된 다진 칠면조 고기 (1lb)6.59
GT48Chuck’s 다진 칠면조 고기다진 칠면조 (3lb)18.59

스키마 및 정형 데이터

관계형 데이터베이스의 스키마는 데이터베이스의 구조를 설명합니다. 데이터가 어떤 모습이어야 하는지, 어떤 규칙을 따라야 하는지에 대한 청사진을 정의합니다. 구조화된 데이터는 해당 스키마(데이터 유형이 어디로 가고 어떻게 표현되어야 하는지를 정의하는 일관된 관계를 가진 행과 열)에 따라 일관되고 예측 가능한 형식으로 저장됩니다.

좋은 스키마는 데이터 유형의 무결성과 일관성을 제공합니다. 모든 테이블과 열이 동일한 의미를 갖기 때문에 알려진 구조를 사용하여 스토리지와 query를 최적화하여 성능을 유지하고 이해도를 높일 수 있습니다.

제약 조건 및 인덱스

테이블에 쓸 때 제약 조건 과 규칙이 있을 수 있습니다. 예를 들어 위 예시에서는 모든 제품이 실제 제품 ID와 연결되어야 하며, 각 제품 유형은 케이싱(링크) 또는 분쇄 제품을 무게와 함께 일관된 방식으로 설명합니다. 또한 가격을 제외하고 각 열에 중복 없는(UNIQUE) 값(NOT NULL)이 포함되어야 한다는 등의 가드레일을 설정할 수 있습니다.

이는 모든 행이 동일한 필드를 가지며 모든 필드가 동일한 의미를 가짐을 의미합니다. 엄격한 스키마를 사용하면 데이터가 깨끗하게 유지되고 관계가 유효하게 유지되며 쿼리가 예측 가능하게 유지됩니다.

관계형 데이터베이스에는 전체 테이블 스캔 없이 행을 더 빨리 찾을 수 있게 해주는 인덱스 가 있을 수도 있습니다. 인덱스는 열 값을 저장하고 해당 값이 나타나는 테이블의 행에 대한 포인터를 제공합니다. 큰 테이블을 쿼리할 때 성능이 저하될 수 있으며, 인덱싱은 테이블의 모든 행을 스캔하는 것을 방지합니다.

데이터베이스는 데이터 검색 속도를 향상시키기 위해 여러 유형의 최적화된 구조에 인덱스를 저장합니다.

  • B-트리 인덱싱 은 트리의 높이를 줄여 대규모 데이터세트를 효율적으로 처리하도록 설계된 일반적인 데이터 구조입니다. B-트리의 각 노드는 여러 개의 키를 저장하고 여러 개의 하위 노드를 가질 수 있으며, 이는 데이터 액세스에 필요한 디스크 I/O 운영 횟수를 최소화합니다. B-트리는 일반적인 자가 균형 이진 검색 트리보다 한 노드 아래에 더 많은 하위 노드를 허용함으로써 트리의 높이를 줄이고 데이터를 더 적은 수의 개별 블록에 배치합니다.
  • 해시 테이블 은 키를 값에 매핑하고 해시 함수를 사용하여 키를 해당 값이 저장되는 인덱스로 변환하는 데이터 구조입니다. 해시 기반 인덱스는 정확히 일치하는 항목을 조회하는 데 효과적이지만, 보편적으로 지원되거나 모든 RDBMS에서 default 인덱스 유형으로 사용되지는 않으며 B-트리처럼 순서를 보존하지도 않습니다.

키와 관계

키는 데이터의 고유성, 무결성을 보장하고 데이터를 효율적으로 검색하는 데 필수적입니다. 키는 행을 고유하게 식별하고, 테이블 간의 관계를 설정하며, 중복을 방지하여 관계형 스키마 설계의 중추를 형성합니다. 테이블의 데이터 포인트는 공통 키로 조인될 수 있으므로, 테이블을 쿼리하여 보고서를 생성할 수 있습니다. 공통 키를 사용하면 관계는 일대일, 일대다, 다대다가 될 수 있습니다.

테이블은 여러 유형의 키로 연결됩니다.

  • 슈퍼 키 는 레코드를 고유하게 식별할 수 있는 하나 이상의 속성 집합입니다.
  • 후보 키 는 레코드를 고유하게 식별할 수 있는 최소한의 속성 집합입니다.
  • 기본 키 는 테이블의 행을 식별하는 고유한 키입니다. 예를 들어, 고객 테이블에서 고객 ID는 기본 키가 됩니다.
  • 대체 키 는 기본 키로 선택되지 않은 후보 키입니다.
  • 외래 키 는 다른 테이블의 기본 키를 가리키는 열입니다. 예를 들어, 트랜잭션 테이블은 Orders.customer_id를 사용하여 고객 테이블의 고객 ID를 참조할 수 있습니다.
  • 테이블의 모든 레코드를 식별하기 위해 두 개 이상의 속성 조합이 필요한 경우 복합 키 가 필요합니다.

관계형 데이터베이스의 주요 속성

관계형 데이터베이스는 함께 작동하고 신뢰성을 높이는 몇 가지 특징을 지닌 운영(트랜잭션) 그룹입니다. 이러한 트랜잭션은 ACID 라고 하는 일련의 규칙을 따르며, 이는 다음을 의미합니다.

  • 원자성: 모든 업데이트는 완전히 완료되어야 합니다.
  • 일관성: 규칙이 항상 적용됩니다.
  • 고립성: 동시 트랜잭션은 서로의 중간 상태를 방해하지 않습니다.
  • 지속성: 한번 커밋된 데이터는 충돌이나 중단에도 살아남을 수 있습니다.

이러한 규칙은 트랜잭션 수준에서 데이터 무결성을 보장하여 데이터베이스 작업이 안정적이고 올바르게 완료되도록 합니다. 스키마 설계, 데이터 유형 및 제약 조건은 열의 값이 원자적이고 의미상 일관되도록 보장하는 역할을 합니다. 제약 조건은 여러 테이블에 걸쳐 일관성을 유지하는 데 사용됩니다.

관계형 데이터베이스의 또 다른 주요 속성은 데이터를 추출하는 데 가장 일반적인 언어인 SQL(Structure Query Language)입니다. 데이터가 관계가 있는 예측 가능한 테이블에 저장되므로, SQL은 데이터 분석에 도움이 되는 복잡한 질문에 효율적으로 답변하는 데 사용됩니다. 이는 쿼리 실행, 데이터 검색, 레코드 삽입/업데이트/삭제, 새 데이터베이스 또는 새 테이블 생성, 테이블, 프로시저, 뷰에 대한 권한 설정을 위한 표준적인 방법을 제공합니다.

관계형 데이터베이스는 또한 여러 차원에서 데이터를 보호하기 위해 보안/액세스 제어를 보장해야 합니다.

  • 인증 – 데이터베이스에 액세스하는 사람이 본인임을 확인
  • 권한 부여 – 허용된 작업을 수행하는 것입니다
  • 감사 – 언제 무엇을 했는지 확인

데이터베이스 보안에는 데이터가 가로채지거나 도난당하는 경우 데이터를 보호하기 위한 암호화 와 시스템 장애 시 데이터가 손실되지 않도록 하는 백업 및 복구 와 같은 기능도 포함됩니다.

관계형 데이터베이스는 표준화 및 성숙도 덕분에 기본 '기록 시스템'이 되었습니다. 표준 기능, 구조 및 역량은 시간이 지나도 RDBMS를 예측 가능하고 안정적이며 안전하고 확장 가능하게 유지해 줍니다. 예를 들어, SQL을 표준 쿼리 방식으로 사용하면 핵심 개념과 기술을 한 RDBMS에서 다른 RDBMS로 이전할 수 있으며, 마이그레이션을 통해 데이터 애플리케이션과 도구를 유지 관리할 수 있습니다. 표준화는 또한 공급업체 경쟁과 선택의 폭을 넓힙니다.

관계형 데이터베이스는 오랫동안 사용되어 왔습니다. 이러한 성숙도는 실제 세계의 부하에 대해 실전 테스트를 거쳤으며 매우 정교한 트랜잭션에 최적화되었음을 의미합니다.

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

관계형 데이터베이스와 비관계형 데이터베이스의 가장 명백한 차이점은 비관계형 데이터베이스는 구조화된 데이터를 테이블에 저장하지 않는다는 것입니다. 저장되는 데이터에 가장 적합한 형식으로 데이터를 컨테이너에 저장할 수 있는 유연성을 갖추고 있습니다. 이러한 느슨하게 정의된 비구조화 데이터에는 이메일, 비즈니스 문서, 동영상, 이미지가 포함될 수 있습니다. 하지만 구조화된 트랜잭션 데이터와 비구조화 데이터를 혼합하여 저장할 수도 있습니다.

비관계형 데이터베이스는 종종 NoSQL 데이터베이스라고도 불리는데, 이 용어는 원래 "SQL뿐만 아니라"를 의미하며, 이는 현재 많은 시스템이 SQL 기반 쿼리를 지원하지만 이러한 시스템이 SQL을 기본 인터페이스로 사용하지 않음을 반영합니다.

관계형 데이터베이스는 행과 열이 있는 고정된 스키마와 키 및 SQL 조인을 사용한 관계를 사용하는 반면, 비관계형 데이터베이스는 키-값 쌍, 노드/에지 및 문서와 같이 사전 설정된 스키마가 필요 없는 유연한 구조로 데이터를 저장합니다. 관계형 데이터베이스에서는 데이터를 쓸 때 스키마와 일치해야 하지만, 비관계형 데이터베이스에서는 데이터를 읽을 때 해석되고 관계는 일반적으로 데이터베이스가 아닌 애플리케이션에서 처리되므로 데이터의 형태가 달라질 수 있습니다.

관계형 데이터베이스는 기본적으로 강력한 ACID 트랜잭션을 사용하는 반면, NoSQL 데이터베이스는 전통적으로 최종 일관성을 위해 설계되었으며 정확성보다 가용성과 속도를 우선시합니다.

관계형 데이터베이스는 데이터 포인트 간의 관계가 풍부하고 강력한 규칙이 있는 명확한 구조가 필요할 때 선택됩니다. 관계형 모델은 항상 정확해야 하는 트랜잭션을 사용한 보고 및 분석에 가장 적합합니다. 관계형 데이터베이스는 애드혹 분석과 복잡한 필터링 및 그룹화에 적합한 반면, 비관계형 데이터베이스는 종종 좁은 쿼리 세트에 최적화됩니다. 관계형 데이터베이스는 일반적으로 수직적으로 확장되며, 최신 시스템은 복제본, 샤딩 또는 분산 실행을 통해 수평적 확장을 지원하지만 종종 복잡성이 추가됩니다. 반면 비관계형 데이터베이스는 수평적으로 확장되도록 설계되었으며 일반적으로 대규모 분산 네트워크에 선택됩니다.

비관계형 데이터베이스는 간단한 쿼리 패턴으로 대규모의 유연하거나 빠르게 변화하는 데이터에 선택됩니다.

일반적인 RDBMS 예시

  • MySQL – 현재 Oracle Corp.가 소유하고 있으며 SQL 표준을 구현하는 오픈 소스 RDBMS입니다. 고성능이 필요한 웹 애플리케이션, 비즈니스 시스템 및 중요한 데이터 기반 서비스에 자주 선택됩니다. 웹 애플리케이션, 온라인 스토어 및 카탈로그, 사용자 계정 및 인증 시스템, 로깅 및 분석, SaaS 앱 및 대시보드에 일반적으로 사용됩니다.
  • PostgreSQL – 강력한 표준과 ACID 규정 준수, 안정성과 유연성 간의 뛰어난 균형으로 알려진, 확장성이 높은 오픈 소스 RDBMS입니다. SQL과 반정형 JSON/JSONB 스토리지를 모두 지원하며 다중 버전 동시성 제어(Multi-Version Concurrency Control)를 사용합니다. PostgreSQL은 웹 앱, SaaS 다중 테넌트 플랫폼, 금융 거래, 분석 및 보고, 과학 데이터, OLTP 워크로드에 사용됩니다. 온라인 전용 비즈니스에서 인기가 많습니다. 지난 7년 동안 Postgres는 개발자 커뮤니티에서 가장 인기 있는 데이터베이스가 되었으며 현대 애플리케이션을 위한 사실상의 데이터베이스 선택지가 되었습니다.
    StackOverflow 설문조사 데이터베이스
  • SQLite – SQL을 사용하고 경량 C 라이브러리를 통해 애플리케이션 내에서 실행되는 serverless, 크로스 플랫폼, 오픈 소스 관계형 데이터베이스입니다. 설정이나 관리가 필요 없습니다. SQLite는 주로 임베디드 시스템 및 개인용 기기의 소규모 애플리케이션에 사용됩니다.
  • Oracle – Oracle Corp.에서 개발한 독점적인 엔터프라이즈급 RDBMS입니다. 확장성, 클러스터링 및 안정성으로 유명하며, 트랜잭션(OLTP) 및 분석(OLAP) 워크로드 모두에 최적화되어 있고 은행, 항공, 의료, 전기 통신, 정부 및 대규모 ERP/CRM 시스템에 사용됩니다.
  • Microsoft SQL Server – Microsoft의 SQL 확장인 Transact-SQL(T-SQL)을 기반으로 하는 Microsoft의 독점적인 엔터프라이즈급 RDBMS입니다. Windows 및 Linux에서 사용할 수 있는 SQL Server는 관리 및 운영 도구와 Microsoft Azure 및 기타 Microsoft 기술과의 강력한 통합으로 잘 알려져 있습니다. 일반적인 사용 사례에는 ERP, CRM, HR, 전자 상거래, 비즈니스 인텔리전스 및 분석이 포함됩니다. SQL Server는 금융, 은행, 의료 분야에 강점을 보입니다.
  • IBM Db2 – 고성능, 안정성 및 엔터프라이즈급 데이터 처리를 위해 IBM에서 개발한 독점적인 RDBMS 시스템 제품군입니다. Db2 RDBMS 버전은 Linux, UNIX, Windows, IBM AS/400 및 IBM 메인프레임을 포함한 여러 플랫폼에서 실행됩니다. SQL 기반이지만 일부 버전에서는 JSON 문서, XKL 스토리지, 시계열 데이터, 컬럼형 스토리지 및 그래프 기능을 지원합니다. 금융, 정부, 의료 및 보험, 소매, 항공 및 기업 IT 환경에서 널리 사용됩니다.
  • MariaDB – MariaDB Foundation에서 관리하며 MySQL을 대체하기 위해 커뮤니티 기반으로 만들어진 오픈 소스 RDBMS입니다. 웹 앱, SaaS 플랫폼, 클라우드 시스템 및 엔터프라이즈의 OLTP 및 OLAP 워크로드 모두에 널리 사용되며, Linux 시스템 및 오픈 소스 스택에 자주 선택됩니다. 일반적인 사용 사례로는 웹 앱 및 웹사이트, SaaS 플랫폼, 콘텐츠 관리, E-커머스 및 분석이 있습니다.

SQL, RDBMS 및 관련 FAQ

SQL은 관계형 데이터베이스인가요?
아니요, SQL은 관계형 데이터베이스와 상호 작용하는 데 사용되는 쿼리 언어이지 데이터베이스 시스템이 아닙니다.

MySQL은 관계형 데이터베이스인가요?
예, MySQL은 테이블 간의 관계를 지원하는 테이블 기반 구조의 RDBMS입니다.

Excel은 관계형인가요?
아니요, Excel은 Microsoft의 스프레드시트 프로그램이지 RDBMS가 아닙니다. Excel은 테이블 형식을 사용하지만 일관된 구조와 제약 조건이 있는 강제 스키마는 없습니다. Excel은 자체적으로 SQL 쿼리를 실행할 수 없으며 ACID 트랜잭션도 없습니다.

관계형 데이터베이스와 RDBMS 용어의 차이점은 무엇인가요?
밀접하게 관련되어 있고 종종 혼용되지만, 관계형 데이터베이스는 데이터 모델 자체를 의미하는 반면 RDBMS는 해당 데이터 모델을 관리하는 소프트웨어 시스템입니다.

이점 및 한계

관계형 데이터베이스 사용의 이점은 다음과 같습니다.

  • ACID 트랜잭션에 의해 강제되는 강력한 데이터 무결성과 일관성은 부분적인 업데이트, 손상된 데이터 없이 안정적인 운영을 보장합니다. 구조화되고 잘 정의된 데이터는 깨끗하고 예측 가능한 데이터를 보장합니다.
  • SQL을 사용한 표준화된 쿼리 기능과 도구는 필터링, 그룹화, 집계, 인덱싱, 복잡한 조인을 제공하여 관계형 데이터베이스를 분석, 보고, 복잡한 비즈니스 로직에 이상적으로 만듭니다.
  • 수십 년간의 성숙도를 바탕으로 관계형 데이터베이스는 신뢰할 수 있는 성능, 강력한 보안 및 가용성 모델, 그리고 위험을 줄이기 위한 도구 생태계를 통해 잘 지원됩니다.

한계는 다음과 같습니다.

  • 관계형 데이터베이스의 엄격하고 고정된 스키마는 민첩성을 감소시키며, 비정형 또는 반정형 데이터와 자주 변경되는 레코드 형태에는 적합하지 않습니다.
  • 관계형 데이터베이스는 수직 확장에 뛰어나지만 수평 확장은 복잡합니다.
  • 매우 큰 데이터세트와 복잡한 조인을 사용하면 성능이 저하되어 분산 워크로드의 속도가 느려질 수 있습니다.
  • 상용 RDBMS는 특히 대규모 환경에서 비용이 많이 들 수 있습니다.
  • OLTP는 복잡한 분석 쿼리용이 아닙니다.
  • 데이터 사일로를 쉽게 생성하여 스토리지 비용이 증가합니다.
  • ETL 복잡성(운영 스토어와 분석 스토어 간에 데이터를 주고받는 경우).
  • 반정형 데이터 처리(Delta, Iceberg, Parquet -- 레이크하우스에서 찾을 수 있음).
  • ML/AI 통합을 위한 비표준 데이터 유형의 어려움
  • 스트리밍 데이터 처리를 위해 설계되지 않음
  • 공급업체 종속 방지

전통적인 RDBMS를 넘어서는 진화

  • 데이터 웨어하우스 시대: RDBMS는 현재 데이터를 사용하도록 설계되었으며 온라인 트랜잭션 처리(OLTP)를 위해 많은 작은 읽기/쓰기에 최적화되어 있습니다. 따라서 대규모 분석에 어려움을 겪을 수 있습니다. 이러한 한계를 극복하기 위해 데이터 웨어하우스는 온라인 분석 처리(OLAP)를 위해 현재 및 과거 데이터에 대한 거대하고 복잡한 쿼리를 처리할 수 있는 비정규화된 스키마를 사용합니다.
  • 빅데이터 과제: RDBMS는 방대하고, 빠르고, 다양하며, 분산된 데이터를 처리할 때 어려움을 겪습니다. 경직된 스키마, 수직적 확장, ACID 트랜잭션 오버헤드로 인해 대규모 분산 분석에는 적합하지 않았습니다. 기존 RDBMS는 로컬에서 관리되는 스토리지에 대해 실행되는 조인에 의존하므로 분산 환경에서는 확장성이 제한됩니다.
  • 클라우드 네이티브 요구사항: 기존의 관계형 데이터베이스 시스템은 객체 스토리지를 선호하는 클라우드 네이티브 아키텍처에서 어려움을 겪습니다. 이 시스템은 긴밀하게 결합된 하드웨어와 짧은 지연 시간의 디스크 액세스를 갖춘 블록 스토리지를 위해 설계되었습니다. 역사적으로 객체 스토리지는 고전적인 ACID 트랜잭션 처리에 필요한 짧은 지연 시간을 보장하지 않아 기존 RDBMS 설계에 어려움을 주었습니다. 객체 스토리지는 지연 시간보다는 throughput에 최적화되어 있습니다. 클라우드 네이티브 애플리케이션 또한 수평적으로 확장되는 반면, 기존 RDBMS 설계는 긴밀하게 결합된 compute 및 스토리지에 의존하며 종종 기본 서버를 중심으로 이루어집니다.
  • 최신 데이터 레이크: Lakehouse 아키텍처는 데이터 레이크의 확장성과 저비용을 데이터 웨어하우스 및 관계형 시스템의 구조, 거버넌스, 성능 특성과 결합하여 기존 데이터 레이크의 한계를 해결하기 위해 발전했습니다.

    lakehouse는 데이터 지속성을 위해 클라우드 네이티브 객체 스토리지를 사용하며, 해당 스토리지에서 직접 스키마 적용, SQL 액세스, ACID 트랜잭션을 지원하는 관리형 테이블 형식, 메타데이터 레이어, 트랜잭션 로그를 도입합니다. 이를 통해 정형, 반정형, 비정형 데이터가 단일 시스템에 공존할 수 있습니다.

    schema-on-read 및 외부 처리 로직에 크게 의존했던 초기 데이터 레이크와 달리, 레이크하우스는 테이블 수준에서 schema-on-write 또는 관리형 스키마 변화를 지원합니다. 이를 통해 일관된 데이터 정의, 데이터 품질 적용, 신뢰할 수 있는 분석이 가능합니다. 스토리지와 compute를 분리함으로써 lakehouse 아키텍처는 여러 compute 엔진이 분석, 데이터 엔지니어링, 스트리밍, machine learning을 위해 동일한 데이터에 대해 작동하도록 합니다. 이러한 유연성 덕분에 레이크하우스는 개방형 파일 및 테이블 형식을 통해 비용 효율성과 개방성을 유지하면서 대규모 분석, 비즈니스 인텔리전스, 고급 데이터 워크로드에 매우 적합합니다.
  • 레이크베이스 아키텍처: 레이크베이스는 최신 지능형 애플리케이션을 위해 설계된 새로운 범주의 운영 데이터베이스입니다. RDBMS는 트랜잭션 일관성 및 구조화된 스키마에 뛰어나지만, 애플리케이션이 점점 더 의존하는 분석 데이터, 머신러닝 파이프라인 및 실시간 인텔리전스로부터 격리되어 있습니다. 레이크베이스는 트랜잭션, 인덱싱, 짧은 대기 시간 액세스와 같은 핵심 데이터베이스 기능과 레이크하우스에 대한 네이티브 통합을 결합하여 애플리케이션이 신선하고 공유된 분석 및 AI 지원 데이터에서 직접 작동할 수 있도록 합니다. 이를 통해 단일 시스템으로 데이터를 복제하거나 아키텍처를 분할하지 않고도 운영 워크로드와 지능형 데이터 기반 애플리케이션 동작을 모두 지원할 수 있습니다.

일반적인 오해 바로잡기

  • 모든 데이터베이스는 관계형입니다
    관계형 모델(테이블에 데이터를 저장하고 SQL을 사용하여 관계를 정의하고 query하고)을 따르지 않는 비관계형 데이터베이스도 많이 있습니다.
  • 관계형 데이터베이스는 SQL 전용입니다
    대부분의 관계형 데이터베이스는 SQL을 기본 언어로 사용합니다. SQL은 관계형 모델을 위해 만들어졌지만 일부 데이터베이스는 Quel, Tutorial D, Rel, Datalog와 같은 다른 관계형 언어를 사용합니다.
  • 관계형 데이터베이스는 구식이다
    관계형 데이터베이스는 전혀 구식이 아닙니다. 복잡하고 구조화된 데이터에 있어서는 여전히 독보적이며 오늘날의 미션 크리티컬 시스템의 중추입니다. 그리고 SQL은 여전히 가장 널리 사용되는 언어 중 하나입니다. 오늘날 데이터 사용 사례가 계속 진화함에 따라 관계형 데이터베이스는 NoSQL, 데이터 레이크, 레이크하우스와 공존하고 있습니다.

결론

데이터를 테이블, 행, 열로 구성하는 구조화된 스키마, 빠른 데이터 검색을 위한 키 및 조인, 신뢰할 수 있는 ACID 트랜잭션을 갖춘 관계형 데이터베이스는 안전한 엔터프라이즈 미션 크리티컬 애플리케이션의 주요 아키텍처로 남아 있습니다. 빠르고 안정적인 쿼리를 위해 설계된 구조를 통해 관계형 데이터베이스는 데이터 유형의 무결성과 일관성을 제공하며, 스토리지와 쿼리를 최적화하여 성능을 유지할 수 있습니다. 또한 최신 분산 데이터 레이크 및 lakehouse 환경에서 비관계형 데이터베이스와 공존할 수 있습니다.

RDBMS의 표준화와 성숙도는 실제 워크로드에 대해 검증되었으며 매우 정교한 트랜잭션에 최적화되어 있음을 의미합니다. 레이크베이스와 같은 최신 아키텍처는 이러한 검증된 관계형 기반을 클라우드 네이티브 환경으로 확장하여 관계형 안정성과 SQL 기반 분석이 확장 가능한 객체 스토리지 및 분산 compute와 공존할 수 있도록 합니다.

용어집으로 돌아가기