# PostgreSQL을 데이터 웨어하우스로 사용하기

> Clean Markdown view of GeekNews topic #4239. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=4239](https://news.hada.io/topic?id=4239)
- GeekNews Markdown: [https://news.hada.io/topic/4239.md](https://news.hada.io/topic/4239.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2021-05-12T10:09:07+09:00
- Updated: 2021-05-12T10:09:07+09:00
- Original source: [narrator.ai](https://www.narrator.ai/blog/using-postgresql-as-a-data-warehouse/)
- Points: 10
- Comments: 3

## Topic Body

데이터분석을 통한 의사결정 지원시스템 Narrative가 경험을 통해 정리한 주요 트윅들

- 프로덕션 시스템과 같은 서버 사용하지 말 것

- PG 12+로 업그레이드(CTE 사용하지 말 것)

- 인덱스는 가능한 작게

- 테이블 파티셔닝(range/list)

- 디스크 I/O 최소화

- 벌크 인서트 후 Vacuum

- 병렬 쿼리 사용하기

- 통계 샘플링을 증가시키기 (컬럼별 또는 DB 전체. 기본값 100 이지만 500)

- 더 적은 컬럼 사용하기 (row 기반 저장이기 때문)

* 5천만~1억로우 테이블에서는 Postgres가 훌륭하게 동작

* 10억단위로 스케일하게 될때는 Citus 를 추천

ㅤ→ https://www.citusdata.com : Postgres를 분산 DB로 바꿔주는 오픈소스

## Comments



### Comment 5168

- Author: twince
- Created: 2021-05-12T13:38:37+09:00
- Points: 1

경험적으로 보면 시계열 기반일때는 timescaledb 가 더 나을거라고 생각하긴 하는데, 근거할만한 자료가 없으니 조심스럽긴 하네요. 압축률, 성능 면에서는 timescaledb 가 더 낫지 않을까 조심스레 의견 남겨봅니다.

### Comment 5161

- Author: toughrogrammer
- Created: 2021-05-12T10:16:08+09:00
- Points: 1

citus와 timescaledb를 비교하면 어떨지가 궁금합니다.

### Comment 5169

- Author: galadbran
- Created: 2021-05-12T15:32:38+09:00
- Points: 1
- Parent comment: 5161
- Depth: 1

제가 알고 있기로 timescaledb 는 시계열로 파티셔닝하는 방식에 장점이 있고 citus 는 샤딩에 장점이 있어서... (그러고보니 둘을 같이 사용하는 것도 불가능하지는 않으려나요?)
