데이터 관리 시스템(Database/Data Warehouse/Data Lake/Data Lakehouse)

Ruah·2024년 8월 23일

theory

목록 보기
2/11

Data Management Systems

데이터베이스, 데이터 웨어하우스, 데이터레이크, 데이터 마트는 모두 데이터를 저장하고 관리하는 시스템입니다. 이들은 각각읜 목적과 특성에 따라 다르게 설계되었으며, 조직의 데이터 관리와 분석을 지원하는 중요한 인프라입니다. 이들을 통틀어 데이터 관리 시스템(Data Management Systems) 또는 데이터 저장소(Data Storage Systems) 라고 할 수 있으며, 이들 시스템은 조직의 데이터 아키텍쳐의 핵심 구성 요소입니다.

Database

Database는 데이터를 구조화된 방식으로 저장하고 관리하는 시스템으로, 주로 운영 데이터를 실시간으로 처리하는 데 사용됩니다. 데이터베이스는 트랜잭션 데이터(예: 고객정보, 주문내역 등)를 저장하며, 다수의 사용자나 애플리케이션이 동시에 데이터를 일고 쓸수 있도록 지원합니다.

특징

  • 정형데이터 : 데이터를 테이블 형태로 구조화하여 저장합니다.
  • 트랜잭션 처리: 실시가으로 데이터의 삽입, 업데이트, 삭제 작업을 처리합니다.
  • ACID 속성 : 여기서 ACID는 데이터베이스가 데이터를 안정적으로 관리하기 위해 필요한 4가지 중요한 속성을 말합니다.
  1. 원자성(Atomicity) : 모든 작업이 완전히 이루어지거나, 전혀 이루어지지 않아야 함.
  2. 일관성(Consistency) : 데이터가 일관된 상태를 유지해야 함.
  3. 격리성(Isolation) : 동시에 일어나는 여러 작업이 서로 영향을 주지 않도록 보장함.
  4. 지속성(Durability): 작업이 완료되면 그 결과가 영구적으로 저장됨.
  • 예시 : MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server

    사용사례 :
    - 은행의 거래 시스템: 고객의 입출금 내역을 실시간으로 기록합니다.
    - 전자 상거래 사이트의 주문 처리 시스템: 고객이 상품을 주문할 때, 주문 정보를 실시간으로 저장하고 처리합니다.
    - 고객 관리 시스템(CRM): 고객의 정보를 저장하고, 이를 관리하기 위해 사용합니다.
    - 재고 관리 시스템: 상품의 재고 상태를 실시간으로 관리합니다.

Data Warehouse

Data Warehouse는 다양한 출처에서 수집된 데이터를 분석 목적으로 저장하는 시스템입니다. 주로 정형 데이터를 집계하고, 비즈니스 인텔리전스(BI)와 데이터 분석에 최적화되어 있습니다. 데이터 웨어하우스는 과거 데이터를 기반으로 한 보고서 작성과 경영진의 의사결정 지원에 주로 사용됩니다.

특징

  • ETL과정 : 데이터를 추출(Extract), 변환(Transform), 적재(Load)하는 과정이 필요합니다.
  • 정형 데이터 : 주로 구조화된
  • OLAP 최적화 : 트랜잭션의 원자성, 일관성, 격리성, 지속성을 보장합니다.
  • 예 ) MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server

    사용사례 :
    은행의 거래 시스템, 전자 상거래 사이트 주문처리시스템, 고객 관리시스템(CRM), 재고관리시스템 등이 있습니다.

Data Lake

Data Lake는 비교적 최근에 등장한 개념으로, 대규모의 원시 데이터를 저장하는 시스템입니다. 데이터를 구조화하기 전에 있는 그대로의 상태로 저장할 수 있다는 특징이 있습니다. 뎅터 레이크는 데이터 웨어하우스와 비교했을대 훨씬 유연한 데이터 저장 방식으로, 특히 빅데이터와 비정형 데이터를 처리하는데 적합하다고 할수있습니다.

특징

1. 원시 데이터 그대로 저장

  • 데이터 레이크는 데이터를 구조화하거나 가공하지 않고, 원래 상태 그대로 저장할 수 있습니다. 정형 데이터(예: 데이터베이스 테이블)뿐만 아니라 비정형 데이터(예: 로그 파일, 이미지, 비디오, 텍스트 등)도 그대로 저장할 수 있다는 점이 큰 장점입니다.

