데이터엔지니어

정보처리기사

[정보처리기사] 실기 대비 요약 정리 - 통합구현

통합구현 사용자의 요구사항에 맞춰, 송수신 모듈과 중계 모듈 간의 연계를 구현하는 것을 의미 송수신 시스템, 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성 연계 메커니즘 데이터의 생성 및 전송을 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성된다. 송수신 시스템 사이에는 데이터의 송수신과 송수신 시스템 현황을 모니터링 하는 중계시스템을 설치할 수 있다. 로그 : 사용자가 컴퓨터에 요청한 명령이나 컴퓨터가 데이터를 처리하는 과정 및 결과 등을 기록으로 남긴 것 연계 메커니즘의 연계 방식 직접 연계 방식 중간 매개체 없이 송수신 시스템이 직접 연계하는 방식 DB LINK, API/OPEN API, DB CONNECTION, JDBC 등 간접 연계 방식 송수신 시스..

정보처리기사

[정보처리기사] 실기 대비 요약 정리 - 데이터 입출력 구현2

뷰 하나 이상의 기본 테이블로부터 우도된, 이름을 가지는 가상 테이블 뷰를 정의할 때는 CREATE, 제거할 대는 DROP 문을 사용 파티션 대용량의 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나누는 것 파티션의 종류 범위 분할 지정한 열의 값을 기준으로 분할함(일별, 월별, 분기별 등) 해시 분할 해시함수를 적용한 결과 값에 따라 데이터를 분할함 특정 파티션에 데이터가 집중되는 범위 분할의 단점을 보완, 데이터를 고르게 분산할 때 유용함 특정 데이터가 어디에 있는지 판단 불가 조합 분할 범위 분할로 분할한 다음, 해시함수를 적용하여 분할 하는 방식 범위 분할한 파티션이 너무 커서 관리가 어려울 때 유용함 분산 데이터베이스의 목표 위치 투명성 액세스 하려는 데이터 베이스의 실제 위치를 알 필요 없..

데이터 엔지니어링/실리콘밸리에서 날아온 데이터엔지니어링 스타터 키트

SQL 윈도우 함수 요약, 예제

WINDOW FUNCTION 개요 행과 행 간의 관계를 쉽게 정의하기 위해 만든 함수가 윈도우 함수 윈도우 함수는 집계함수 뿐만 아니라, 새로운 윈도우 함수 전용 만들어진 기능도 있음 윈도우 함수는 다른 함수와 중첩 X, 서브쿼리에는 사용 가능 윈도우 함수 종류 그룹 내 순위(RANK) 관련 함수: RANK, DENSE_RANK, ROW_NUMBER 그룹 내 집계(AGGREGATE) 관련 함수 : SUM, MAX, MIN, AVG, COUNT (sql server는 OVER 절의 OREDER BY 지원 X) 그룹 내 행 순서 관련 함수 : FIRST_VALUE, LAST_VALUE, LAG, LEAD (오라클에서만 지원) 그룹 내 비율 관련 함수 : CUME_DIST, PERCENT_RANK, NTILE..

데이터 엔지니어링/실리콘밸리에서 날아온 데이터엔지니어링 스타터 키트

2주차 강의 요약

스타트업 데이터플로우 리뷰 AIRFLOW AMZON EC2 설치 데이터웨어하우스 REDSHIFT 사용 대시보드 : 구글 LOOKER (에어비앤비가 만든 SUPERSET이라는 오픈소스 대시보드로 많이 사용) POSGRESQL에 있는 데이터, 데이터웨어하우스로 옮기기 APP 내 AMPLITUDE 설치(웹,앱 내 사용자가 어떤 데이터 클릭했고~, 어떤 버튼 클릭했고 등) 여기서 EVENT STREAM, CLICK STREAM 쭉 따서 저장했다. PAYMENTS로는 STRIP이라는 서비스 위 정보들을 ELT 정보들은 30분에 한번씩 SINK SUMMARY TABLE들만 대시보드와 데이터분석에 사용 : LOOKER 사용 요즘은 DBT로 SUMMARY TABLE에 적용해서 진행 데이터 관련 팁 관계형 데이터베이스는..

