카테고리 없음

AWS Redshift

가은파파 2021. 11. 10. 01:35

배경
1. Data warehouse 사전적 의미
- 다양한 출처로 부터 축적된 데이터의 집합을 의미하며, 이것을 바탕으로 회사의 의사 결정등에 사용할 수 있다.

2. AWS Redshift 는 이러한 Data warehouse를 다양한 비지니스 툴을 사용해서 데이터를 분석하게 해주는 솔루션을 말한다.

특징

1) Redshift는 다양한 데이터, ETL(Extract, Transform and Load), Business Intelligence(BI) Reporing, Data mining(데이터 채굴), 분석도구등이 통합되어 있다.
2) Redshift는 Industry-standard PostgreSQL(8.0.2)에 기반을 두고 있어서, 최소한의 변화를 가지고 클라이언트에서 접근이 가능하다.
    - Redishift는 Industry-standard PostreSQL JDBC(Java Database Connectivity)와 ODBC (open Database Connectivity)하에 클라이언트 어플리케이션과 함께 통신 (Connection)을 맺는다.
3) 하나 이상의 Computing Node을 가지고 Cluster을 한다.
4) Leader node는 Computing Node와 통신을 하고 잇으며, 이 Node는 클라이언트 프로그램과 함께 통신 Comminication을 담당한다. (즉 Computing NOde아 Client 중간에서 역활을 한다) Leader node는 SQL을 Compuitng 노드에 분산하는 역활을 한다.
(회사 다니면서 빅데이터 존 생각하면, 인터페이스 노드와 컴퓨팅 노드가 있었는데, 이제서야 이해가 된다.)
5) 각각의 Compute는 Leader node로 부터 받은 compiled 코드를 수행하고 결과를 바로 리턴하는 역할을 한다.
6) Redishift는 (Dense Storage node / Dense Compute node)라는 2가지 형태의 Node가 존재하며, 각각의 Node는 160GB 에서 부터 16TB까지 지원하는 형태이다.
7) 컴퓨팅 Node는 들은 하나의 Slice라는 개념으로 메모리와 디스크등을 하당하는 파티셔닝 개념이 존재한다. 실제로 Leader node가 이 Slice에 워크로드를 할당하게 되는 것이다.
8) 이 Slice 의 수는 클러수터링의 사이즈에 의해서 결정이 난다.
9) 테이블을 생성하면 Distributed key을 가지고 하나의 행이 결정되며, 만약 호출이 되는 경우에는 열이 전체 범위에 걸쳐 있기 때문에, 이 Distirbute 키를 잘 할당하는 것이 성능 향상시키는 주요 이유가 된다.
10) 고용량의 BW을 제공하고, 리더와 컴퓨터 노드 사이에 역시 고속의 네트워크를 제공한다.
11) AWS Redishift는 Relational Dtabase management system (RDBMS) 이다. 이것은 다양한 어플리케이션이 RDBMS을 선택하고 있는 현 상황에서 호환성을 올리기 위함이다.

Hands-on

https://m.blog.naver.com/happy_jhyo/221212695146