패스트 캠퍼스에서 수강하는 데이터 엔지니어링 강의 내용의 정리본이다.
Part4_Data Lake
목차
- Step 1. Data Lake
- Step 2. AWS S3
- Step 3. Data Lake 구축
Step 1. Data Lake
‘가공되지 않은 다양한 종류의 데이터를 한 곳에 모아둔 저장소의 집합’
시대의 변화에 따라 데이터 저장 방식이 진화를 했다. 그 이유는 빅데이터와 인공지능 기술의 중요성이 커지면서 다양한 영역의 다양한 데이터가 만나 새로운 가치를 만들어내기 시작했다.
이와 같이 빅데이터를 효율적으로 분석하고 사용하고자 다양한 영역의 Raw data를 한 곳에 모아 관리하고자 하는 것을 Data Lake 라고 한다.
1) Data Lake vs Data Warehouse
둘의 가장 큰 차이점은 Data Structure/Schema 이다. 기존 DB엔 structure가 존재하며 어떻게 쓸지 설계한 뒤 데이터를 수집했다. (e.g. RDB)
그러나 현재는 데이터가 너무 방대하기에 데이터 사용 비용이 상당해졌고 여러 문제가 발생하기에 수집 과정이 전자가 되어버렸다.
- 기존 방식 : ETL(Extract -> Transform -> Load)
- 요즘 방식 : ELT(Extract -> Load in to data lake -> Transform)
그렇다면 데이터를 재가공 과정에서 시간이 너무나 소요되지 않을까? 과거에는 접근성이 떨어지는 단점들이 존재했지만 Hadoop, Spark 등의 빅데이터 처리 tool을 이용해 더 빠르게 접근할 수 있는 능력이 생겼다.
Step 2. AWS S3
Amazon S3는 Amazon Simple Storage Service로 인터넷용 스토리지 서비스이다. S3에서 제공하는 인터페이스를 사용하여 웹에서 언제 어디서나 원하는 양의 데이터를 저장하고 검색이 가능하다.
즉, S3는 ‘높은 내구성’과 ‘높은 가용성’을 ‘저렴한 가격’으로 제공하는 ‘인터넷 스토리지 서비스’ 이다.
S3는 Bucket , Object, Key로 구성되어 있다.
- Bukcet : S3에 저장된 객체에 대한 컨테이너
- Object : 파일 및 파일정보(Data and Metadata)로 구성된 저장 단위
- Key : 버킷 내 객체의 고유한 식별자로 버킷 내 모든 객체는 정확히 하나의 키를 가짐
Step 3. Date Lake 구축
1) S3 생성
AWS 서비스에서 S3를 선택하여 버킷을 만들면 된다. 버킷 이름만 설정하고 나머지 과정은 모두 Default 값으로 설정하면 완성이다.
2) S3에 데이터 넣기
MySQL DB에 저장해둔 정보를 이용해 top_tracks와 audio_features data를 S3에 넣겠다.
1 |
|
아래와 같이 설정한 폴더를 기준으로 나뉘어 저장된 것을 확인 할 수 있다.