앞의 과정에서 타사 데이터 플랫폼으로부터 API 연동으로 데이터를 가져와서 데이터레이크에 수집, 전처리, 분석, 집계 된 결과를 RDS Mysql에 저장하였습니다.
시각화 과정 중 Line Chart나 Area Chart 등을 이용하여 추이를 분석하게 되는데, 일자별 데이터 분석을 Athena에서 하고 집계된 결과를 집계 요약 테이블에 적재하여, BI 툴은 집계 테이블을 조회하여 챠트를 구성하는 방식으로 구성하고자 합니다.
챠트 조회시마다 중복된 쿼리를 매번 실행하여 발생하는 Athena 쿼리 비용도 줄일 수 있으며, 챠트 조회 속도 또한 개선할 수 있습니다.
데이터웨어 하우스로 Athena를 통해 분석할 경우 집계 테이블을 CTAS로 Athena에 구성하여 BI툴에서 조회할 수도 있으나, Mysql엔진의 RDS를 사용하였습니다.
Athena이외의 Redshift나, Snowflake, ElasticSearch 등 다른 데이터 웨어 하우스에서 분석이 진행될 경우에도, 집계 데이터의 저장소인 RDS에 적재하여 BI 툴에서 연결해줌으로써 확장성 있는 구성이 가능합니다.
<QuickSight를 통한 BI구성하기>
지금까지 API를 통하여 연동하여 분석한 결과를 QuickSight를 통해 BI로 구성해 보겠습니다. 태블로나, 파워 BI 등 다른 BI 툴들도 비슷한 연결방식과 챠트 구성 방법으로 결과를 도출할 수 있습니다.
1.QuickSight 콘솔로 진입합니다. Amazon QuickSight는 아마존이 제공하는 서버리스 매니지드 BI 상품입니다. 특정 데이터에 대한 시각화 대시보드를 생성하고 다른 사용자와 공유할 수 있습니다.
2. QuickSight 계정 등록을 별도로 해야합니다.
3. poc과정중에만 사용하려고 하기 때문에 standard로 등록합니다.
4. 계정정보를 설정합니다.
5. RDS 서비스에 접근 권한을 부여합니다.
6. 계정 생성중입니다.
7. 계정이 생성되었고, BI 시각화 구성을 하기 위해 QuickSight 로 진입합니다.
8. New Analysis 버튼을 클릭합니다.
9. New Dataset 버튼을 클릭합니다.
10. 데이터세트 연결을 RDS로 선택합니다.
11. 연결하려는 RDS정보를 입력합니다.
12. 챠트를 구성할 집계 테이블을 선택합니다.
13. 직접 쿼리하기 옵션을 선택합니다. QuickSight의 경우 SPICE 데이터 영역이 존재합니다. 직접SQL쿼리를 사용하지 않고 강력한 인메모리 엔진으로 데이터를 가져오는 저장방식입니다. 고급 계산을 신속하게 수행하고 데이터를 제공하도록 설계 되었습니다. 다른 BI엔진과는 비교되는 기능입니다. poc에서는 다른 BI 툴로 교체될 가능성을 전제로 두고 직접 쿼리하기 옵션으로 구성해보았습니다.
14. 챠트를 구성할 수 있는 화면에 진입됩니다.
15. 챠트를 구성합니다.
* 최종 대시보드입니다. 자유롭게 시각화를 구성합니다.