반응형 BigQuery5 [BigQuery] STRUCT, ARRAY 구조에 대해 알아보기 | LIM 빅쿼리에는 Array와 Struct로 데이터를 관리하고 조회할 수 있다. ARRAY 데이터 유형이 동일한 값으로 구성된 목록을 ARRAY 라 부른다. 하나의 행에 데이터 타입이 동일한 여러 값이 저장된다. 아래에서 details.unique_key 는 배열로 구성된 부분이다. 빅쿼리에서 ARRAY를 보여줄 때 세로로 나열된다. STRUCT STRUCT 는 STRUCTURE의 줄임 표현이다. 처음에 이해할 때는 Python의 Dict와 유사한 느낌이라고 이해하면 편하다. Python에서 Dict in List, List in Dict 가 가능한 것처럼 빅쿼리에서도 Struct in Array, Array in Struct 가 가능하다. 빅쿼리에서 STRUCT를 보여줄 때 가로로 나열된다. 실제로 적용해보기.. 2023. 6. 10. [BigQuery] Surrogate key를 활용하여 JOIN 성능 높이기 | LIM Surrogate Key(대체키) 란 테이블의 입력 데이터의 어떤 열을 기본키(Primary Key)로 하지 않고 시스템쪽에 독립적으로 할당된 키를 의미한다. Natural Key(자연키) 란 입력 데이터 자체의 열을 기본키로 하는 경우 Surrogate Key는 언제 사용해야 하는가 1. Natural Key의 부적합성 자연키는 비즈니스 도메인에서 사용되는 실제 속성(ex. 주민등록번호, 이메일주소) 을 기본키로 사용한다. 하지만 자연키가 유일성, 불변성, 간결성 등의 요구 사항을 충족시키지 못하는 경우가 있을 수 있다. 예를 들어, 이름과 생년월일로 구성된 자연키는 중복되는 경우가 발생할 수 있기 때문이다. 이런 경우 surrogate key 를 활용해 각 레코드를 고유하게 식별할 수 있다. 2. 성.. 2023. 6. 9. [GCP] BigQuery 란 무엇이며 생겨나게 된 배경 알아보기 | LIM Intro 요즘은 대규모 데이터로부터 효율적이고 확장 가능한 솔루션을 필요로 한다. 그중 하나인 BigQuery는 Google Cloud에서 제공하는 Full Managed Data WareHouse 및 분석 플랫폼이다. BigQuery의 역사 Google은 2010년에 자체적으로 대용량 데이터 처리 요구사항을 처리하기 위한 도구로 BigQuery를 도입했다. Google은 여기서 습득한 대규모 데이터셋의 관리와 분석에 대한 노하우를 활용하여 BigQuery를 자사 상품으로 내놓게 되었다. 2011년에 Google 은 BigQuery를 공개 베타로 출시하여 모든 규모의 조직이 자체 데이터 분석 요구에 BigQuery의 기능을 활용할 수 있게 했다. BigQuery 가 유용한 이유 BigQuery 자체가 .. 2023. 5. 21. [File Format For Big Data] Parquer vs ORC vs Avro | LIM Parquet, ORC, Avro 모두 빅데이터를 처리하는 사람들이라면 한번씩 마주쳤을 법한 파일 포맷이다. 나는 Parquet 파일은 자주 써보았는데 다른 파일 포맷들은 어떤 특성이 있는 지 몰라서 공부 겸 정리해보고자 한다. Parquet 파일 관련해서 정리해 둔 포스팅이 있다. https://amazelimi.tistory.com/78 Parquet란 무엇이고, 왜 사용하는가 | LIM Parquet (파케이) 데이터를 저장하는 방식 중 하나로 하둡생태계에서 많이 사용되는 파일 포맷이다. 빅데이터를 처리할 때는 많은 시간과 비용이 들어가기 때문에 빠르게 읽고, 압축률이 좋아야 amazelimi.tistory.com https://amazelimi.tistory.com/79 Parquet 파일 읽고 .. 2023. 3. 12. [BigQuery] Partition 과 Cluster 에 대해 알아보고 적용하기 | LIM ✔️ 빅쿼리 Partition 이란? 빅쿼리 파티션이란 하나의 큰 테이블을 사용자가 지정한 column 에 맞추어 여러 스토리지 블록으로 쪼개놓은 것이다. 파티션을 추가하는 경우 장점과 단점은 다음과 같다. 장점) Query 탐색범위를 줄인다. 빅쿼리는 쿼리가 데이터를 탐색하는 양만큼 비용을 부과한다. 파티션이 걸린 경우 해당 파티션 범위만 탐색하기 때문에 비용이 덜 부과된다. Query 속도가 빨라진다. 빅쿼리에서 데이터의 양에 따라 쿼리 소요 시간이 달라짐 미리 조건에 맞추어 작은 테이블로 분할시켜놓았기 때문에 더 빠르게 결과가 나타난다. 단점) 테이블 간 join 비용이 증가한다. 🧐 Sharding(샤딩) 과의 차이는 무엇인가? 샤딩과 파티션 모두 데이터베이스를 여러개로 나누어 분산시키기 위한 .. 2023. 3. 12. 이전 1 다음 반응형