LDM 3기 책 스터디 발표 자료이다.
1장. 신뢰할 수 있고 확장 가능하며 유지보수하기 쉬운 애플리케이션
한줄 요약
- 데이터 중심 어플리케이션이란?
데이터 양, 데이터 복잡성, 데이터가 변하는 속도 등 데이터가 주요 도전 과제인 애플리케이션
- 신뢰성 / 확장성 / 유지보수성 3가지 핵심 요소를 고려해 설계해야한다.
요약
더보기
1. 데이터 중심 어플리케이션이란
- 개념
- 데이터 중심 어플리케이션이란?
데이터 양, 데이터 복잡성, 데이터가 변하는 속도 등 데이터가 주요 도전 과제인 애플리케이션 - 계산 중심 어플리케이션이란?
CPU 사이클이 병목이 되는 애플리케이션
- 데이터 중심 어플리케이션이란?
- 데이터 중심 어플리케이션의 표준 구성 요소들
- 데이터 베이스
구동 애플리케이션이나 다른 애플리케이션에서 나중에 다시 데이터를 찾을 수 있게 데이터 저장
제품 : MySQL, PostgresSQL, Oracle - 캐시
읽기 속도 향상을 위해 값비싼 수행 결과를 기억
제품 : Redis, Memcached -
검색 색인
사용자가 키워드로 데이터를 검색하거나 다양한 방법으로 필터링할 수 있게 제공
제품 : elasticsearch, Solr, apache Lucene -
스트림 처리(Stream Processing)
비동기 처리를 위해 다른 프로세스로 메시지 전달
제품 : apache Kafka -
일괄 처리(Batch Processing)
주기적으로 대량의 데이터를 분석
제품 : apache spark
- 데이터 베이스
더보기
2. 소프트웨어 시스템의 3가지 핵심 요소 : 신뢰성 / 확장성 / 유지보수성
1) 신뢰성
- 하드웨어 / 소프트웨어 / 인적 오류로부터 얼마나 잘 견디는가
- 목표 : 결함(Fault)을 예측하고 대처할 수 있는 시스템
- 결함이란?
- 하드웨어 결함
-
하드디스크 고장
-
정전 사태
-
네트워크 케이블 유실
-
잘못된 특정 입력이 있을 때 중단되는 소프트웨어 버그
-
CPU 시간, 메모리, 디스크 등 공유 자원을 과도하게 사용하는 일부 프로세스
-
시스템의 속도가 느려져 반응이 없거나 잘못된 응답을 반환하는 서비스소프트웨어 오류
-
-
인적 오류
- 운영자의 설정& 조작 오류
-
- 하드웨어 결함
2) 확장성
- 목표 : 증가하는 부하에 대처할 수 있는 시스템
- 성능 지표 3
- 처리량(throughput) : 초당 처리할 수 있는 레코드 수
- 서비스 응답 시간(response time) : 클라이언트가 요청을 보내고 응답을 받는 사이의 시간
- 꼬리 지연시간(tail latency) : 상위 백분위 응답 시간으로, 응답 시간이 길게 발생한 상황의 지표
- 부하 대응 접근 방식
- 용량 확장(scaling up) = 수직 확장(vertical scaling) : 장비 성능/용량 증가
- 규모 확장(scaling out) = 수평 확장(horizontal scaling) : 장비 수 증가
- 탄력적 시스템(elastic system) : 부하 증가를 감지하면 컴퓨팅 자원을 자동으로 추가하는 시스템
3) 유지보수성
- 목표 : 지속적으로 이어지는 시스템
- SW설계 원칙 3
- 운용성 : 운영의 편리함 만들기
- 단순성 : 복잡도 관리
-
발전성 : 변화를 쉽게 만들기
-
-> 이 세가지를 고려헤 데이터 엔지니어가 시스템을 이해하기 쉽고, 운영, 변화하기 쉽도록 만들어라
감상
요즘 읽고있는 '데이터 엔지니어를 위한 97가지 조언' 이라는 책에 비슷한 내용이 있다.
31번 조언 '안정적인 데이터 처리를위한 5가지 모범 사례'. 67번 '데이터 파이프라인의 관건은 속도가 아니다' 등
'Data > Data Engineering & Analystics' 카테고리의 다른 글
빅데이터 프레임워크 3주차 - 빅데이터 수집 기술 (0) | 2024.03.21 |
---|---|
빅데이터 프레임워크 2주차 비게이터 기반 기술 - OS 및 가상화 (0) | 2024.03.21 |
[Snowflake] Snowflake-python 연결 (Snowflake를 Python으로 사용하는 방법. Snowflake Connector for Python) (0) | 2024.03.06 |
[Snowflake] S3 Load Data (0) | 2024.03.06 |
[Kafka] Kafka-python 설치 (0) | 2024.03.06 |