머신러닝에서 가장 중요한 것은 데이터입니다.
이전까지 배웠던 바로는, Cloud ML Engine을 이용해서 데이터를 전처리하고, 모델을 학습하기 때문에 결론적으로 데이터는 Cloud 위에 있어야합니다.
근데 데이터의 양이 많다면, Cloud에 옮기는 것도 벅차겠죠.
이번 시간에는 우리 데이터를 Cloud에 옮기는 Migration 방법에 대해서 다뤄 보도록 하겠습니다.
0) Google cloud storage
일단 그 이전에, 먼저 Google cloud storage에 대해서 알아보도록 합시다.
GCP에서 취급하는 데이터 저장소는 여러 가지 종류가 있는데 Google cloud storage는 그 중 하나입니다.
그 이외에는 Persistent disk(영구 저장소), SSD, Local SSD도 있는데 장단점은 다음과 같습니다. (참고링크)
Google Cloud Storage는 클라우드를 위해서 제공되는 저장소이며, AWS의 S3과 유사하다고 합니다. 최대 저장공간이 매우 크다는 장점이 있네요.
Google Cloud Storage에도 여러 종류의 티어가 있는데요,
강의에서는 Regional을 추천합니다. 왜냐하면, 같은 지역에 있을 때 Google Compute engine의 속도가 빨라지기 때문입니다.
1) Data migration scenarios
시나리오는 4가지가 있습니다.
On-premise(회사 내부), Large Datasets, Other Clouds, Databases
1-1. On-premise
- 그냥 데이터를 Cloud storage bucket에 드래그하기.
- JSON API를 이용하여 Cloud storage bucket을 관리하기
- gsutil 커맨드를 사용하기 : 가장 많이 사용됨.
-
gsutil이란?
커맨드라인을 통해서 Google Cloud Storage에 접근할 수 있는 파이썬 모듈
사용방식은 첨부된 링크에서 잘 설명해두고 있습니다.
특히, 멀티쓰레딩이 가능하기 때문에 효율적으로 전송할 수 있습니다.
1-2. Large Datasets ( 60TB 이상)
=> Google Cloud Transfer Appliance
1-3. Data on Other Clouds
=> Cloud Storage Transfer Service
1-4. Existing Databases
이미 데이터가 데이터베이스에 있다면, 데이터베이스를 Google cloud storage로 가져올 수 있는 방법은 많이 있습니다!