ETL
-
빅쿼리로 데이터 인프라 이전하기 (1) 비용 최적화 with Dataformetc. 2023. 6. 10. 15:08
결론부터 말씀드리면, 사용자 작업이 없는 주말 기준으로 데이터 파이프라인 운영 비용을 30만원대 -> 3만원대로 줄였습니다. Phase 0. Trino 저희는 기존에 AWS EKS를 활용해 스케일링이 가능한 Trino 환경을 사용하고 있었습니다. 클라이언트 로그 데이터부터 MongoDB, RDS등의 데이터를 DW로 ETL하고, 전사 구성원들이 쿼리를 조회하는 용도로 활용되었죠. 장점이 있다면 대용량의 데이터를 일별 스냅샷으로 적재해도 상대적으로 부담이 적다는 것과 누가 언제 어디서 어떻게 쿼리를 조회해도 비용 자체는 안정적으로 관리할 수 있다는 것이었죠. 그러나, 점차 데이터 사이즈와 쿼리량의 증가로 인해 서버 비용 외에 저장 비용도 누적되고 급격히 사용자가 몰리는 시점에는 처리 속도도 만족스럽지 못했습..
-
사이즈가 큰 csv데이터 S3 -> redshift DB로 Copy하기About Data 2020. 12. 18. 17:27
약 7만 row, 40mb정도 되는 파일을 redshift로 올리기 위해 가장 먼저 아래와 같은 python 코드를 사용했었습니다. df.to_sql(tablename, if_exists = 'replace', con=engine, schema = schema, index=False) 그런데 이렇게 하고 redshift 쿼리 로그를 보니 무려 한 줄씩 일일히 insert로 들어가고 있던..... 한 줄마다 평균 0.5초씩만 계산해도 9시간이 넘게 소요되는 속도입니다. 이건 아니다 싶어서 방법을 찾다가 S3 버킷에 파일을 올리고 redshift copy문을 찾아서 적용해 봤습니다. 먼저 내용이 있는 데이터프레임을 csv형식으로 S3에 올리기 위해 사전 작업을 합니다. csv_buffer = StringIO..