Data Warehouse
- 다양한 소스에서 모아서 정제된 데이터를 기업 중앙에 모아서 의사결정 및 분석에 사용.
- 트랜잭션을 처리하는 OLTP를 보완해서 열기반 데이터 구조 (column-oriented database)를 사용해 대용량 분석 처리를 하기 위해 OLAP를 도입한다.
- 아키텍처: DB, File -> ETL/CDC -> Data Warehouse (Structured Data) -> Data Mart, BI, Reports
- On-premises DW는 3-tire 아키텍처를 가진다
- Bottom tier – storage layer: DW 그자체. database server, storage media, meta repository, data marts.
- Middle tier – compute layer: OLAP(Online analytical Processing)
- Top tier – services layer: 기술자가 아닌 최종사용자들도 보고서 작성, 분석등을 의사결정 위해 사용할 수 있게 BI 솔루션과 연결할수 있음. 프론트엔드, UI 계층.
Structured Data, 정형데이터?
일반적으로 문자-숫자 데이터를 셀, 행 및 열에 저장하는 데이터로 엑셀을 떠올리면 된다. 행과 열로 구성된 RDBMS에 저장된다.
ETL, Extract Transfrom, Load
다양한 데이터 소스에서 데이터를 extract한뒤 표준화된 형태로의 cleansing 및 transform을 위해 stage 영역에 잠시 보관한 뒤 DW에 load 한다. ELT는 이와 유사하지만 transform이 마지막 프로세스에서 이루어지기 때문에 stage 영역이 필요 없다.
CDC, Change Data Capture?
각 DBMS에는 DB에서 발생하는 모든 변경 이력을 저장하는 Log가 있다.
Redo Log(commit 또는 commit되지 않은 데이터의 변경 사항 저장), Archive Log(아카이브라는 말 그대로 리두 로그의 사본)의 2가지 리두 로그가 존재한다. CDC 솔루션은 이 Log 파일을 지속 모니터링하여 실시간 데이터 동기화를 해준다
OLTP는 데이터베이스의 트랜잭션 처리 성능 (CRUD)을 최적화하는 데 중점을 두어 day-to-day 비즈니스 쿼리를 받는다면, OLAP는 대규모 데이터 세트를 효과적으로 분석하고, 복잡한 쿼리에 대한 인사이트을 제공하는 데 중점을 둡니다. Data Warehouse는 OLAP 시스템이다.
Data Warehouse: On-premise & Cloud
- On-premises DW
- 솔루션: Micro Focus Vertica Enterprise On-Premise, IBM Integrated Analytics System, Pivotal Greenplum, SAP HANA
- 장점
- Control: 서드파티에 의존하지 않고 HW, SW 종류, 설치 위치, 접근권한 직접 통제
- Speed: 네트워크 latency에 대한 걱정을 덜어줌
- Governance: 데이터 위치를 식별해야한다는 GDPR 요구 충족
- 한계
- 직접 HW, SW 운영 및 유지보수 수행
- Scale up: 더 많은 compute 및 memory 자원이 필요할 때 유연하게 대응 불가
- Cloud DW
- 솔루션: AWS Redshift, Google BigQuery, Snowflake Cloud Data Warehouse, Azure Synapse, SAP Data Warehouse Cloud, Oracle’s Autonomous Data Warehouse (ADW), Yellowbrick Data
- 장점:
- Scalability: 트래픽이 튀거나 적은 시간 모두 안정적 서비스 가능
- Cost: storage와 CPU 사용 시간분만 비용 지불. 유지보수 및 운영을 안해도됨.
- Built-in ecosystem: 다른 클라우드 서비스와 같은 플랫폼에서 연동 가능
- Security: 보안이 우려가 될수도 있지만, 오히려 클라우드 서비스 제공자가 많은 보안 관련 투자를 함
- Availability: 다양한 region과 zone에 data가 복제되어있으면 언제든지 사용할 수 있다
- Time to market
- 한계
- Data integration: 클라우드 DW에 데이터를 올리려면 어려운 ETL 코딩 수행. 서드파티 ETL 툴이 이 과정을 도와 줄 수 있다.
- Provider lock-in: 클라우드 DW를 선정하면 기술적인 어려움이나 계약상 이슈로 다른 플랫폼으로 갈아타기 어려울 수 있다
- Latency: 데이터 소스의 위치, 데이터 양, 데이터 타입에 따라 네트워크 지연이 발생할 수 있어 사전 테스트를 해봐야 한다