2. 유연한 스키마 관리 (Schema on Read)

  • 데이터 레이크에서는 데이터를 저장할 때 스키마(데이터 구조)를 미리 정의하지 않습니다. 대신, 데이터를 읽을 때 필요에 따라 스키마를 적용하는 방식으로, 이를 “Schema on Read”라고 합니다. 이 방식은 다양한 데이터 분석 및 활용에 있어 높은 유연성을 제공합니다.

3. 대규모 데이터 처리에 적합

  • 데이터 레이크는 대규모 데이터를 처리하는 데 최적화되어 있습니다. 빅데이터 기술(예: Hadoop, Spark 등)과 결합하여 대량의 데이터를 효율적으로 저장하고 분석할 수 있습니다.

4. 비용 효율성

  • 데이터 레이크는 저렴한 스토리지 솔루션을 사용해 대량의 데이터를 저장할 수 있습니다. 특히 클라우드 기반 스토리지를 이용하면, 필요에 따라 스토리지 용량을 쉽게 확장할 수 있어 비용 면에서도 유리합니다.

5. 다양한 데이터 소스 통합

  • 데이터 레이크는 다양한 데이터 소스를 중앙 집중식으로 통합할 수 있습니다. 이를 통해 조직은 다양한 형식의 데이터를 한 곳에 모아 관리하고, 필요에 따라 손쉽게 접근할 수 있습니다.

데이터 레이크의 활용 사례

  • 머신러닝: 대량의 원시 데이터를 저장하고, 머신러닝 모델 학습에 필요한 데이터를 추출하여 사용할 수 있습니다.
  • 데이터 과학: 데이터 과학자들이 데이터 레이크에서 직접 데이터를 추출하고 가공하여 분석할 수 있습니다.
  • 로그 분석: 다양한 시스템에서 생성된 로그 데이터를 원시 상태로 저장하고, 필요할 때 분석하여 문제를 해결할 수 있습니다.

Data Lakehouse

특징

1. 통합된 아키텍쳐

  • 데이터 레이크 하우스는 데이터 레이크의 유연성과 데이터 웨어하우스의 성능을 통합한 시스템입니다. 즉, 원시데이터를 저장하면서도 고성능의 데이터 분석과 쿼리를 지원할수 있습니다.

2. 고성능 분석

  • 데이터 레이크 하우스는 데이터 웨어하우스와 유사한 성능을 제공하며, 데이터레이크의 장점인 다양한 형식의 데이터를 원본 그대로 저장할 수있ㄴ는 기능도 갖추고 있습니다. 이를 통해 사용자는 대량의 데이터를 빠르게 분석하고 처리할 수있습니다.

3. 데이터 일관성 및 관리 용이성

  • 데이터 레이크하우스는 데이터레이크의 스키마 관리 문제를 해결하기 위해 메타 데이터 관리와 데이터 품질 관리 기능이 강화되어있습니다. 이로 인해 데이터 일관성을 유지하면서도 유연한 데이터 저장과 분석이 가능해집니다.

4. 비용 효율성

  • 데이터 레이크하우스는 클라우드 기반의 스토리지를 활용하여 대량의 데이터를 비용 효율적으로 저장할 수 있습니다. 또한, 필요에 따라 저장소를 확장하거나 축소할 수 있어 비용 관리에도 유리합니다.

5. 유연한 데이터 액세스

  • 데이터 레이크하우스는 다양한 데이터 액세스 방법을 지원합니다. 데이터 과학자, 데이터 엔지니어, 애널리스트 모두가 자신들의 작업에 필요한 방식으로 데이터를 처리하고 분석할 수 있습니다.

데이터 레이크하우스의 주요이점

  • 단일 시스템에서 다양한 작업 가능: 데이터 레이크하우스는 데이터 레이크의 유연성을 유지하면서도 데이터 웨어하우스의 고성능 분석을 제공합니다. 따라서 단일 시스템에서 원시 데이터 저장, 실시간 데이터 처리, 고성능 분석이 모두 가능합니다.
  • 데이터 품질 및 일관성 향상: 데이터 레이크하우스는 데이터 레이크에서 발생할 수 있는 스키마 불일치, 데이터 품질 저하 문제를 해결하기 위한 관리 기능을 강화했습니다. 이를 통해 분석 작업에서의 오류를 줄이고 데이터의 신뢰성을 높일 수 있습니다.
  • 비용 절감: 데이터 레이크하우스는 기존의 데이터 레이크와 데이터 웨어하우스를 따로 운영할 필요 없이 단일 플랫폼에서 데이터를 관리할 수 있어, 운영 비용을 절감할 수 있습니다.
profile
집요한 주니어 개발자의 호되게 당했던 기록

0개의 댓글