
[https://www.canva.com/design/DAF1np7D_1s/9Krwd4pw3Dpojykgcw6Kdw/edit?](https://www.canva.com/design/DAF1np7D_1s/9Krwd4pw3Dpojykgcw6Kdw/edit?utm_content=DAF1np7D_1s&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton)
필요한 자동 기능들
- table이 새로 추가 되었을때, auto load
- column에 변경이 있을 때, auto detection
- 하나의 column의 다른 데이터 타입 처리
필요한 basic 기능들
필요한 심화 기능들
- restart load
- failed event들 처리
- dist key, sort key
- hevo column들 추가하기
- observability
Method 1 : MongoExport → S3 (.json, .csv) → Copy Command → Redshfit
https://hevodata.com/blog/mongodb-to-redshift-data-migration/
- one time load
- have to create table schema beforehand
Method 2
앞 단계 Method : Mongo → () → S3
- Mongo Atlas Data Federation
- Apache Kafka
- AWS DMS
뒷 단계 Method : S3 → () → Redshift
https://velog.io/@cherriverhee/AWS-Data-Pipeline-vs-AWS-Glue
- AWS Glue
- managed ETL service
- serverless Apache Spark environment
- endpoint를 사용하여 스크립트 개발 및 테스트 가능
- AWS DMS
- 뒷단은 aws glue를 사용하여 움직임
- ec2 or emr cluster 환경
- best case for one time load
To Do Check List
- automatic incremental daily basis
- Pre schema detection 이 안됨
- Data type이 같은 column인데도 다를수가 있음
- Column이 언제든지 추가될 수 있음
- Max varchar size를 늘려줘야됨
- Nested object나 array를 넣어주는게 무척 힘듬
- 모든 data type이 compatible 하지 않음
- [x] super type으로 어떻게든 변환하기
- [x] 그 다음부터는 to_json 으로 넣어도 알아서 super type으로 들어가는지