clickhouse(클릭하우스)라는 오픈소스 OLAP DBMS가 있다. SQL 형식으로 수십억단위의 row를 빠르게 조회하고 가공할 수 있다.
clickhouse playground에서 쿼리를 날려볼 수 있는데, 데이터셋은 깃허브 이벤트들이다. (gh archive 참고)
SELECT * FROM github_events WHERE actor_login = 'sh-cho' ORDER BY file_time DESC
예를 들어 위 쿼리는 내 모든 깃허브 이벤트(repo 생성, watch 추가, push, pr, ...)를 조회하는 쿼리이다.
input 오른쪽 아래를 보면 소요 시간과 탐색한 레코드 수가 나오는데, 73억개 레코드(16.88GB)를 2.5초만에 갖고온 것을 볼 수 있다
SELECT
toHour(toTimezone(created_at, 'Asia/Seoul')) AS hour, count(*)
FROM
github_events
WHERE
actor_login='sh-cho'
GROUP BY hour
ORDER BY hour
clickhouse는 toHour, toTimezone 등등 여러 내장함수가 있어 여러모로 편리하다.
시간별 이벤트 aggregation한 것이다. 나는 주로 저녁~자정 부근에 이벤트가 많다. 그도 그럴것이 주간에는 회사에 있기 때문.
참고 링크
- clickhouse ghe: https://ghe.clickhouse.tech/
- clickhouse: https://clickhouse.com/
- gh archive: https://www.gharchive.org/
반응형
'Software > development' 카테고리의 다른 글
[JetBrains] plugin EAP, beta 채널 설치하기 (0) | 2024.11.02 |
---|---|
[JetBrains] Actions on Save에서 특정 파일 타입 제외하기 (0) | 2024.08.11 |
[RustRover] cargo check 키는법 (0) | 2024.02.23 |
[Grafana] dashboard annotation 클릭시 크래시 나는 경우 해결방법 (0) | 2024.01.28 |
[JetBrains] rtx 프로젝트 세팅 (0) | 2023.11.19 |