데이터 엔지니어링 35

[초밀착 리눅스] 1. 리눅스 기반 컨테이너 개발 환경 구축

전체 강의 개요 컨테이너 개요 다중 운영체제 Alpine 리눅스 이미지 만들기 전체 강의 개요 인프라 환경의 변화 온프레미스 - 직접 구매하여 설치/관리 클라우드 - 필요한 만큼 할당하여 사용한 만큼 비용을 지불 - API/SDK를 사용하여 모든 자원을 자동화 가능(Teraform) 컴퓨팅 환경의 변화 가상머신 - 하드웨어 가상화 - 가상머신 단위 컨테이너 - 운영체제 기반 가상화 기술 - 컨테이너 단위 - 빠른 확장성 : 컴퓨터 부팅 -> 운영체제 구동 -> 어플리케이션 실행에서 어플리케이션 실행만으로 변화 - 리눅스 기반 기술로 자원 격리 서버 관리의 변화 쉘 스크립트 - 스크립트가 어려움 - 오류 존재 가능 자동화 도구 - 필요한 부분에 쉘 스크립트 사용 - 한단계 추상화된 형태로 자원을 기술하는 ..

[Docker] Base Image (Scratch)

Base Image https://docs.docker.com/develop/develop-images/baseimages/ Create a base image docs.docker.com 대부분 Dockefile들은 parent image로 시작한다. 만약 이미지의 내용을 완전하게 control하려면, parent image 대신 base image를 생성해야할 것이다. 두 차이는 다음과 같다. Parent image 생성하는 image가 기반하는 image이다. Dockerfile에서 FROM을 사용해 참조한다. Dockerfile의 각 순차적인 선언들은 이 parent image를 수정한다. 보통 Dockerfile은 base image 대신 parent image로 시작한다. 그러나 용어는 혼용될..

[Prometheus] 모니터링 push/pull configuration

https://steve-mushero.medium.com/push-vs-pull-configs-for-monitoring-c541eaf9e927 Push vs. Pull Configs for Monitoring How do monitoring agents know what & how to monitor? steve-mushero.medium.com Push Traditional system에서 흔히 사용 - ex) Nagios / Zabbix Metric이 중앙에서 정의됨 지정된 host / agent로 push 종종 auto-discover가 가능하나, 이 또한 중앙에서 정의됨 중앙 시스템이 boss - agent들이 중앙 시스템의 config를 따름 Pull Agent 자체가 모니터링 설정을 포함 ..

[Prometheus] Prometheus

https://prometheus.io/docs/introduction/overview/ Overview | Prometheus An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach. prometheus.io 정의 모니터링 / 알람 툴킷 time series data로 metric을 수집 / 저장 기능 Multi-dimensional time series data model PromQL 분산 스토리지에 의존 X HTTP를 이용한 pull 방식 Gateway를 통한 push 방식 지원 Target..

[Docker] Container의 Lightweight (컨테이너가 가벼운 이유)

요약 Container에 포함되는 OS 이미지에는 kernel이 없으며, host kernel을 공유하여 사용하므로 가볍다. Container의 OS와 host의 kernel이 충분히 호환되면 동작하며, 그렇지 않을 경우 동작하지 않는다. 컨테이너가 가벼운 이유? 컨테이너는 머신 OS system의 kernel을 공유하므로 application마다 OS를 필요로 하지 않고, 따라서 서버에 더 효율적이고 서버의 수와 라이센스 비용을 줄인다. Containers share the machine’s OS system kernel and therefore do not require an OS per application, driving higher server efficiencies and reducing se..

[Docker] Docker Daemon (dockerd)

https://iximiuz.com/en/posts/implementing-container-runtime-shim/ Implementing Container Runtime Shim: runc What is a container runtime shim? Why the shim is needed? How to use OCI container runtime (runc) in command line and from code. iximiuz.com 구조 dockerd - Container Engine 개발자 경험에 집중 High-level task 처리 - login / build / inspect / attach Swarm과 같은 orchestration 지원 - Docker swam : docker engi..

[Docker] Docker 정리 (정의/아키텍쳐)

https://docs.docker.com/get-started/overview/ Docker overview docs.docker.com 정의 Docker software deliver를 빠르게 해주는 플랫폼 software deliver - new feature가 적용되어 production으로 사용되는 과정 https://martinfowler.com/delivery.html Software Delivery Guide Articles on the path from finished programming to production. martinfowler.com Docker의 주요 keyword image container Docker image Docker container를 만들기 위한 instruc..

[Docker] 윈도우 docker 설치

https://www.lainyzine.com/ko/article/how-to-install-wsl2-and-use-linux-on-windows-10/ [Windows 10] WSL2 설치 및 사용법 Microsoft에서는 2020년 5월 리눅스를 윈도우와 통합해서 사용할 수 있는 WSL2를 발표했습니다. 이 글에서는 WSL2를 설치하고 사용하는 방법을 소개합니다 www.lainyzine.com https://www.lainyzine.com/ko/article/a-complete-guide-to-how-to-install-docker-desktop-on-windows-10/ [Windows 10] Docker 설치 완벽 가이드(Home 포함) Docker는 경량 가상화 기술인 리눅스 컨테이너 도구입니다..

[데이터분석] 협업 필터링 (Collaborative Filtering)

추천 알고리즘 종류 협업 필터링 (Collaborative Filtering) Memory-based Approach - User-based Filtering - Item-based Filtering Model-based Approach - Matrix Factorization 콘텐츠 기반 필터링 (Contents-based Filtering) 정의 유저-아이템 간 상호작용 데이터를 활용하는 방법 - ex) 이 영화를 좋아하는 다른 사람이 좋아하는 영화 콘텐츠 기반 필터링과 비교 - 정의 : 콘텐츠 특성을 기반으로 추천하는 방법 - ex) 내가 좋아하는 감동, 장르 등을 활용 특징 장점 일반적으로 Content-based보다 성능이 좋음 도메인에 의존되지 않음 쉽게(학습없이, 산술연산으로) 만들 수 있음..

[데이터분석] 정형, 비정형, 반정형 데이터

데이터란 데이터 의사결정에 사용되는 사실(fact)의 집합 설명 (description) 관찰 (observation) 숫자 (numbers) 데이터 분류 정형 - 미리 정의된(pre-defined) format으로 저장 - 매우 구체적인 구조 비정형 - native format으로 저장 - 매우 다양한 형태 반정형 - relational database 모델이나 table 형태를 사용하지 않는 방식 정형 데이터 (Structured Data) 보통 테이블 데이터(tablular data)를 말함 - 데이터베이스에서 row와 column으로 표현 관계형 데이터베이스 - 이런 테이블 형태로 데이터를 저장하는 데이터베이스 수학 용어로 "관계(relation)"는 table 형태의 데이터를 말함 정형 데이터에..