본문 바로가기

Data Engineering8

BigQuery 파티셔닝과 클러스터링 소개 이번 글에서는 GCP 에서 제공하는 데이터웨어하우스 서비스인 BigQuery 에서 제공하는 파티셔닝과 클러스터링에 대해서 소개하고자 합니다. 주로 대량의 데이터를 저장하고 처리하는 목적으로 사용되는 데이터베이스이기 때문에 테이블 설정이 잘 되어 있지 않는 경우에는 생각 이상의 비용을 초래할 수 있습니다. 물론, 쿼리 자체도 튜닝이 되면 좋지만, 동일한 쿼리라는 가정 하에 테이블 성능을 최적화하는 방법들에 대해서 알아보는 글입니다. BigQuery 비용 체계 제일 먼저 짚고 넘어가고 싶은 부분은 비용입니다. 사실 성능이 어느 정도 저하되었다고 하더라도, BigQuery 의 드레멜 엔진과 저장 방식을 통해 성능이 어느 정도 잘 나옵니다. 이러한 부분들이 있더라도 읽지 않아도 되는 데이터를 읽는 경우에는.. 2023. 11. 1.
SQLite 를 통해 배우는 데이터베이스 여행 소개 최근 들어 이것저것 해보면서 재밌는 것을 찾아보는 시간들을 지났습니다. 그러면서 현재 업무 특성상 많이 접하는 데이터베이스에 대해서 문득 궁금증이 생겼습니다. 이전부터 데이터베이스 시스템에 대한 설계나 구조로 데이터를 효율적으로 조회하거나 저장하는 방법들 등에 대해서는 연구도 해봤고 실전도 조금 해봤습니다. 하지만 실제로 내부 데이터베이스 엔진이 어떻게 구성되고 코드 레벨에서 어떻게 구현이 되었는지 궁금해 본적이 없다는 것을 알게 되면서 한번 도전해보기로 했습니다. 여행 목표 이번 여행 목표는 데이터베이스 구조를 파악하고 전반적으로 코드가 어떻게 돌아가는지 확인하는 것입니다. 부가적인 목표는 C 언어도 학습하고 SQLite 와 다른 데이터베이스 시스템 (PostgreSQL 등) 이 어떻게 다른지 원.. 2023. 7. 8.
Data Discovery Platform 알아보기 요약 최근 들어 많이 알려지기 시작한 데이터 디스커버리 플랫폼 (Data Discovery Platform) 은 셀 수 없이 다양화된 데이터 세계를 하나로 묶어주는 핵심 개념이다. 단순히 데이터베이스 시스템들, 테이블 등만 한 곳에서 확인할 수 있도록 연결해주는 것이 아닌 데이터 리니지나 대시보드, 차트, 용어, 태그 및 데이터 소유자 등 다양한 방면에서 데이터 생태계를 표현해줄 수 있는 필수 도구로 자리 잡고 있는 것 같다. 데이터 생태계 요소 데이터 생태계는 이제 걷잡을 수 없이 복잡하고 복합적인 요소들로 뒤엉켜지게 되었다. 2021년 Data Landscape 을 본다면 다음과 같다. 이 수많은 제품들이 존재하고 이제는 기업마다 필요 요건에 따라서 골라 써도 될 정도로 제품들이 다양해지고 있다. 요.. 2022. 12. 24.
AWS MWAA 활용하기 요약 AWS MWAA 서비스는 빠르게 작업할 수 있지만 동시에 사용자가 개입할 수 있는 부분이 추상화되어 있어 세밀하게 작동시키기는 힘들다 AWS MWAA AWS MWAA 는 AWS 의 Managed Workflow for Apache Airflow 를 줄인말이다. 한국어로 접한다면 관리형 Apache Airflow 로 볼 수 있다. 해당 서비스는 클릭 몇번으로 손쉽게 ETL Orchestration 도구인 에어플로우를 구축 및 작동시킬 수 있다는 큰 장점이 있다. DAG 코드나 플러그인 등록 등 여러 관련된 코드들도 S3 버킷에 저장을 하여 불러와 사용할 수 있는데 이 또한 쉽게 구축할 수 있는 이유 중 하나이기도 하다. AWS 에서 제공하는 서비스이기 때문에 다른 서비스들과의 연계성도 매우 뛰어나다... 2022. 6. 11.
Intro to Airflow Introduction Airflow, developed first by airbnb, appeared to manage the vast amount of workflows. Simply put, airflow is workflow management with code. By code, I mean python. So a python programmer can easily use airflow to control workflows. Characteristics Operators As already mentioned above, airflow can be used with python. Making it easier to control the necessary jobs. Along with python c.. 2022. 6. 1.
Intro to Sqoop What is Sqoop?? Sqoop is bascially a CLI to transfer data between RDB (relational databases) and hadoop. As of June, 2021, sqoop has been moved to Apache Attic... meaning that the project has been discontinued. In the act of handling data transfer (import/export), sqoop actually kicks off MapReduce jobs to handle them. Therefore, you can specify how many mappers it can use to do so and so on. Im.. 2022. 6. 1.
Intro to Hive What is Hive?? Let's you write standard sql queries that can be executed around an entire cluster. This means that even though it "looks" like sql, underneath, there are different operations performed. For example using Hive on top of HDFS with MapReduce. Basically translating sql query into mappers and reducers, figuring out how to tie them together and execute them globally. If you already.. 2022. 6. 1.
Spark Example Resilient Distributed Dataset (RDD) Way of storing keys and values of informations. The SparkContext You create RDD within the SparkContext environment where your driver program runs with. You can also create one from a HiveContext or the following: JDBC Cassandra HBase Elasatisearch JSON, CSV... etc... Once you have an RDD, a transoformation can be performed: map flatmap filter distinct sample .. 2022. 6. 1.