데이터 엔지니어링/데이터베이스 및 운영체제

데이터베이스 연동 자바 프로그래밍

JDBC 데이터 베이스와 자바를 연결하는 드라이버 자바 오브젝트 정보 -> JDBC 드라이버가 커넥션, 커넥션해제, 데이터를 보내고 받고 하는 일련의 처리 과정을 중간에서 대신 해줌 설치 경로 : 오라클 내에 C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib 폴더 접속 복사 후 자바 프로젝트 안에, libs 폴더 생성, ojdbc.jar 파일 넣기 이클립스 프로젝트에서 build path 시작 자바 코드 package Mycom.mytest; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import..

데이터 엔지니어링/실리콘밸리에서 날아온 데이터엔지니어링 스타터 키트

REDSHIFT(AWS)

REDSHIFT는 AWS의 확장 가능한 SQL 엔진(데이터 웨어하우스) 서버 클러스터에서 최대 2 페타바이트의 데이터 제공 OLAP 응답 시간은 1초 미만이 아님 고객 대면 서비스에서 사용하면 안됨 COLUMNAR STORAGE(열 기준 저장소) 테이블에서 열을 추가, 삭제하거나 이름을 변경하는 작업이 매우 빠름 열 당 압축(PER COLUMN COMPRESSION)이 사용됨 BULK-UPDATE 지원 CSV/JSON 파일을 S3에 업로드 -> S3에서 REDSHIFT로 복사 고정 용량 SQL 엔진 모든 데이터웨어하우스는 데이터의 크기, 속도 때문에 모든 PRIMARY키를 보장하지 않는다 POSTGRESQL 8.X와 호환 다음 서비스와 완벽한 통합 S3, EMR, KINESIS, DYNAMODB, RDS..

데이터 엔지니어링/실리콘밸리에서 날아온 데이터엔지니어링 스타터 키트

데이터엔지니어, 데이터웨어하우스

데이터 엔지니어의 역할 데이터 웨어하우스 관리 데이터 파이프라인 구축 및 관리 데이터 파이프라인 = ETL(EXTRACT, TRANSFORM, LOAD) = DATA JOB = DAG 데이터 파이프라인의 형태 배치 프로세스(BATCH PROCESSING) VS 실시간 프로세스(REALTIME PROCESSING) 요약 데이터 생성(DBT - ANALYTICS ENGINEER) 이벤트 수집(EVENT COLLECTION) 유저 행동 데이터 데이터 엔지니어가 알아야할 기술들은? SQL : HIVE, PRESTIO, SPARK SQL, ... PROGRAMMING LANGUAGE : PYTHON/SCALA/JAVA ETL/ELT SCHEDULER : AIRFLOW LARGE SCALE COMPUTING PLA..

데이터 엔지니어링/실리콘밸리에서 날아온 데이터엔지니어링 스타터 키트

데이터 팀의 역할

데이터 플로우 데이터 조직의 비전 데이터 팀은 직접 매출을 발생시키는 조직이 아니다. 기본적으로 데이터 팀은 서포트 조직이다. 데이터 팀은 더 좋은 의사결정을 위해서, 높은 퀄리티의 데이터를 시의적절한 방법으로 제공해야한다. 데이터 팀은 프로덕트/서비스를 '고품질 데이터'를 통해 기능을 개선한다. 개인화를 바탕으로 한 추천(Recommendation)과 검색 기능 제공 머신러닝을 통한 운영 비용 줄이기(공정 과정 오동작 기기 예측 등) 결국 데이터팀은 끊임없이, 회사의 매출/이윤과 상관관계를 정량화하고, 데이터팀의 존재이유, 존재가치를 잘 설명해야한다. 데이터 품질 + 모두가 신뢰할 수 있을 만한 지표 설정 간단한 솔루션일 수록, 좋은 솔루션이다. 회사의 운영비용과 관련(딥러닝이 무조건 좋은 게 아니다)..

데이터 엔지니어링/실리콘밸리에서 날아온 데이터엔지니어링 스타터 키트

1주차 강의 중요 포인트 요약

