전체 글

Data Engineering/Hadoop ·
본 포스팅은 패스트캠퍼스의 '초격차 데이터 엔지니어링 강의' 일부를 개인적으로 정리한 내용입니다.문제가 되는 부분이나 잘못된 부분은 댓글로 남겨주시면 감사하겠습니다.1. Hadoop의 필요성하둡(Hadoop)은 대용량 비정형 데이터를 처리하기 위해 설계된 분산 데이터 처리 시스템이다.기존 RDBMS는 대용량 데이터를 처리하는데 한계가 있고 비용이 많이 들지만, 하둡은 저렴한 x86 리눅스 서버에서도 쉽게 설치 및 운영할 수 있다. 데이터 용량이 늘어나면 단순히 노드를 추가해 확장할 수 있으며, 데이터 복제 기능을 통해 장애에도 데이터 복구가 가능하다.또한, 분산된 여러 서버에서 동시에 데이터 처리가 가능해 기존의 데이터 처리 방법보다 성능이 뛰어나다.한 가지 사례로, 뉴욕 타임즈는 130년치 신문 기사를..
Data Engineering/Airflow ·
실무에서 Kubernetes Executor 만큼 많이 사용되는 Celery Executor의 아키텍처에 대해 정리해보자.Celery ExecutorCelery Executor는 Airflow에서 작업(Task)를 여러 Worker에게 분산하여 처리하는 방식이다.Celery라는 분산 작업 큐 시스템을 사용하여 작업을 관리하고 분배한다.ComponentWeb Server: Web UI를 제공하며, 사용자가 DAG과 Task의 상태를 모니터링하고 관리할 수 있게 한다. Task를 수동으로 트리거할 수도 있다.Workers:실제로 할당된 Task를 실행한다. Celery Executor는 여러 Worker에게 Task를 분산하여 할당한다.Database: 메타데이터 데이터베이스로, DAG, Task, 스케줄링..
PS/LeetCode ·
문제2. Add Two Numbers두 개의 비어있지 않은 링크드 리스트가 주어진다. 각 노드는 0 또는 자연수로 채워져있다. 숫자는 역순으로 저장돼있고, 두 노드의 각 숫자의 합을 연결 리스트로 반환한다.l1 = [2, 4, 3], l2 = [5, 6, 4]라면 결과는 [7, 0, 8]이 나와야 한다.말 그대로 두 링크드 리스트에서 각 노드의 숫자를 합해서 하나의 노드로 만든다는 말이다.2 + 5 = 74 + 5 = 10 이지만 제한 사항에 다음과 같은 내용이 있다. (0 10은 9보다 크기 때문에 1을 다음 두 노드 간의 합에 반영한다.이렇게 342 + 464 = 807이라고 돼있는 설명이 더 헷갈리게 한다🤪노드의 값이 0과 9사이 값이라는 걸 제한사항이 아닌 문제 위쪽에 적어주는 것이 덜 헷갈릴 ..
PS/LeetCode ·
문제3016. Minimum Number of Pushes to Type Word II 영어 소문자로 이루어진 word가 주어진다. 전화기 키패드의 키들은 영어 소문자로 이루어진 고유한 collection과 매핑돼있다. 각 키들을 눌러서 word를 만들 수 있다.예를 들어, 2번 키는 ["a", "b", "c"]와 매핑돼있다. "a"를 누르기 타이핑 하기 위해서는 한 번, "b"를 누르기 위해서는 2번, "c"를 누르기 위해서는 세 번을 누르면 된다.키들은 수 제한없이 여러 문자로 매핑될 수 있지만, 각 문자는 정확히 하나의 키와 매핑돼야 한다. word를 타이핑 하기 위해 각 키를 remapping하고 눌러야 하는 최소 횟수를 구해라.(1, *, #, 0은 어떤 문자도 매핑할 수 없다)풀이 과정풀이 시..
CDC(Change Data Capture) 개념CDC(Change Data Capture)는 데이터베이스에서 데이터의 변경 사항을 실시간으로 추적하고 기록하는 기술이다. 쉽게 말해, 데이터베이스에 어떤 변화가 생겼는지(ex. 데이터 추가, 수정, 삭제)를 자동으로 감지하고, 그 변화를 다른 시스템이나 애플리케이션에게 전달한다. CDC가 왜 중요할까?기업에서는 여러 시스템이 서로 데이터를 공유하거나 동기화해야하는 경우가 많다. 간단한 예를 들어, 웹 사이트에서 고객이 주소를 변경하면, 그 정보가 다른 관련 시스템(ex. 배송 시스템, 고객 관리 시스템 등)에도 즉시 반영돼야 한다. 이 때, CDC를 사용하면 데이터베이스의 변화가 생길 때마다 이를 자동으로 감지하고 필요한 시스템에 변화된 정보를 실시간으로..
Data Engineering/Data ·
데이터 엔지니어링 입문서로 추천되는 '빅데이터를 지탱하는 기술'에 대해 개인적인 생각으로 정리한 글입니다.데이터 엔지니어로서 업무를 시작하기 전과 시작한 후에 느끼는 점이 달라 정리하게 됐습니다. 잘못된 부분이 있다면 댓글로 알려주시면 감사하겠습니다.(출처 표기가 되지 않은 이미지는 모두 직접 그린 것이기 때문에 사용하실 때 반드시 출처를 남겨주시길 바랍니다.)  빅데이터를 지탱하는 기술 | 니시다 케이스케 - 교보문고빅데이터를 지탱하는 기술 | 다양한 IT 기술의 집합체 빅데이터, 그 기술의 내부를 파헤친다!컴퓨터의 성능 향상에 따라 점점 더 많은 것이 시스템화되어 좀 더 효율 높게 운용하는 시대가 되었product.kyobobook.co.kr 이 책의 가장 첫 장인 '빅데이터의 기초 지식' 부분에서는..
Hit the books!