Rabbit MQ Kubernetes Helm 배포
·
Kubernetes
Rabbit MQ Helm 배포Kubernetes에 RabbitMQ를 배포하는 방법을 안내하겠습니다. 우리는 Helm 차트를 사용해 빠르고 쉽게 RabbitMQ를 설치할 수 있습니다. Helm은 Kubernetes 애플리케이션을 패키징하고 관리할 수 있는 도구입니다.RabbitMQ를 Kubernetes 클러스터에 배포하기 위한 단계는 다음과 같습니다:1. Helm 설치Helm이 설치되어 있지 않다면 먼저 Helm을 설치해야 합니다.curl | bash2. RabbitMQ 차트 레포지토리 추가RabbitMQ는 Bitnami 레포지토리에서 관리하는 차트를 사용할 수 있습니다. 우선 Helm에 Bitnami 레포지토리를 추가합니다.helm repo add bitnami helm repo update3. Ra..
Database에서 ACID
·
Interview/DB
Database에서 ACIDACID는 데이터베이스 트랜잭션의 신뢰성과 무결성을 보장하기 위한 4가지 주요 특성을 나타내는 약어입니다. 트랜잭션은 데이터베이스에서 일어나는 작업의 단위로, 하나의 트랜잭션이 성공하면 그 작업이 영구적으로 반영되고, 실패하면 전체 작업이 취소됩니다. ACID는 이러한 트랜잭션이 안전하게 처리되도록 하는 기본 원칙을 의미합니다.1. ACID의 4가지 특성원자성(Atomicity)원자성은 트랜잭션이 모두 반영되거나 전혀 반영되지 않음을 보장하는 특성입니다. 즉, 트랜잭션 내에서 실행된 작업들이 모두 성공해야 하며, 하나라도 실패하면 전체 트랜잭션이 취소되고, 데이터베이스는 트랜잭션이 실행되기 전 상태로 돌아갑니다.예시: 은행에서 A 계좌에서 B 계좌로 돈을 이체하는 경우, 돈이 ..
DB에서 데이터 무결성
·
Interview/DB
DB에서 데이터 무결성데이터 무결성(Data Integrity)는 데이터베이스 내의 데이터가 정확하고, 일관되며, 신뢰할 수 있는 상태를 유지하도록 보장하는 개념입니다. 데이터 무결성은 데이터의 품질을 유지하고, 데이터베이스의 효율적인 운영을 위해 필수적입니다. 이를 위해 다양한 무결성 제약을 사용하며, 데이터의 저장, 수정, 삭제 등이 이루어질 때에도 데이터의 정확성과 일관성을 유지하는 것이 중요합니다.1. 데이터 무결성데이터 무결성은 크게 세 가지 유형으로 나눌 수 있습니다.개체 무결성(Entity Integrity): 각 테이블의 행을 고유하게 식별할 수 있는 키(예: Primary Key)를 사용하여, 중복되지 않는 고유한 데이터를 보장합니다. 예를 들어, 하나의 레코드가 중복되거나 누락되지 않도..
Database에서 DDL DML DCL
·
Interview/DB
Database에서 DDL DML DCL데이터베이스 관리 시스템(DBMS)에서 사용하는 SQL은 크게 세 가지 범주로 나눌 수 있습니다: DDL, DML, DCL. 이들은 각각 데이터 정의(DDL), 데이터 조작(DML), 데이터 제어(DCL)와 관련된 명령어들을 의미합니다. MySQL을 예시로 각 범주에 대해 설명하고 예시를 들어보겠습니다.1. 정의 기능(DDL: Data Definition Language)Definition 정의DDL은 데이터베이스의 구조를 정의하는 데 사용됩니다.테이블, 인덱스, 뷰, 스키마 등 데이터베이스 객체의 생성, 수정, 삭제 등을 할 때 사용합니다.주요 명령어:CREATE: 새로운 데이터베이스 객체(테이블, 인덱스 등)를 생성ALTER: 기존 데이터베이스 객체를 수정DRO..
Database View 가상 테이블
·
Interview/DB
Database View 가상 테이블데이터베이스에서 **View(뷰)**는 하나 이상의 테이블을 기반으로 한 가상 테이블입니다. 물리적으로 데이터를 저장하지 않으며, 쿼리를 통해 생성된 결과 집합을 나타냅니다. 쉽게 말해, View는 복잡한 쿼리의 결과를 테이블처럼 사용할 수 있게 해주는 도구입니다.1. View를 사용하는 이유(1) 데이터 접근 단순화복잡한 쿼리를 반복적으로 작성하는 대신 View를 사용하여 데이터 접근을 간단하게 할 수 있습니다. 예를 들어, 복잡한 조인, 서브쿼리 등을 통해 데이터를 조회해야 할 때, 이를 View로 만들어두면 간단하게 SELECT * FROM ViewName;으로 데이터를 조회할 수 있습니다.(2) 보안 및 데이터 접근 제어View를 통해 테이블의 특정 열이나 특정..
Kubernetes Dashboard 배포 Istio domain 설정
·
Kubernetes
Kubernetes Dashboard 배포Kubernetes Dashboard는 클러스터 리소스를 시각적으로 관리하고 모니터링할 수 있는 웹 UI입니다. Kubernetes Dashboard를 배포하는 방법은 아래와 같습니다.1. Kubernetes Dashboard 설치Helm으로 배포하기먼저 공식 Kubernetes Dashboard Repo로 이동하여 최신 버전으로 설치를 진행하겠습니다. Helm을 사용하여 대시보드를 설치합니다. 아래 명령어로 설치할 수 있습니다.https://github.com/kubernetes/dashboard/releases/tag/kubernetes-dashboard-7.8.0helm repo add kubernetes-dashboard helm upgrade --inst..
Python Yield
·
Interview/Python
Python Yieldyield는 Python에서 generator를 만드는 데 사용되는 키워드로, 함수의 실행을 일시 중단하고 값을 반환하며, 필요할 때 함수의 상태를 그대로 유지하면서 실행을 재개할 수 있습니다. 이를 통해 메모리를 효율적으로 사용하면서도 데이터를 순차적으로 처리할 수 있게 합니다.yield를 이해하려면 우선 generator와 iterator의 개념을 알아야 합니다.1. Generatoryield를 사용하는 함수는 generator 객체를 반환합니다. 이 generator는 __iter__()와 __next__() 메서드를 가진 이터러블 객체입니다. 즉, 반복 가능한 객체처럼 사용할 수 있으며, 한 번에 하나의 값을 생성(또는 반환)하고 다음 호출 때 그 상태를 기억합니다.def m..
Kubernetes Session Affinity
·
Kubernetes
Kubernetes Session AffinityKubernetes에서 Session Affinity는 클라이언트의 요청이 항상 동일한 파드로 라우팅되도록 보장하는 기능입니다. 즉, 세션이 유지되는 동안 동일한 클라이언트의 요청이 동일한 백엔드 파드로 전달되도록 하여 상태를 유지하는 데 사용됩니다. 이는 주로 상태 기반 애플리케이션에서 유용합니다. 예를 들어, 특정 사용자의 세션 데이터가 특정 파드에 저장되어 있는 경우, 이후의 모든 요청이 해당 파드로 전달되어야 세션이 유지됩니다.1. Kubernetes에서 Session Affinity의 동작 방식:Kubernetes에서는 Service의 sessionAffinity 설정을 통해 Session Affinity를 구성할 수 있습니다. 기본적으로 Sess..
김 정출
Jeongchul Kim