갈아먹는 엔지니어링 시리즈/빅데이터 (7) 썸네일형 리스트형 🛢️ 갈아먹는 빅데이터 BigQuery 갈아먹는 BigQuery [1] 빅쿼리 소개 갈아먹는 BigQuery [2] 빅쿼리 스키마 및 데이터 모델 갈아먹는 BigQuery[3] 빅쿼리 SQL 분산 실행 갈아먹는 BigQuery[4] 빅쿼리 아키텍쳐 Hadoop 에코 시스텝 갈아먹는 BigData [1] MapReduce 이해하기 갈아먹는 BigData[2] HDFS(하둡 분산 파일 시스템) 갈아먹는 BigData[2] HDFS(하둡 분산 파일 시스템) 지난 글 갈아먹는 BigData [1] MapReduce 이해하기 들어가며 지난 포스팅에서 빅 데이터의 분산 저장 및 분산 처리의 시작을 연 MapReduce에 대해서 자세히 살펴보았습니다. 하둡은 이를 구현하여 오픈 소스화 시킨 프로젝트입니다. 하둡을 기반으로 이를 더 잘 활용하기 위한 각종 오픈 소스들이 등장하기 시작했으며 이를 hadoop ecosystem이라고 부릅니다. 이를 간단히 다이어그램으로 표현하면 아래와 같습니다. 보기만 해도 살짝 현기증이 나죠?ㅎㅎ 수많은 에코 시스템들이 하둡 클러스터 위에 얹혀지지만 가장 아래에 기반을 이루는 것은 HDFS, 하둡 파일 시스템입니다. 이는 대용량의 파일을 수천대의 컴퓨터를 묶어 구성한 클러스터에 안정적으로 저장해주는 storage 역할을 수행하며 하둡.. 갈아먹는 BigData [1] MapReduce 이해하기 들어가며 빅 쿼리에 대한 포스팅을 작성하면서 맵 리듀스나 스파크 등 빅 데이터 분산 처리 기술들에 대한 지식이 부족함을 느꼈습니다. 이전에 잠깐 공부해보았던 기술들이지만 찬찬히 페이퍼를 읽어보고 개념들을 다시 정리해보려 합니다. 가장 먼저 리뷰해 볼 것은 분산 처리와 빅 데이터의 포문을 연 구글의 맵 리듀스 논문입니다. 맵 리듀스를 구현하여 오픈 소스화 시킨게 하둡이고, 많은 기업들에서 지난 십수년간 많은 사랑을 받아왔습니다. 맵 리듀스 역시 단점이 있어서 현재는 스파크나 빅 쿼리 등에 자리를 많이 내주었지만 여전히 대용량 데이터의 배치 처리에서 많이 사용된다고 합니다. 또한 맵 리듀스의 한계점을 극복하는 방향으로 빅데이터 분석 기술이 발전하였다고 하니 충분히 살펴볼 가치가 있습니다. 영향력: 맵 리듀스.. 갈아먹는 BigQuery[4] 빅쿼리 아키텍쳐 지난 글 갈아먹는 BigQuery [1] 빅쿼리 소개 갈아먹는 BigQuery [2] 빅쿼리 스키마 및 데이터 모델 갈아먹는 BigQuery [3] 빅쿼리 SQL 분산 실행 갈아먹는 BigData [1] MapReduce 이해하기 들어가며 지난 포스팅들에서 빅 쿼리가 무엇이고 어떠한 특징이 있는지 살펴보았습니다. 그리고 로우 레벨의 관점에서 어떻게 데이터를 저장하고 SQL 쿼리를 분산처리 하는지 살펴보았습니다. 이번에는 빅 쿼리의 아키텍쳐에 대해서 좀 더 자세히 알아보겠습니다. BigQuery Architecture 빅 쿼리는 크게 네 가지 구성 요소로 이루어져 있습니다.[1] Dremel(Compute): 방대한 분산 노드들에서 SQL 쿼리를 실행 Colossus(Storage): 데이터를 저장하고 실.. 갈아먹는 BigQuery[3] 빅쿼리 SQL 분산 실행 지난 글 갈아먹는 BigQuery [1] 빅쿼리 소개 갈아먹는 BigQuery [2] 빅쿼리 스키마 및 데이터 모델 갈아먹는 BigData [1] MapReduce 이해하기 들어가며 지난 시간에 BigQuery의 큰 특징 중 하나인 Columnar Storage에 대해서 알아보았습니다. 이번에는 또 다른 특징인 트리 기반의 쿼리 분산 실행에 대해서 알아보겠습니다. 컬럼 기반으로 저장된 데이터에 대해서 어떻게 SQL문을 적용하는 지에 대한 세부적인 내용 보다는 어떻게 방대한 양의 서버들에 SQL 쿼리를 분산시키고 이를 수합하는 지에 초점을 맞추어 진행하겠습니다. (지난 포스팅과 마찬가지로 빅 쿼리의 전신인 Dremel의 논문에 기반합니다.) Tree Architecture Dremel은 입력 쿼리가 들어오.. 갈아먹는 BigQuery [2] 빅쿼리 스키마 및 데이터 모델 지난 글 갈아먹는 BigQuery [1] 빅쿼리 소개 들어가며 지난 시간에 빅 쿼리에 대한 간략한 소개와 빅 쿼리의 전신인 Dremel에 대해서 알아보았습니다. 그리고 Dremel의 가장 큰 특징은 Columnar Storage와 Tree Architecture를 살펴봤습니다. 이번에는 빅 쿼리의 재미있는 특징 중에 하나인 Array와 Struct를 소개하면서 빅 쿼리가 지향하는 스키마 설계 방식을 다뤄보겠습니다. 또한 이를 Columnar Storage 상에서 구현하기 위한 Dremel의 데이터 모델을 자세히 알아보겠습니다. Big Query 스키마 BigQuery는 RDBMS 처럼 일정한 스키마를 가진 테이블을 생성하고, 정형화 된 데이터(structured data)를 저장합니다. 그렇기 때문에 r.. 갈아먹는 BigQuery [1] 빅쿼리 소개 들어가며 구글 BigQuery는 이름에서 알 수 있듯이 엄청나게 큰 데이터에 대한 SQL 쿼리를 빠르게 수행해주는 google cloud platform의 서비스 중 하나입니다. 무려 페타바이트에 달하는 데이터도 빠르게 분석할 수 있다고 합니다. 자체 클러스터를 구성하고 운영하는 수고로움은 덜고, 데이터 분석에만 집중할 수 있는 툴로 많은 기업들에서 데이터 웨어하우스로 도입하고 있습니다. 그러면 빅 쿼리가 어떻게 생겼는지 살펴볼까요? 빅 쿼리는 다들 한번씩 사용해보셨을 MySQL과 같은 RDBMS의 웹 어드민처럼 생겼습니다. 여기서 데이터 셋을 불러오고, 쿼리를 입력할 수 있습니다. 위의 예시는 100억개의 위키피디아 문서에서 각 언어 별로 Google이라는 단어가 제목에 등장한 문서의 수를 세어주는 쿼.. 이전 1 다음