본문 바로가기

Infra/Google Cloud

[Google Cloud] Google Study Jam : Build LookML Object in Looker (5)

728x90
반응형
본 포스트는 2024년 Google Study Jam을 공부하면서 개인적으로 내용을 정리한 포스트 입니다.

 

 

Task 1. Create Baseline Dataset for Testing the Columnar Engine

1. Navigation menu > Databases > AlloyDB for PostgreSQL > Cluster > lab-cluster > lab-instance에서 Private IP를 카피한다.

 

Columnar Engine의 기능을 평가하려면 성능을 측정할 상당한 크기의 데이터 세트가 필요하다.

postgreSQL의 pgbench를 사용하여 Columnar Engine평가할 합성 데이터 세트를 생성한다.

 

2. Navigation menu > Compute Engine > VM Instances > alloydb-client > Connect > SSH로 터미널을 열고 다음 명령어를 입력하여 pgbench로 데이터를 만든다.

export ALLOYDB=ALLOYDB_ADDRESS
echo $ALLOYDB  > alloydbip.txt
pgbench -h $ALLOYDB -U postgres -i -s 500 -F 90 -n postgres

psql -h $ALLOYDB -U postgres]
select count (*) from pgbench_accounts;

 

 

Task 2. Run a Baseline Test

1. alloydb-client 터미널에서 postgreSQL 클라이언트에 접속하고 다음 명령어를 입력하여 쿼리를 실행하여 모든 쿼리 작업에 대한 타이밍을 키고 런타임을 평가한다.

# 쿼리 작업에 대한 타이밍 키기
\timing on

# pgbench_accounts 테이블 전체의 seq 스캔을 수행
SELECT aid, bid, abalance FROM pgbench_accounts WHERE bid < 189  OR  abalance > 100 LIMIT 20;

 

2. 다음 쿼리를 실행해서 제한 없는 쿼리에 대한 설명 계획을 생성한다.

EXPLAIN (ANALYZE,COSTS,SETTINGS,BUFFERS,TIMING,SUMMARY,WAL,VERBOSE)
 SELECT count(*) FROM pgbench_accounts WHERE bid < 189  OR  abalance > 100;

 

 

Task 3. Verify the Database Flag for the Columnar Engine

1. Navigation menu > Databases > AlloyDB for PostgreSQL > Clusters > lab-instance에서 Edit Primary를 클릭한다.

 

2. Add a database flag를 클릭하고 사용 가능한 플래그 목록에서 google_columnar_engine.enabled 플래그를 확인한다.

 

 

Task 4. Set or Verify a Database Extension for the Columnar Engine

1. alloydb-client instance의 터미널에서 postgreSQL 클라이언트에 접속한 후 명령어를 입력한다.

\c postgres # postgreSQL과 연결되어 있는지 확인

\dx # 활성화된 확장 보기

 

2. 목록에 google_columnar_engine가 나오면 Task5로 건너 뛰고 안나오면 다음 명령어를 입력한다.

CREATE EXTENSION IF NOT EXISTS google_columnar_engine;

\dx # 추가 되었는지 다시 확인

 

 

Task 5. Testing the Columnar Engine

1. alloydb-client의 터미널에서 postgreSQL 클라이언트에서 다음 쿼리를 입력해 pgbench_accounts를 컬럼 엔진에 추가한다.

SELECT google_columnar_engine_add('pgbench_accounts');

 

2. 다음 쿼리를 입력해 Columnar Engine의 영향을 확인한다.

💥 값은 샘플 출력의 값과 유사해야 하나 데이터 생성의 무작위적 특성으로 인해 다를 것이다.

EXPLAIN (ANALYZE,COSTS,SETTINGS,BUFFERS,TIMING,SUMMARY,WAL,VERBOSE)
 SELECT count(*) FROM pgbench_accounts WHERE bid < 189  OR  abalance > 100;

 

Execution Time Pre-Columnar EnginePost-Columnar Engine의 차이는  9285.705ms, 약 9초로 시간이 단축된 것을 확인할 수 있다.

 

728x90
반응형