OLTP (OnLine Transaction Processing)
OLTP 는 주로 실시간 트랜잭션 처리에 중점을 둔 데이터베이스 시스템이다. 일상적인 비즈니스 작업에 사용되며, 트랜잭션의 빠른 처리와 정확한 데이터 업데이트를 지원한다.
OLAP (OnLine Analytical Processing)
OLAP 는 주로 데이터 분석 및 의사결정을 위한 시스템으로, 대량의 데이터에 대한 복잡한 분석 쿼리를 수행하는 데 특화되어 있다. 1980년 대 후반 회사들은 OLTP 시스템을 분석 목적으로 사용하지 않고 개별 데이터베이스에서 분석을 수행하는 경향을 보였다. 이 개별 데이터베이스를 데이터 웨어하우스라고 한다.
데이터 웨어하우스 (Data warehouse)
데이터 웨어하우스는 분석가들이 OLTP 작업에 영향을 주지 않고 마음껏 질의할 수 있는 개별 데이터베이스다. 회사 내의 모든 OLTP 시스템에 있는 데이터의 읽기 전용 복사본이다. 데이터 웨어하우스로 데이터를 가져오는 과정을 ETL (Extract-Transfrom-Load)라 한다.
데이터는 OLTP 데이터베이스에서 (주기적인 데이터 덤프나 지속적인 갱신 스트림을 사용해) 추출(extract)하고 분석 친화적인 스키마로 변환 (transform)하고 깨끗하게 정리한 다음 데이터 웨어하우스에 적재(load)한다.
분석용 스키마: 별 모양
데이터 웨어하우스에서 사용되는 스키마는 별 모양 스키마(star schema)이다. 스키마의 중심에 face table이 있다. fact table의 각 로우는 특정 시각에 발생한 이벤트에 해당한다.
fact table의 다른 칼럼은 차원 테이블 (dimension table)이라 부르는 다른 테이블을 가리키는 외래 키 참조이다. face table의 각 로우는 이벤트를 나타내고 차원은 이벤트의 속성인 누가, 언제, 어디서, 무엇을, 어떻게, 왜 를 나타낸다.
칼럼 지향 저장소
fact table은 칼럼이 보통 100개 이상이지만 일반적인 데이터 웨어하우스 질의는 한 번에 4개 또는 5개 칼럼만 접근한다. 칼럼 지향 저장소의 기본 개념은 간단하다. 모든 값을 하나의 로우에 함께 저장하지 않는 대신 각 칼럼별로 모든 값을 함께 저장한다. 각 칼럼을 개별 파일에 저장하면 질의에 사용되는 칼럼맘 읽고 구분 분석하면 된다.
칼럼 압축
칼럼의 많은 값이 반복해서 나타난다. 데이터 웨어하우스에서 비트맵 부호화를 사용한다.
고유 값 하나가 하나의 비트맵이고 각 로우는 한 비트를 가진다. 만약 로우가 해당 값을 가지면 비트는 1이고 그렇지 않으면 0이다.
구체화 뷰
구체화 뷰는 데이터 웨어하우스의 성능을 향상시키기 위해 사전에 계산된 결과 (sum, count)를 저장하는데 사용된다. 이는 원본 데이터의 비정규화된 복사본이다. 원본 데이터를 변경하면 구체화 뷰를 갱신해야 하는데, 이러한 갱신으로 인한 쓰기는 비용이 비싸기 때문에 OLTP 데이터베이스에서는 구체화 뷰를 자주 사용하지 않는다.
'Backend > Database concept' 카테고리의 다른 글
[DB] 분산 데이터 - 복제 (0) | 2024.02.02 |
---|---|
[DB] 데이터 플로 (0) | 2024.01.30 |
[DB] 부호화와 발전 (1) | 2024.01.25 |
[DB] B tree (0) | 2024.01.16 |
[DB] Log structured 저장소 (1) | 2024.01.11 |