[Linux] 볼륨 파티션, 포맷, 마운트 (2) 저번 포스팅에서 신규 볼륨을 연결 한 후 파티션을 나누는 작업까지 해보았다. 이어서 포맷과, 마운트까지 진행해보자 Let's go~💃 1. 볼륨 생성 및 디스크 파티션 관리 https://heywantodo.tistory.com/89 저번 포스팅 참고! 2. 포맷 포맷이란? 디스크나 파티션에 파일 시스템을 생성하는 작업을 의미함 포맷을 통해 파일 시스템은 디스크 또는 파티션의 논리적인 구조를 설정하고, 데이터를 저장할 수 있는 형식으로 초기화됨 리눅스에서 사용되는 주요 파일 시스템 포맷 파일 시스템 설명 장점 단점 ext4 널리 사용되는 기본 파일 시스템으로 안정성과 성능이 뛰어남 안정성, 성능, 확장성 큰 파일 시스템에는 적합하지 않음 XFS 고성능 파..
[Linux] 볼륨 파티션, 포맷, 마운트 ✔ 신규 볼륨으로 AWS EBS 사용 EBS는 볼륨을 늘리는 것은 쉽게 가능하지만 줄이는 것은 굉장히 어려우니, 처음부터 불필요 한 용량의 너무 큰 볼륨 디스크를 사용하는것은 지양 그리고 가용영역이 똑같아야함!! 가용영역이 다르면 스냅샷으로 옮기는 방법이 있긴하지만 매우 번거로우니 ec2가 올라간 곳과 동일한 가용영역에 볼륨을 생성 볼륨을 연결 한 후 lsblk 명령어를 사용하면 disk가 잘 붙은 모습을 볼 수 있다. 하지만 아직 파티션과 포맷이 되지 않은 상황 파티션 -> 포맷 -> 마운트까지의 절차를 지금부터 알아보자 1. 디스크 파티션 관리 ⚠ 파티션을 조작할 땐 신중해야 한다. 잘못된 조작은 데이터 손실이나 시스템 오작동을 유발할 수 있다. 그리고 반드..
[Linux] Disk 관리 디스크 용량 단위 운영 체제는 저장 장치의 단위로 바이트(Byte)를 사용 리눅스 시스템 전체의 디스크 사용량 확인 #파티션을 기준으로 디스크 사용량을 출력 df #파일이나 디렉토리를 기준으로 디스크 사용량을 출력 du 용량을 메가(MB) 기가(GB) 단위로 표시 (기본 단위는 KB) df -h 파일이나 디렉토리를 기준으로 디스크 사용량 확인 디스크 디바이스 정보 1. 디스크 디바이스 이름 확인 sda, sdb, sdc, sdd 등으로 확인 루트전용은 앞에 x가 붙음 (ex. xvda, xvdf, xvdg) 등 2. 논리적으로 분리된 디스크 파티션 확인 sda -> sda1, sda2 xvda sda -> xvda1, xvda2 리눅스 디스크 디바이스 확인 lsblk #전체 ..
[Airflow] airflow decorators airflow decorators airflow.decorators는 Airflow에서 제공하는 데코레이터 모듈 @dag : DAG를 정의할 때 사용되는 데코레이터 DAG 객체를 생성하고, DAG 속성을 설정하는 데 사용됨 @task : Task를 정의할 때 사용되는 데코레이터 Python 함수를 task로 등록하고, task의 실행을 제어하는데 사용됨 @task_decorator : 커스텀 task 데코레이터를 정의할 때 사용되는 데코레이터 이를 사용하여 task에 사용자 지정 로직이나 기능을 추가할 수 있음 @task_group : task group을 정의할 때 사용되는 데코레이터 여러 task를 그룹으로 묶어서 실행 순서나 의존성을 관리할 수 있..
MySQL에서 데이터 타입을 변환하는 방법은 크게 두 가지가 있음 1. CAST CAST 함수는 데이터 타입을 변환할 때 사용됨 CAST (변환 할 값 AS 변환 할 데이터 타입) SELECT CAST('123' AS INTEGER); --문자열 데이터를 숫자형 데이터로 변환 2. CONVERT CONVERT 함수도 데이터 타입을 변환할 때 사용됨 다양한 데이터 타입 변환 형식을 제공 CONVERT(변환 할 데이터 타입(길이), 변환 할 값, 형식) SELECT CONVERT(VARCHAR(10), GETDATE(), 101); --MM/DD/YYYY 형식으로 표시됨 CONVERT 함수에서 사용할 수 있는 형식 0 or 100 mon dd yyyy hh:miAM/PM (예: Jan 1 2023 12:00..
[Network] 네트워크 관련 용어정리 (2) 서브넷(Subnet) : 서브넷은 IP 주소를 분할하여 작은 네트워크로 분할하는 것 하나의 네트워크를 작은 네트워크로 나누면 더 효율적으로 IP주소를 할당할 수 있음 각각의 서브넷은 고유한 IP주소 범위를 가지며, 서로 다른 서브넷 간에는 라우터를 통해 통신 도메인(Domain) : 인터넷 상에서 컴퓨터, 서버, 네트워크 등에 부여된 이름 도메인 이름은 일반적으로 계층 구조를 가지며 도메인 이름은 DNS 서버에 등록되어 있음 이를 통해 도메인 이름을 IP 주소로 변환하여 해당 서버로 접근 VPN(Virtual Private Network) : VPN은 공개 네트워크(인터넷)을 통해 안전하게 두 지점 간의 연결을 구축하는 기술 VPN을 사용하면 두 지점 간의..
[Network] 네트워크 관련 용어정리 (1) 네트워크와 관련된 용어들은 자주 사용되지만 자꾸 까먹는다 😅 자주 사용되는 단어 몇개만 간단하게 정리를 해봄 Internet : TCP/IP라는 통신 프로토콜을 이용해 정보를 주고받는 네트워크 Load Balancer (L4, L7 Switch) : 부하를 분산하는 과정에서 탄생 클라이언트 요청을 여러 대의 서버로 분산하고, 서버의 부하 상태를 모니터링하며 트래픽을 조절하여 안정성과 가용성을 높이는 역할을 함 L4 : OSI 7계층에서 전송계층에 해당하는 TCP/UDP 프로토콜을 이용하여 부하를 분산 L4 로드 밸런서는 IP 주소와 포트 번호에 따라 서버 연결 요청을 분해 서버에 대한 로드 밸런싱만 수행하기 때문에 전송 속도가 빠르고 대규모 트래픽 처리에 ..
[Superset] DB 연동 Supeset은 간편하게 Web에서 DB 연동이 가능함 1. 우측 상단의 ➕ 를 클릭한뒤 Data > Connect database 선택 2. MySQL을 선택 MySQL이 안보이는 경우는 mysqlclient를 설치해줘야 함 pip install mysqlclient 3. 연결 정보 입력해준후 Finish 누르면 끝 4. DB가 연결되고 나면 Create Dataset으로 변경됨 Setting -> Database Connection에서 연동 확인 가능
[SQL] View View 데이터 베이스에서 사용되는 가상 테이블 View는 실제 데이터를 저장하지 않고 데이터베이스의 다른 테이블에서 가져온 쿼리를 기반으로 만들어짐 View의 장점 1. 데이터를 요약, 필터링, 조인 또는 계산하는데에 사용 가능 2. View를 사용하면 복잡한 쿼리를 단순화하고, 재사용 가능한 코드를 생성하여 작업을 간단하게 할 수 있음 3. 특정 사용자 또는 그룹에게 보여줄 수 있는 데이터를 제한하고 보안성을 향상시키는데 사용 4. View를 사용하여 복잡한 쿼리의 실행 속도를 높임 View 생성 ❗ MySQL 기준 CREATE VIEW 문을 사용하여 만들어 짐 CREATE VIEW 문은 새로운 테이블을 만들지 않고 쿼리 결과를 View에 저장함 예제 테이블 CREATE TABLE..
[Superset] Apache Superset Apache Superset 웹 기반의 데이터 시각화 및 비지니스 인텔리전스(BI) 툴 Superset은 데이터 소스에서 쿼리를 실행하고, 결과를 시각적으로 표현하기 위해 다양한 차트, 대시보드 및 보고서를 제공 Apache Softwate Foundation의 오픈 소스 프로젝트로 개발되어 있으며, 기존의 BI 솔루션과 비교하여 비교적 경제적이고 높은 유연성을 제공함 Superset은 사용하기 쉬운 UI를 갖추고 있으며, 다양한 데이터 소스에서 데이터를 가져와 시각화 할 수 있음 데이터 사이언스, 분석가 및 비지니스 사용자 모두에게 적합함 Superset은 다양한 차트 유형을 제공함 ex) 막대차트, 선 그래프, 산점도, 히트 맵, 파이 차트 등 또한 다..
[Airflow] Variables Variables Airflow 변수(Variables)는 Airflow에서 사용되는 일종의 키-값(key-value) 쌍으로 DAG 실행 중에 사용할 수 있는 데이터를 저장하는데 사용됨 이 변수들은 Airflow의 UI 또는 CLI를 통해 생성하고 관리할 수 있음 DAG에서 사용되는 DB 연결 정보나 API 키, 환경 변수 등을 저장할 수 있음 이러한 변수들은 DAG 코드 내에서 하드코딩하여 사용하는 것보다 유연성과 보안성을 높일 수 있음 1. UI에서 설정 Admin -> Variables에서 설정 가능 2. CLI에서 설정 airflow variables 명령어를 사용하여 CLI에서 변수를 생성, 수정, 삭제할 수 있음 airflow variables --set ..