본문 바로가기

시스템

ElasticSearch (Mapping & Analysis) 분석 API 소개때로는 텍스트 분석이라고도 함텍스트 필드/값에 적용 가능문서 인덱스 시 텍스트 값이 분석됨결과는 검색 등에 효율적인 데이터 구조에 저장됨_source 객체는 문서 검색 시 사용되지 않음문서 색인 시 지정된 정확한 값을 포함함문자 필터문자를, 추가, 제거 또는 변경함분석기는 0개 이상의 문자 필터를 포함함문자 필터는 지정된 순서대로 적용됨예시 (html_strip 필터)입력: "I'm in a good mood - and I love açaí!"출력: "I'm in a good mood - and I love açaí!"토큰나이저분석기는 하나의 토큰화기를 포함함문자열을 토큰화함, 즉 토큰으로 분할함토큰화 과정에서 문자가 제거될 수 있음예시입력: "I REALLY like beer!"출력: .. 더보기
ElasticSearch (Mapping Documents) 엘라스틱 서치란- 분산형 검색, 분석 엔진이다.- 확장 데이터 저장, 벡터 DB 역할 가능- 하나의 클러스터에 여러개의 노드가 존재할 수 있다. 인덱스-  샤드 설명- 샤드는 인덱스(ES의 논리적 그룹핑 단위)를 더 작은 조각으로 나누는 방법이다.- 각 조각은 샤드(Shard)라 부른다.- 샤딩은 인덱스 레벨에서 이뤄진다.- 주요 목적은 데이터 볼륨을 가로로(Horizontally) 늘리기(?) 위함이다. - 인덱스가 저장할 수 있는 문서 수를 늘릴 수 있다. 따라서, 노드에 인덱스 수를 늘릴 수 있다.- 각 샤드는 Apache Lucene Index 이다(?)- ES 인덱스는 하나 이상의 Apache Lucene Indices 이다.- 샤드는 정해진 사이즈가 없으며, Doc이 추가될 수록 증가할 수 있.. 더보기
[Part4] [3] Kubernetes Manifest 작성을 위한 Helm 활용 1. Kubernetes Manifest 작성 방법 소개: deployment.yaml 는 쿠버네티스 클러스터에 배포를 주문하는 명세라고 할 수 있다.Object 생성/업데이트 명령어 $ kubectl apply -f {Manifest 파일}Object의 생성/업데이트 비교 명령어 (Dry run) $ kubectl diff -f {Manifest 파일} Manifest기반으로 생성된 Object 생성/업데이트 현황 출력 명령어 $ kubectl get -f {Manifest 파일} -o yaml  - apply 말고 replace로 적용하는 방법이 존재하고 kubectl.kubernetes.io/last-applied-configuration 에서 확인 가능함- kubectl create로 생성하면 보.. 더보기
Part2. Docker 활용 Artifact 관리를 위한 Nexus 활용- Artifact 관리를 위한 Nexus 활용 소개: 사내 망에 별도의 리포지토리를 구축하기 위함(1) 보안의 이유(2) 라이브러리 버전 관리 용이 - meta 데이터 기반으로 라이브러리 정보와 버전 관리(3) 공유와 협업 관리 레포지토리의 종류  - Nexus 설치 및 AWS S3 연결 Nexus 설치 및 AWS S3 연결 - Nexus 설치 및 관리 계정 생성 - AWS S3 연결 Blob Store 및 Repository 생성사전 준비사항 - Nexus 서버용 AWS EC2 1개 VM 생성 및 접근 허용     - Instance Type : t3.medium (2Core/4GB Mem/30GB EBS)     - Security Group Inbound.. 더보기
[Part4] [1] Terraform을 활용한 AWS EKS 생성 1. Terraform을 활용한 AWS EKS 생성 소개- Terraform은 Infrastructure as Code(IaC)를 위한 도구입니다.- AWS EKS는 Kubernetes와 완전히 호환되어 쉬운 마이그레이션을 가능하게 합니다. 2. 실습 환경 구성을 위한 AWS 네트워크 및 EKS 설계- VPC 생성 (Secondary CIDR 포함)- Subnet 및 Internet Gateway 생성- Route Table 생성- EKS Cluster 생성- EKS Node Group 생성- POD (Container) 배포 - VPC는 기본적으로 하나가 생성되어 있다.- 두개의 Public Subnet을 사용할 것이다. SubNet은 TAG를 필요로 한다. 클러스터간 통신을 위해서 TAG를 필요로 한.. 더보기
Part4. 개발자를 위한 Kubernetes 활용 개발자를 위한 Kubernetes 활용 파트 컨셉 1. 클라우드 인프라 기반 컨테이너 플랫폼 환경 설계 및 구축 수행 2. 컨테이너 플랫폼 기반 개발 환경 구성 3. 컨테이너 플랫폼의 안정적인 운영 방안 마련   개발자를 위한 Kubernetes 활용 파트 구성 0. 개발자를 위한 Kubernetes 활용 소개 1. Terraform을 활용한 AWS EKS 생성 2. AWS EKS 기본 Plugin 구성 방법 3. Kubernetes Manifest 작성을 위한 Helm 활용 4. Kubernetes 배포를 위한 GitHub와 ArgoCD 활용 5. Kubernetes 안정성 강화 방법 6. Kubernetes Custom 관리 방법 7. Kubernetes 보안 강화 방법 8. Kubernetes 트러.. 더보기
RestAPI, FastAPI, Flask 차이 REST API정의: REST API는 특정 프레임워크가 아니라 웹 서비스를 설계하는 아키텍처 스타일입니다. REST(Representational State Transfer) 원칙을 따르는 API를 의미합니다.목적: 클라이언트와 서버 간의 통신을 위한 구조를 제공.특징:자원 기반 구조.HTTP 메서드(예: GET, POST, PUT, DELETE)를 사용하여 자원 조작.상태 무저장(stateless).URI를 통해 자원 식별.FastAPI정의: FastAPI는 Python으로 작성된 현대적인 고성능 웹 프레임워크입니다.목적: 빠르고 쉽게 RESTful API를 만들기 위해 설계됨.특징:고성능: Starlette과 Pydantic을 기반으로 하여 비동기 기능과 데이터 검증을 지원.자동화된 문서화: Swa.. 더보기
SELECT 기본 용법 ▣ 기본 문법 SELECT select_expr} [FROM table_references] [WHERE where_condition] [GROUP BY {col_name | expr | position}] [HAVING where_condition] [ORDER BY {col_name | expr | position}] [LIMIT {[offset,] row_count | row_count OFFSET offset}]; SELECT 열_이름 FROM 테이블_이름 WHERE 조건식 GROUP BY 열_이름 HAVING 조건식 ORDER BY 열_이름 LIMIT 숫자 예시) SELECT mem_name, addr FROM member WHERE addr IN('경기', '전남', '경남'); -- OR와 .. 더보기