Finn.ian
article thumbnail
[GCP] Google Cloud Data Fusion 소개
Data Engineering/Cloud 2024. 8. 25. 15:35

그동안 DW 프로젝트 참여로 인해 블로그 신규 글 업데이트가 늦었는데, 이제부터 다시 글을 작성해보려 한다.기존 AWS를 활용하여 데이터를 핸들링하였지만, 작성하지 못한동안 DW 프로젝트를 참여하여 처음 Google Cloud Paltform를 활용하여 프로젝트에 적용하고 이를 추후 운영할 계획에 있다. 그 중, Google Cloud Data Fusion 이라는 서비스에 대해 소개 및 활용했던 방식을 공유하려 한다. Google Cloud Data Fusion 이란Google Cloud Data Fusion은 데이터 파이프라인을 신속하게 빌드, 관리하기 위한 완전 관리형 클라우드 기반 기업 데이터 통합 서비스이다. Cloud Data Fusion은 그래픽 UI 기반으로 ETL 파이프라인을 작성하며 쉽게..

article thumbnail
[CS] 기본검색 알고리즘(Basic Search Algorithm)
Data Engineering/CS 기초 2023. 11. 28. 00:45

기본검색 알고리즘(Basic Search Algorithm) 1. 탐색 저장된 정보들 중에서 원하는 값을 찾는 것 프로그래밍에서 가장 간단하고 대표적인 문제가 탐색 문제 2. 탐색 알고리즘의 종류 선형 탐색 알고리즘 (linear search algorithm) 왼쪽부터 순서대로 확인 찾고자 하는 값을 리스트의 맨 앞에서부터 끝까지 차례대로 찾아 나가는 방식 (왼쪽부터 순서대로 확인) 장단점 장점 : 검색 방법 중 가장 단순하여 구현이 쉽고, 정렬되지 않은 리스트에서도 사용 가능 단점 : 검색할 리스트의 길이가 길면 비효율적 이진 탐색 알고리즘 (binary search algorithm) 중간지점을 기준으로 반씩 제외하는 방식 오름차순으로 정렬되어 있는 리스트에서 특정한 값을 찾을 때, 처음 중간의 값..

article thumbnail
[CS] 네트워크 기본 - OSI 7계층
Data Engineering/CS 기초 2023. 11. 24. 00:35

04. 서버 프로그램 구현 - OSI 7 계층 서버 프로그램은 일반적으로 응용 계층에서 구현된다. 응용 계층에서는 사용자의 요청을 처리하고, 데이터를 전송하거나 수신한다. 응용 계층에서 데이터를 전송하거나 수신하기 위해서는 하위 계층의 기능을 이용해야 한다. OSI 7 계층을 이해한다면, 서버 프로그램의 구현을 보다 쉽게 이해할 수 있으며, 네트워크 통신에서 발생하는 문제를 해결하는 데에도 도움이되기 때문에 아래 글을 작성해본다. 1. 개념 국제표준화기구(ISO)에서 개발한 모델로, 네트워크 프로토콜 디자인과 통신을 계층으로 나눠 설명한 것으로 실제 인터넷에서 사용되는 TCP/IP는 OSI 참조 모델 기반으로 상업적이고 실무적으로 이용 가능하도록 단순화한 것이다. 개방형 시스템 상호 연결 모델의 표준이다..

article thumbnail
[MySQL] MySQL 이벤트 스케줄러 (Event Scheduler)
Data Engineering/DBMS 2023. 11. 19. 14:57

이번에는 MySQL에서 이벤트 스케줄링 하는 방법에 대해 작성하고자 합니다. MySQL 이벤트 스케줄링 요약 MySQL 이벤트 스케줄링은 데이터베이스의 특정 작업을 일정 간격으로 자동으로 실행할 수 있는 기능이다. 해당 기능을 사용할 수 있는 일반적인 경우는 아래와 같다. 백업 통계 수집 데이터 정리 데이터 마이그레이션 자동화 MySQL 예제를 통한 EVENT Scheduler 활용법 1단계: Event Scheduler 활성화하기 이벤트 스케줄러는 MySQL 서버에 기본적으로 내장된 구성 요소로서, 이벤트를 실행하는 데 사용됩니다. 다음 명령어로 이벤트 스케줄러를 활성화 할 수 있다. SET GLOBAL event_scheduler = ON; 2단계: Event 생성 다음은 매일 밤 12시에 'old_..

