구글(Google) 데이터웨어하우스(Data Warehouse) BigQuery (빅쿼리) 소개
구글(Google)에서 만든 데이터 웨어하우스(data warehouse)인 빅쿼리(BigQuery)를 소개합니다.
- BigQuery는 데이터 웨어하우스입니다. 보통 데이터 웨어하우스를 설계하고 구축하고 운영하는데는 많은 자원이 듭니다. BigQuery는 serverless라서 사용자가 따로 서버를 구축하고 관리할 필요가 없습니다. 하드웨어&소프트웨어 업그레이드 및 관리를 하지 않아도 되고, DBA 같은 데이터웨어하우스를 관리하는 인력도 필요가 없습니다. 그래서 BigQuery를 fully-managed, serverless data warehouse라고 부릅니다.
- 보통 빅쿼리같은 클라우드 SaaS 제품을 고려할땐 항상 보안을 제일 걱정하게 됩니다. 빅쿼리는 데이터를 암호화해서 저장하고, 전송시에도 암호화해서 보호합니다. 데이터는 또한 복제되어 분산 저장되기 때문에 안전합니다. 물론 지구상의 구글 데이터센터가 다 터진다면 데이터는 사라집니다. 하지만 한 곳만 터져면 다른 센터에도 같은 데이터를 가지고 있기 때문에 안전합니다.
- 2020년 구글 코리아 워크샵에서 4.1 테라바이트 위키피디아 퍼블릭 데이터를 쿼리하였는데 이미지 자료에는 41.9초만에 쿼리가 완료되었지만, 최근 워크샵에는 23.7초가 걸렸습니다. 빅쿼리 연산 속도는 계속해서 더 빨라지고 있습니다.
- 빅쿼리가 대용량의 데이터를 빠르게 연산할 수 있는 이유는 바로 Dremel 구조로 설계되었기 때문입니다. 데이터를 저장하는 노드와 쿼리를 처리하는 노드가 분리되어 있고 연산량에 따라 스케일 아웃하고 부하를 조절하게 됩니다.
- 빅쿼리는 SQL:2011(ISO/IEC 9075:2011)과 완전 호환됩니다. 위는 저번에 소개해 드렸던 Google Analytics의 샘플 데이터를 쿼리한 것입니다. 빅쿼리는 Google Analytics와 연동이 가능합니다.
- 여러 데이터 소스를 빅쿼리와 연결할 수 있습니다. ex) 아마존 S3, Google Marketing Platform 제품들, Youtube, Teradata 등등. 위는 구글 클라우드 플랫폼에서 제공하는 Data transfer 기능입니다. 빅쿼리에 Avro, CSV, JSON, ORC, Parquet 데이터를 저장할 수 있습니다.
- 빅쿼리는 구글의 머신러닝과 연동이 됩니다. 빅쿼리 UI에서 sql 만으로 머신러닝 모델을 만들어서 검증하고 예측할 수 있습니다. 한 번 해보시는게 머리로 이해하는 것보다 백배 낫습니다. (여기 클릭 ) 이 링크는 Qwiklabs 이고 크레딧이 필요하지만 각종 구글 교육이나 행사 참여시 크레딧을 얻을 수 있고, 토큰을 주거나 무료로 사용할 수 있게 해주기도 합니다. 꼭 크레딧을 사용하지 않고 읽기만 해도 큰 도움이 됩니다. 실제로 빅쿼리와 ML을 사용하면 돈이 많이 듭니다. 그래서 Qwiklab에서 제공하는 환경에서 실습하는 게 좋습니다. 저는 공짜로 여러번 해봤고 앞으로도 많이 사용해야 합니다. (제가 요즘하는 업무가 빅쿼리와 머신러닝이라... 나이먹고 새로운 거 자꾸 배우려니 빡세네요.)
Comments
Post a Comment