대규모 데이터를 처리하는 데이터 베이스에대해 찾아보다 보니 구글 빅쿼리(Google BigQuery)라는 데이터 웨어하우스에 대해 알게 되었다. 필자는 지금까지 HDFS를 이용한 데이터 분산 처리로 대규모 데이터를 다뤄봤을 뿐 다른 플랫폼을 사용해본적은 없었다. 빅쿼리를 알게된 김에 HDFS의 단점을 보완하는 빅쿼리를 구축해보려고한다.
구글 빅쿼리란?
인프라를 관리할 필요 없이 쿼리가 실행가는한 데이터 웨어하우스이며 클라우드 서비스를 통하여 제공되기 때문에 설치를 할 필요도 없이 RDBMS에서 사용되는 SQL 쿼리를 그대로 사용가능하다.
또한 페타바이트에 달하는 쿼리도 매우 빠른 속도로 처리가 가능하다.
하지만 장점만 있는 것은 아니다. 빅쿼리는 데이터가 무결하고,정확한것을 가정하고 사용자에게 제공하는 OLAP에 특화되어 있어 데이터의 삭제, 수정 등 데이터 수정작업인 OLTP에는 부적합하다. 즉 지금 필자가 진행중인 야구 데이터 시각화 프로젝트에서는 데이터의 수정, 삭제 작업도 이루어지고 있기 때문에 엄밀히 따지면 부적합한 플랫폼이다.
구글 빅쿼리 사용하기
빅쿼리를 사용하기 위해서는 회원가입이 필요하다. 필자는 무료 버전을 사용하여 회원가입을 진행했다.
회원가입 과정에서 주소나 카드 정보를 물어보는데 자동가입을 예방하기위한 부분이므로 결제에 대한 걱정은 하지 않아도된다. 다만 AWS EC2 처럼 무료로 제공되는 용량을 넘어설 경우 비용이 청부되는 것 같다.
샘플 데이터 다운받기
구글 빅쿼리 > SQL 작업공간을 클릭하면 Google에서 자체 제공하는 미국 내 인기 검색어 데이터 셋을 제공해준다.
필자는 이 데이터를 이용해보려고한다.
샘플 데이터 select
샘플데이터에서 데이터를 긁어온 쿼리다.
테이블 지정방식은 "select * from <프로젝트>.<데이터셋>.<테이블명>" 이런식으로 지정해주면된다.
대략 100만건의 데이터가 14초만에 select이 완료되었다.
빅쿼리를 웹에서만 사용하기에는 불편한게 많이서 DBeaver와 빅쿼리를 연동시켜보자
이부분은 다른 레퍼런스를 참고했다.
dbeaver 사용 가이드 (1) 설치 및 데이터소스 연결
해당 포스팅은 철저하게 AWS Athena / Google Bigquery 웹 콘솔을 사용하는 클라우드 데이터소스를 사용하는 분을 위해 작성되었음을 미리 알려드립니다. 대신 귀여운 비버를 드리겠습니다다운로드 링
velog.io
20년도에 작성된 글이지만 큰 문제없이 연동이 되었다. 참고로 구글에서 제공한 샘플 데이터는 연동이 되지않고
처음에 default로 존재했던 "oceanic-hold-396108" 프로젝트만 연결이 되는 것 같다.
이제 빅쿼리를 DBeaver에서 간편하게 사용하면 될 것 같다.
마치며
구글 빅쿼리를 세팅하고 DBeaver에 연결해봤는데 아직까지는 큰 문제가 없는 것 같다. 100만건의 데이터가 14초에 걸쳐서 select 되었는데 생각해보니 HDFS에서 긁을때랑 별로 차이가 안나는것 같은 느낌이다. 사실 HDFS에서 100만건을 긁을 때 시간이 얼마나 걸렸는지 기억도 잘 나지않는다.... 아무튼 데이터가 커질수록 퍼포먼스 차이도 분명이 날 것 같다.
AWS EC2때 처럼 추가 비용이 청구되지 않는 선에서 열심히 가지고 놀아봐야겠다.
'DB' 카테고리의 다른 글
MariaDB Log 확인하기 (0) | 2023.07.27 |
---|