Data Warehouse(3)
-
데이터 웨어하우스란?
운영 시스템은 트랜잭션을 신속히 처리하는데 최적화되어있습니다. 데이터 웨어하우스는 신규 고객을 집계하고 월별 GMV를 비교하는 등의 요구사항을 처리할 수 있어야 합니다. 그러기 위해서는 운영 시스템과는 다른 구조가 필요하며 이를 다차원 모델링으로 해결합니다. 데이터 웨어하우스를 활용하는 사람들은 현업에 있는 다양한 직업을 가진 사람들입니다. 그래서 구축을 할 때는 기술보다 비즈니스 이슈를 중심으로 생각해야 합니다. 데이터 웨어하우스 구축을 위한 요구사항은 다음과 같습니다. 정보에 쉽게 접근 가능하도록 만들어야 한다. 의사결정을 위해 신뢰할 수 있는 토대가 되어야 하며 일관된 정보를 제공해야 한다. (데이터 신뢰성) 시스템 변화에 유연해야 한다. 정보를 적시에 제공해야 한다. (데이터 최신성) 현업에서 사..
2024.02.20 -
[Delta Lake] 데이터 레이크하우스: 테이블 활용하기
1. 테이블 읽기 및 쓰기 1.1 테이블 생성하는 방법 spark.sql CREATE TABLE delta.`s3://bucket_name/foo/bar/table_name` ( id INT, firstName STRING, middleName STRING, lastName STRING, ) USING DELTA write df.write.format("delta").mode("overwrite").save("s3://bucket_name/foo/bar/table_name") 1.2 시간 여행 델타레이크에서는 timestamp와 version으로 시간 여행을 할 수 있다. 사용자의 실수로 테이블의 어떤 데이터를 삭제하나 업데이트 한 경우 시간 여행으로 과거의 테이블로 돌아가 다시 쓸 수 있다. df1 =..
2022.03.18 -
[Delta Lake] 데이터 레이크하우스: 소개 및 예시
Delta Lake는 데이터 레이크 위에 Lakehouse 아키텍처를 구축할 수 있는 오픈소스 프로젝트이다. 데이터 레이크의 문제점과 데이터 웨어하우스의 문제점을 보완해줄 수 있다. 데이터 레이크는 아주 큰 데이터를 저장할 수 있지만 체계가 정확하게 잡히지 않으면 데이터 늪이 되기가 쉽다. S3와 같은 클라우드 스토리지는 가장 비용 효율적인 스토리지 시스템이다. 그러나 key-value로 구현이 되어있어서 ACID 트랜잭션과 같은 고성능을 구현하기는 어렵다. listing object와 같은 메타데이터 동작은 비싸며 일관성 보장은 제한적이다. 델타레이크는 이런 문제점을 보완할 수 있다. ACID 성질을 가질 수 있게 하여 트랜잭션을 구현하며, 테이블에서의 시간 여행을 가능하게 한다. upsert를 구현할..
2022.02.07