Data Engineer(42)
-
Data Governance 와 Data Architecture
Data GovernanceData Architecture- 중요한 데이터 및 비즈니스 영향 파악- 개선을 위한 데이터 우선순위 파악- 비즈니스 목표와 데이터아키텍처 개선 사항 연계- 비즈니스 변화에 따른 데이터아키텍처 결과물- 주요 데이터아키텍처 요소에 대한 책임 설정- 데이터아키텍처가 비즈니스에 적합하게 적용- 데이터 전략을 개념, 논리, 물리 모델로 실현하고 구현 가능- 데이터 모델을 통해 엔터티, 속성 등 중요 데이터 요소로 데이터 정의- 데이터 거버넌스의 초점이 되어야 하는 데이터 식별- 데이터 관리 방법 결정에 기여- 참조 및 마스터 데이터 세트를 식별하고, 이들에 대한 잠재적 소유권, 관리 책임 도축 근거를 제공- 중요 데이터 및 핵심 요소에 대한 비즈니스와 IT의 공감대 형성과 합의 도출을..
2024.11.12 -
[대규모 시스템 설계] (1) 처리율 제한 장치
오늘부터 약 사흘간 네트워크 설계를 다루는 post가 올라옵니다. 서적을 공부하며, 익힌 부분을 되짚어보는 시간을 가지려고 합니다.----네트워크 시스템에서 처리율 제한 장치는 클라이언트/서비스가 보내는 트래픽의 처리율을 제한하기 위한 장치며, 특정 기간 내에 전송되는 클라이언트의 요청 횟수를 제한하는 역할을 담당합니다.이를 구현하는데 있어 API 요청 횟수가 제한 장치에 정의된 임계치를 넘어서면 추가로 도달한 모든 호출은 처리가 중단됩니다.- 사용자는 초당 2회 이상 새 글을 올릴 수 없다- 같은 IP 주소로는 하루에 10개 이상의 계정을 생성할 수 없다- 같은 디바이스로는 주당 5회 이상 리워드를 요청할 수 없다등의 기능을 처리율 제한 장치 구현 예시라고 볼 수 있습니다. 문제 이해 및 설계 범위 확..
2024.10.17 -
Parquet?
Parquet은 Hadoop에서 칼럼방식으로 저장하는 저장 포맷이며, X와 Cloudera에서 개발하였다(현재는 Apache에서 관리). "작은 파일 사이즈, 낮은 I/O 사용" Parquet는 프로그래밍 언어, 데이터 모델 혹은 데이터 처리 엔진과 독립적으로 엔진과 하둡 생태계에 속한 프로젝트에서 칼럼 방식으로 데이터를 효율적으로 저장하여 처리 성능을 비약적으로 향상시킬 수 있다.열 기반 압축을 하고있는데, 이는 칼럼의 데이터가 연속된 구조로 저장됨을 시사한다.열을 기반으로 데이터를 처리하면 행 기반으로 압축했을 때에 비해 데이터의 압축률이 더 높고, 필요한 열의 데이터만 읽어서 처리하는 것이 가능하기 때문에 데이터 처리에 들어가는 자원을 절약할 수 있다.ParquetHadoop 에코시스템 안에서 언제..
2024.09.30 -
모놀리스/마이크로서비스
모놀리스가능한 한 많은 것을 한 지붕 아래에 포함하는 것 - 기술 결합(아키텍처 계층)과 도메인 결합(도메인이 결합하는 방식)의 두 가지 방식으로 살펴볼 수 있다다중 계층 아키텍처에는 다양하게 계층이 분리된 애플리케이션이 있지만, 여러 도메인을 공유할 수도 있다.단일 도메인을 제공하는 단일 계층 아키텍처를 사용할 수도 있다. 모놀리스의 강한 결합은 컴포넌트의 모듈화가 부족하다는 것을 의미아키텍처 전체에서 컴포넌트를 재사용하기 어렵고, 불가능하다 마이크로서비스복잡하게 뒤얽힌 서비스, 중앙 집중화, 서비스 간의 강한 결합과 같은 모놀리스 속성과 정반대- 개별적이고 분산되어 있으며 느슨하게 결합된 서비스로 구성, 각 서비스는 특정 기능이 있으며 도메인 내에서 운영되는 다른 서비스와 분리- 한 서비스가 일시적으..
2024.08.28 -
Schema On Read
Legacy : Schema on Write(RDBMS)관계형 데이터베이스와 연동된 기존 시스템에서는 RDBMS에 데이터를 배치하기에 앞서 데이터 스키마를 완벽하게 확정하는 데 모든 노력을 집중데이터 스키마를 확정하려면 시스템 성능과 데이터 사용 패턴 등의 여러 사항을 사전에 고려해야 했고, 시스템 성능과 데이터 사용 패턴 등의 여러 사항을 사전에 고려데이터가 복잡한 경우 데이터 스키마 합의에 상당한 시간이 소요되어 데이터 입수 및 분석 작업이 지연되는 결과를 초래 Schema on Read(NoSQL)입수된 데이터가 실행 시점에 해석됨데이터를 읽어들이는 스키마가 디스크에 저장된 데이터의 실제 구조와 분리 -> 데이터 저장/해석도 별개로 분리 가능데이터를 서로 다른 형식으로 저장하면서도 이를 동일한 테이..
2024.08.20 -
GlobalEventBus ?
Global Event Bus : 소프트웨어 개발에서 사용하는 디자인 패턴 중 하나애플리케이션 전반에서 이벤트를 전파하고 처리하기 위한 중앙 집중식 이벤트 버스를 구현컴포넌트 간 통신을 단순화하고 애플리케이션의 유연성을 향상1. Publishing Events : 어떤 컴포넌트든지 이벤트를 GlobalEventBus에 발행할 수 있다.Ex . 사용자가 버튼을 클릭하면 해당 이벤트를 GlobalEventBus에 발행2. Subscribing to Events : GlobalEventBus를 통해 특정 이벤트에 대해 구독할 수 있다.이를 통해 여러 컴포넌트가 동일한 이벤트에 반응하도록 할 수 있음3. Event Handling : 발행된 이벤트를 수신하고 처리할 수 있는 메커니즘을 제공이를 통해 이벤트를 발..
2024.05.02