이번에는 이와 같은 시각적 대시보드를 제공하는 Quicksight와 Quicksight가 바라보는 데이터인 Athena와 Redshift를 간단히 정리하려고 한다.
Athena는 표준 SQL을 사용해 S3를 분석할 수 있다. 그리고 서버리스 서비스이기 때문에 관리할 인프라가 없고, 실행한 쿼리에 대해서만 비용을 지불하면된다.
Athena 설명을 보면, ETL 작업 없이 그냥 분석이 가능하다고 한다.
그리고 QWS Glue 데이터 카탈로그 연동되어 Glue Crawler가 하는 것처럼 스키마를 Data Catalog에 저장한다. 그리고 분석할 때 Athena는 스키마 온 리드 라는 접근 방식을 사용한다.
설명을 보면, 그냥 S3와 Athena만 가지고 분석을 진행하면 될 것 같은데, 왜 굳이 Glue Crawler를 써서 Data catalog를 만들고, ETL도 하고 그랬을까..
겸사 겸사?
저게 다 돈인데 겸사겸사 할 이유는 없을 것이다.
굳이 복잡도를 늘려가면서 저런 구조를 구성하는 이유는 당연히 돈 때문이다.
Athena가 S3를 참고할 만한 데이터 없이 바로 S3를 분석하여 카탈로그에 스키마를 생성하고 분석한다면, 많은 쿼리가 발생할 것이다.
하지만 Athena가 Glue Crawler로 생성된 Catalog를 참고하여 S3를 분석한다면, 쿼리 수가 상당히 줄것이다.
Athena는 쿼리 당 비용 지불을 하는데, 쿼리 수가 준다는 것은 시간이 준다는 것 외에 비용이 준다는 것을 의미한다.
물론 Glue도 Athena와 같이 서버리스이기 때문에 저렴한 제품은 아니지만, 아무래도 Glue를 사용해서 crawling하고 ETL하고 Crawling 해서 얻은 스키마를 기반으로 Athena가 S3를 분석하는 것이 가격적으로 저렴하다고 한다. 총 처리시간도 비슷한것 같다.(총 소요 시간 차이 언급이 따로 없는 것 보면)
홈페이지에는 이점으로 ETL 따위 필요 없다고 되어있지만, 실제로는 한다는거.. 음..
여튼 그렇다. Athena를 통해 분석한 결과가 어떤 것인지 보고 싶은데.. 찾을 수가 없었다. 결과 다운 받는 방법 이런것만 나올뿐.. 아마 코드 같은 형태로 나오는 것 같다. 그래서 QuickSight를 통해서 결과를 보나보다.
그리고 Redshift.
이것은 DataWarehouse이다. DataWarehouse는 수집된 대규모의 로우 데이터를 선별 수정 가공(전처리와 후처리,ETL, Glue나 EMR이 하는 것들)하고 저장되는 곳이다. 기존 DataWarehouse는 정형 데이터만 되었지만(DataWarehouse는 RDS이다), Refshift는 정형 비정형 모두 저장이 된다.(ETL된 것들이 들어오니까...!) 그리고 기존 DataWarehouse는 원본 데이터가 여러 저장소에 있는 형태일때가 있지만, AWS에서는S3에 모든 원본데이터가 있기때문에 원본 데이터가 편리하다. S3는 확장성이 뛰어나다.
그리고 DataWarehouse는 RDB와 다르게 데이터 분석이 가능하다. RDB는 OLTP를 한다. On-Line Transaction Processing으로 트랜잭션의 원할한 처리를 최우선으로 하고, 갱신되는 데이터들에 대하여 데이터 무결성을 확보하는 것이 중요한 목적이다. 그에 반해 DataWarehouse는 OLAP, On-Line Analytical Processing을 한다. 이것은 데이터를 기초로 하여 데이터 분석하는데 중점을 둔다. 따라서 RDB도 OLAP에 특화된 RDB이다.
추가로 Redshift는 클러스터로 구성되며, 각 클러스터 노드들이 병렬로 쿼리를 수행해서 빠른 성능을 낼 수 있다. 그리고 Redshift는 auto scaling은 없어보이지만, Concurrent Scaling이라는 것이 있다. Concurrent Scaling을 통해 성능을 확장시켜 쿼리 수가 증가하여 발생하는 성능 저하 문제를 해결할 수 있다.
추가로, DataMart라는 개념이 있다. DataMart는 DataWarhouse의 일부로, Redshift는 Data Warehouse를 각각 기능 영역에 부합되는 여러 개의 Data Mart로 분할할 수 있다.
여기서 다시 또 한번 의문을 가져보면..
Redshift는 DB 역활도 하고(Data Catalog의 자료로 ETL된), 데이터 분석도 하고 Quicksight에도 연동되는데,
왜 Athena가 필요할까?
Ahtena의 정의를 다시한번 보면,
" 표준 SQL을 사용해 Amazon S3에 저장된 데이터를 간편하게 분석할 수 있는 대화식 쿼리 서비스입니다. Athena는 서버리스 서비스이므로 관리할 인프라가 없으며 실행한 쿼리에 대해서만 비용을 지불하면 됩니다.
Athena는 사용이 쉽습니다. ..."
간편하다. 관리할 필요가 없다. 사용이 쉽다.
그래서 사용하는 것 같다. 그래서 Athena를 통한 분석은 데이터를 간단하게 일회성으로 진행하고 싶을 때 적합하다.(Ad-hoc 분석에 적합하다고 볼 수 있다.)
Redshift로는 간단한 분석을 못하는 것은 아니겠지만 말이다. 정기적인 배치처리(분석)이 필요하거나 더 정교한 분석을 위해서는 Redshift를 사용하는 것이 좋아 보인다.
여하튼,
이렇게 분석이 된 자료를 QuickSight를 통해서 시각화 할 수 있다.(Redshift는 그 자체로도 간단한 그래프 등은 보여주는것같다. Redshift Severless (Preview))
Athena나 Redshift 등을 빅데이터 툴이라고 본다면, Quicksight는 Business Intelligence, BI 툴이다. 비지니스를 위해서 데이터를 분석하고 시각화 된 대시보드를 제공한다.
'AWS 정리 > AWS 개념 정리' 카테고리의 다른 글
AWS GLUE 와 EMR-EMR/MapReduce/Spark (0) | 2022.01.16 |
---|---|
AWS GLUE 와 EMR-/후처리/Glue Studio/Crawler/Data Catalog (0) | 2022.01.16 |
AWS GLUE 와 EMR-우선 빅데이터/전처리/Glue Databrew (0) | 2022.01.15 |
AWS 정리 1차 - EC2, RDS, S3, CloudFront-1(EC2, S3) (0) | 2022.01.03 |