데이터 엔지니어(9)
-
데이터 엔지니어링 위클리 #5 | Shift Left, Karpenter, Data 3.0, Lakehouse
Articles왼쪽과 오른쪽으로 이동하기이 글에서는 데이터 엔지니어링의 변화와 미래 방향성을 다루고 있습니다. 특히, 데이터 엔지니어들이 '왼쪽으로 이동'하는 것뿐만 아니라, '오른쪽으로 이동'하는 경향도 있으며, 이는 데이터 품질 개선과 고객 가치 창출을 목표로 하는 새로운 데이터 작업 방식의 융합을 의미합니다.데이터 엔지니어들은 이제 더 이상 내부 IT 비용 센터로 한정되지 않고, 고객 가치 실현을 위해 다양한 역할을 수행해야 합니다.DataOps와 Data Mesh와 같은 혁신적인 개념들이 데이터 엔지니어링의 변화를 촉발하고 있습니다.데이터 엔지니어와 소프트웨어 엔지니어 간의 경계가 허물어지고 있으며, 데이터와 AI의 통합적 접근이 요구됩니다. 더보기 개요이 글에서 Joe Reis는 데이터 엔지니어..
2025.04.01 -
데이터 제품 중심 솔루션: DataOS란?
1. PhilosophyInsights - 선언형으로 구성하여 안정성을 확보하고 운영 리소스 감소시킬 수 있다. - 데이터 제품 중심으로 만들면 가치를 중심으로 효율적으로 발전할 수 있다. - DDP 기반의 기본 구성 요소를 통해 유연하게 조합할 수 있다. - 운영체제처럼 데이터 인프라를 숨기고 사용자에 따라 다르게 활용할 수 있게 할 수 있다. - 추상화하여 빠르게 변화하는 트렌드에서도 틀을 잡을 수 있다.사용자를 정의할 수 있다. ✅ DataOS란?데이터를 위한 운영체제(OS)로, 기존 시스템을 뜯어고치는 것이 아니라, 현재의 데이터 환경을 더 유연하고 효과적으로 운영하게 도와줍니다.전통적인 테이블 중심 구조에서 벗어나, 데이터 제품(Data Products) 중심으로 진화하는 것을 의미합니다.🎯 ..
2025.03.26 -
데이터 엔지니어링 위클리 #3 | 스파크 최적화, 데이터 제품, Late-Arriving Data
Articles⭐️ 페이스북의 수십억 개 메시지를 처리하는 Apache Cassandra 심층 분석이 글은 페이스북이 빌리언 단위의 메시지를 관리하기 위해 개발한 분산 데이터베이스 시스템인 아파치 카산드라(Apache Cassandra)에 대해 심도 있는 분석을 제공합니다. 카산드라의 구조와 작동 원리, 특히 데이터 저장 및 검색 방식에 대한 기술적인 특징을 상세히 설명하며 이를 통해 대규모 데이터 처리의 효율성을 강조하고 있습니다.아파치 카산드라는 분산 스토리지 방식으로 설계되어 있으며, 데이터의 고가용성과 내구성을 보장합니다.페이스북의 인박스 검색 기능을 지원하기 위해 특별히 고안되었으며, 수많은 메시지를 빠르게 검색할 수 있는 구조를 갖추고 있습니다.데이터 모델은 전통적인 관계형 데이터베이스와는 달..
2025.03.19 -
[⚡AWS] Redshift에서 View 사용하기
개요 View는 실제 테이블은 아니고 참조를 할 때마다 쿼리를 보내 테이블처럼 보여주는 기능이며 이 기능을 Redshift에서도 사용할 수 있다. 시작하기 1. View 생성 문법 CREATE [ OR REPLACE ] VIEW name [ ( column_name [, ...] ) ] AS query [ WITH NO SCHEMA BINDING ] OR REPLACE: 같은 이름의 뷰가 이미 있을 경우 쿼리를 교체한다. name: 뷰 이름 column_name: 뷰에서 사용할 컬럼명, 입력하지 않으면 쿼리를 보고 자동으로 생성한다. query: 쿼리 WITH NO SCHEMA BINDING: 뷰가 데이터베이스 객체에 바인딩 되지 않도록 하여 종속성을 없앤다. Late Binding 쿼리될 때까지 데이터..
2021.05.25 -
[🧙Kafka] 카프카 개념 - 신뢰성 있는 데이터 전달
신뢰성 있는 데이터 전달 카프카는 웹 클릭 로그 수집, 신용카드 트랜잭션 등 다양한 방면에서 사용된다. 카프카는 신뢰성과 속도 등 사이에서 구성으로 유연하게 조절할 수 있다. 신뢰성 보장 1. 카프카는 메시지 순서를 보장한다. 2. 카프카에 메시지를 쓸 때 리플리카에 메시지를 복제하는 작업의 구성으로 신뢰성을 조절할 수 있다. 만약 acks 를 높게 두고 요청에 실패했다면 프로듀서에서 다시 재시도 할 수 있다. - acks = 0 메시지를 보내고 확인을 하지 않는다. - acks = 1 리더가 메시지를 썼는지 확인한다. - acks = all 모든 동기화 리플리카에 복제되었는지 확인한다. 3. 최소한 하나의 리플리카가 살아있다면 메시지는 유실되지 않는다. 4. 컨슈머는 모든 리플리카에 커밋된 메시지만 읽..
2021.04.14 -
[🧙Kafka] 카프카 개념 - 카프카 내부 이해하기
About 카프카의 내부를 다 이해할 필요는 없지만 어느정도 알아두면 좀 더 최적화하거나 문제가 발생했을 때 해결하는데 도움이 된다. 내부 매커니즘 클러스터와 주키퍼 컨트롤러 브로커 중 하나이고 리더를 선출해야하는 역할을 가지고 있다. 클러스터를 시작할 때의 첫 번째 브로커가 컨트롤러로 임명된다. 모든 브로커는 시작될 때 주키퍼에서 /controller 노드가 없으면 생성하려고 한다. 컨트롤러 브로커에 문제가 생기면 카프카의 Watch가 브로커들에게 컨트롤러가 사라졌다고 알려준다. 그러면 브로커들은 /controller 노드를 생성하려고 시도한다. 첫 번째로 생성한 노드가 컨트롤러가 되며 새로운 세대 번호를 받게 된다. 브로커들은 새로운 세대 번호를 알게 되고, 이전 세대 번호의 브로커에서 명령이 오면 ..
2021.04.13