이상적인 데이터 조직 데이터 엔지니어 영입을 통한, 데이터 인프라 구축 기반 요즘 데이터팀 개발 방식 -> 애자일 솔루션은 간단히 : ex) 딥러닝을 고집할 필요가 없음(머신러닝, 혹은 CASE 별 IF문 또한 좋은 해결책) 어떤 이슈든 간에 업무의 성공여부를 결정해주는 지표를 생각하고 행동 에어플로우(AIRFLOW) ETL을 만들면 이를 주기적으로 실행해야함. 이를 위해 스케줄러가 필요한데, "에어플로우"를 기업들 대다수가 사용 중 ETL EXTRACT(추출) : 데이터를 웹, 혹은 외부 환경에서 추출하는 과정 TRANSFORM(변환) : 데이터를 특정 형식에 맞게 가공하고 변환하는 과정 LOAD(적재) : 데이터를 특정 저장소(데이터베이스, 데이터레이크, 데이터웨어하우스)에 삽입하는 과정 가장 많이 ..

데이터 엔지니어링/데이터베이스 및 운영체제

정규화

이상현상 삭제이상(deletion anomly) 투플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상→ 연쇄삭제(triggered deletion) 문제 발생 삽입이상(insertion anomly) 투플 삽입 시 특정 속성에 해당하는 값이 없어 NULL 값을 입력해야 하는 현상→ NULL 값 문제 발생 수정이상(update anomly) 투플 수정 시 중복된 데이터의 일부만 수정되어 데이터의 불일치 문제가 일어나는 현상 → 불일치(inconsistency) 문제 발생 이상현상을 막는 예시 정규화 제 1정규형 릴레이션 R의 모든 속성 값이 원자값을 가지면 제 1정규형이라고함 제 1정규형으로 변환 고객 취미들(이름, 취미들) 릴레이션을 고객취미(이름, 취미) 릴레이션으로 바꾸어 저장하면 제 1..

데이터 엔지니어링/데이터베이스 및 운영체제

데이터베이스 모델링

데이터베이스 모델링 1. 요구사항 수집 및 분석 실제 문서를 수집하고 분석함. 담당자와의 인터뷰나 설문조사를 통해 요구사항을 직접 수렴함. 비슷한 업무를 처리하는 기존의 데이터베이스를 분석함. 각 업무와 연관된 모든 부분을 살펴봄. 2. 개념적 모델링 개념적 모델링(conceptual modeling) : 요구사항을 수집하고 분석한 결과를 토대로 업무의 핵심적인 개념을 구분하고 전체적인 뼈대를 만드는 과정 개체(entity)를 추출하고 각 개체들 간의 관계를 정의하여 ER 다이어그램(ERD, Entity Relationship Diagram)을 만드는 과정까지를 말함. 3. 논리적 모델링 개념적 모델링에서 만든 ER 다이어그램을 사용하려는DBMS에 맞게 사상(매핑, mapping)하여 실제 데이터베이스로..

데이터 엔지니어링/데이터베이스 및 운영체제

SQL - 뷰

뷰의 생성 뷰(VIEW)는 하나 이상의 테이블을 합하여 만든 가상의 테이블 장점 편리성 및 재사용성 : 자주 사용되는 복잡한 질의를 뷰로 미리 정의해 놓을 수 있음. → 복잡한 질의를 간단히 작성 보안성 : 각 사용자별로 필요한 데이터만 선별하여 보여줄 수 있음. 중요한 질의의 경우 질의 내용을 암호화할 수 있음. 개인정보(주민번호)나 급여, 건강 같은 민감한 정보를 제외한 테이블을 만들어 사용 독립성 제공 : 미리 정의된 뷰를 일반 테이블처럼 사용할 수 있기 때문에 편리함. 또 사용자가 필요한 정보만 요구에 맞게 가공하여 뷰로 만들어 쓸 수 있음. 원본테이블이 구조가 변하여도 응용에 영향을 주지 않도록하는 논리적 독립성 제공 카티션 프로덕트 연산 시간이 오래 걸리는 것에 대해서, 미리 뷰로 만들어 놓고..

우상욱
'데이터엔지니어' 태그의 글 목록 (11 Page)