article thumbnail
[PostgreSQL] Database Partitioning
Data Engineering/DBMS 2023. 8. 23. 23:45

Dark Mode 기능은 꺼주셔야 내용이 잘보입니다😄 Database volume에 대한 고민 전체 Database에 모든 데이터를 하나의 테이블에 들어간다면 데이터베이스 관리에 어려움을 겪는다. 이유는 데이터베이스 볼륨 증가로 인해 데이터베이스의 읽기/쓰기에 대한 성능이 감소하며, 데이터베이스의 병목 지점이 되기 때문이다. 따라서 데이터를 하나의 테이블에 넣되, 적절히 분할한다면 성능 향상이 될 것이라 판단된다. 데이터베이스 성능 향상을 위해 데이터를 분할하여 저장하는 파티셔닝(Partitioning) 혹은 샤딩(Sharding)기법을 사용한다. 위 2가지 기법 모두 거대한 데이터셋을 서브셋으로 분리하여 관리하는 방법 중 파티셔닝(Partitioning)에 대해 정리하고자 한다. 1. 파티셔닝(Part..

article thumbnail
[Cloud] 클라우드 서비스의 종류 ; IaaS, PaaS, SaaS
Data Engineering/Cloud 2023. 8. 20. 19:44

요즘 IT업계에서는 클라우드(Cloud)에 대한 이야기가 빠지지 않는다. 그렇다면 클라우드(Cloud)는 무엇인지 간단히 알아보고, 클라우드 서비스 모델의 종류와 개념에 대해 알아보자. 01. 클라우드(Cloud)란 무엇일까?🤔 클라우드는 간단히 이야기하면 인터넷을 통해 언제 어디서든 원할 때 원하는 만큼의 IT 리소스(컴퓨팅, 스토리지, 네트워크)를 손쉽게 사용할 수 있는 서비스를 뜻한다. 02. 그럼 클라우드 서비스 모델의 종류는 무엇이 있을까? 클라우드 서비스 모델의 종류는 크게 3 가지 로 구분되며 아래와 같다. ① IaaS(Infrastructure as a Service) ② PaaS(Platform as a Service) ③ SaaS(Service as a Service) 먼저 클라우드 서..

article thumbnail
[DB 기초] 트랜잭션(Transaction)과 그 특성은 무엇인가
Data Engineering/DBMS 2023. 8. 19. 20:49

기술 면접의 단골 질문인 데이터베이스의 기초인 트랜잭션(Transaction)과 특성(ACID)에 대해 작성해보려 한다. 01. 트랜잭션(Transaction)이란 무엇일까? 🙄 트랜잭션(Transaction)은 데이터베이스의 상태를 변경 시키기 위해 수행되는 작업 단위라는 의미를 갖는다. 그렇다면, 데이터베이스의 상태를 변경시킨다는 의미는 무엇일까? 간단히 말하면 아래의 질의어(DML, 데이터 조작어)를 활용해 데이터베이스에 접근한다는 의미이다. - SELECT : 데이터베이스에 들어있는 데이터들을 조회하거나 검색하기 위한 명령어 - INSERT : 데이터베이스에 들어있는 데이터를 추가하기 위한 명령어 - UPDATE : 데이터베이스에 들어있는 데이터들을 갱신하기 위한 명령어 - DELETE : 데이터..

article thumbnail
[DBMS] Data structure store Redis
Data Engineering/DBMS 2023. 7. 27. 23:52

Redis (Remote Dictionary Server) 1-1. Redis 개념 Redis는 Key-Value 기반의 In-memory 데이터 저장소이다. Redis의 장점 Key-Value 기반이기 때문에, 쿼리를 작성하지 않아도 결과를 즉시 확인 가능 디스크에 데이터를 쓰는 구조가 아니라 메모리에서 데이터를 처리하기 때문에 속도 측면에서 빠름 1-2.다양한 데이터 구조(Collection) 제공 상단 그림은 데이터별 저장 구조에 대해 표현된 것이고, 하단은 Redis의 다양한 데이터 구조에 대해 표로 정리해둔 내용이다. No Structure Definition Simple Description 1 String 단순 Key-Value 매핑 구조 2 Lists Array형식의 데이터 구조 처음과 끝..

article thumbnail
[CS] 소프트웨어 개발방법론
Data Engineering/CS 기초 2023. 7. 23. 23:18

1년전 공부했던 정보처리기사 관련되어 1단원인 소프트웨어 개발방법론에 대해 작성된 글입니다. 소프트웨어 개발방법론 01. 소프트웨어 생명주기 모델의 종류 이해 1. SDLC(SW Development Life Cycle) 시스템의 요구분석부터 유지보수까지의 전 공정을 체계화한 절차 SDLC의 프로세스 요구사항 분석단계 → 설계 → 구현 → 테스트 → 유지보수 2. 생명주기 모델 2-1. 폭포수 모델(Waterfall Model) 소프트웨어 개발 시, 각 단계를 확실히 마무리 지은 후 다음 단계로 넘어가는 모델 폭포수 모델의 특징 가장 오래된 모델 선형 순차적 모형(고전적 생명주기 모형 / 한 번 정해지면 변경이 어려움) 오래된 모형이기에 성공 사례 많음 단계별 정의와 산출물 명확 요구사항 변경 어려움 2..

article thumbnail
[PostgreSQL] 사용자에게 권한 부여하기
Data Engineering/DBMS 2023. 7. 13. 00:03

오늘은 PostgreSQL Database에서 사용자에게 권한을 부여하거나 제거하는 방법에 대해 작성하려 합니다. PostgreSQL에서 사용자에게 권한을 부여하거나 뺏기 위해서는 GRANT 또는 REVOKE 명령을 사용합니다. 우선 사용자에게 권한을 부여하거나 제거하기 전, 사용자계정인 user 계정을 생성하는 방법에 root 계정을 생성하는 방법을 작성하고, 사용자에게 권한을 부여하거나 뺏는 명령어에 대해 작성하고자 합니다. 해당 글을 읽기 전, Dark Mode는 풀어주시면 글을 읽기 쉽습니다. 01. 계정 생성법 (CREATE) User 계정 생성하는 방법은 아래 SQL을 활용해주시면 되고, 비밀번호는 '따옴표'를 꼭 작성해주어야 합니다. CREATE USER username WITH PASSWO..

article thumbnail
[PostgreSQL] Primary Key 재설정
Data Engineering/DBMS 2023. 7. 4. 23:17

데이터베이스에서 기본키(Primary Key)는 굉장히 중요한 개념이다. 오늘은 간단히 PostgreSQL의 기본키에 대해 알아보고자 한다. PostgreSQL 기본키(Primary Key)는 테이블의 각 행을 고유하게 식별하는 데 사용되는 특별한 열 또는 열 집합이다. 관계형 데이터베이스 설계에서 중요한 구성 요소이며 데이터 무결성을 보장하고 효율적인 데이터 검색을 가능하게 한다. 01. 기본키의 특징 고유성 (Uniqueness) 기본키의 각 값은 테이블 내에서 고유해야 합니다. 두 행은 동일한 기본키 값을 가질 수 없다. 널 값 허용 불가 (Not Null) 기본키 값은 널 값을 가질 수 없다. 모든 행은 기본키 열에 정의된 값을 가져야 한다. 분해 불가능성(Irreducible) 기본키는 더 작은..

article thumbnail
NiFi Cron 설정하기
Data Engineering/ELT 2023. 7. 2. 23:17

NiFi Cron은 NiFi에서 작업을 정기적으로 실행하기 위한 기능이다. 01. Apache NiFi Cron 기능 NiFi는 Apache Software Foundation에서 개발한 엔터프라이즈급 데이터 처리 플랫폼으로 NiFi Cron를 사용하면 특정 시간에 또는 특정 시간 간격으로 작업을 실행할 수 있다. 아래는 NiFi Cron 기능이다. 작업을 특정 시간에 실행 작업을 특정 시간 간격으로 실행 작업을 특정 주기 동안 실행 작업을 특정 조건이 충족될 때 실행 02. Apache NiFi Cron 사용법 NiFi Cron를 사용하려면 다음과 같이 진행하면 된다. (작성된 버전은 1.12.1로, 버전마다 상이할 수 있기 때문에 참고만 하길 바란다.) 1. NiFi UI의 좌측 상단 Processo..

검색 태그