거의 10년 전 이야기인데 Hadoop이 빅데이터의 전부인 줄 알았던 시절이 있었다. Hive, Spark, DAG 구성 등 나름 뒤처지지 않게 따라가고 있다고 생각하던 차에 구글에 있던 분을 만나 구글은 어떻게 데이터를 활용하는지 물었다. 구글 정도의 데이터를 가공하려면 어떻게 파이프라인을 구성하고 관리하는지 궁금했다. 하지만 그분은 나의 질문이 무슨 말인지조차 알아듣지 못했다. 데이터 질의는 주로 원장(raw) 데이터에 바로 날리기 때문에 조인 구문이 많아 귀찮을 뿐 그 이상의 파이프라인은 필요 없다고. 감탄치 않을 수 없었다. 하둡 등 오픈소스 진영의 빅데이터 구현은 구글 논문의 열화 구현인 경우가 많았고 구글은 이미 멀리 앞서 나가곤 했으니까.
지금 용어로 말하면 내 질문은 어떻게 ETL 하고 있냐고 물은 것이고 그분은 EL 하고 있다고 답한 것이다. 데이터 엔지니어가 transform 단계에서 병목이 되는 일이 있는데 ELT는 이를 해결한다. 더 많은 구성원들이 데이터에 가까워질 수 있고 이는 데이터 기반 의사결정에 큰 도움이 될 수 있다.
빅쿼리를 처음 접한 건 2018년 Lyft에서다. 당시 Lyft는 AWS를 주로 활용했고 데이터 인프라도 S3 + Redshift 였다가 안정성 확보가 힘들어 HDFS + Hive로 돌아가는 시도를 했다. Hive가 대용량 작업에서 안정적이기는 하지만 느리다는 성능의 한계가 있었기에 다른 여러 솔루션을 검토했는데 결론은 구글 빅쿼리였다. 모든 데이터 이벤트가 AWS에 저장되고 있었는데 lambda 펑션을 이용해 그 이벤트들을 동일하게 구글 클라우드 스토리지에 실시간으로 클론하면서 빅쿼리를 쓸 정도였다. 안정적이며 빨라야 한다는 요구사항을 싸게 만족시키면서 기본으로 제공되는 쿼리 툴과 시각화 툴이 나쁘지 않아 러닝 커브가 낮고 ML 등 신기능도 좋았다.
이런 장점들을 알기에 한국에 와서도 빅쿼리를 쓰려고 알아봤는데 당시 구글 클라우드에 서울 리전이 없었다. 핀테크 스타트업이라 이런저런 제약도 있었고. 이번에 시간이 생겨 AWS 이외 클라이드 서비스 프로바이더들을 돌아보고 있는데 빅쿼리가 여전히 매력적이다. 이제 스타트업에서도 확장 가능한 백엔드 엔지니어링과 안정적인 오퍼레이션은 베스트 프랙티스들이 정립되고 활용되며 더 이상 아주 어려운 분야는 아니라는 생각을 갖고 있는데, 데이터 인프라 구성 및 활용도 곧 이 수준에 가게 될 것으로 보인다. 빅쿼리와 AutoML이 그 큰 두 축이 될 것이고. (빅테크들의 박터지는 자체 인프라 경쟁은 논외로 하자)
이 책은 빅쿼리에 익숙해지는 본래 목적에도 충실하지만 위 언급한 큰 틀을 이해하는데에도 도움을 준다. 2장, 3장, 7장, 8장에서 SQL을 새로 익히거나 복습하고 4장, 5장에서는 데이터 전처리를 이해하고 1장, 7장에서는 빅쿼리 아키텍쳐와 관련 구글 기술을 접할 수 있다. 9장은 표면적으로 머신러닝을 다루고 있지만, 비즈니스 경쟁력 제고를 위해 데이터에 접근하고 활용하는 좋은 예를 제공하고 있어 직무를 떠나 테크 회사 종사자라면 도움이 될 내용이다.
마지막으로 번역이 매끄러워 좋았다. 오라일리 책은 원서와 같이 읽는 편인데 이 책은 그럴 필요가 없었다.