전체 글 587

[10편] 대규모 벡터 데이터 관리 (샤딩 & 메모리 최적화)

이 글에서는 PostgreSQL pgvector를 활용하여 대규모 벡터 데이터를 효율적으로 저장하고 관리하는 방법을 다룹니다.특히, 샤딩(Sharding), 테이블 파티셔닝(Partitioning), 메모리 최적화(shared_buffers, work_mem 등) 을 통해 성능을 극대화하는 방법을 설명합니다. ✅ 대량 벡터 데이터를 저장하는 방법 (샤딩 & 파티셔닝 적용)✅ PostgreSQL 메모리 최적화 (shared_buffers, work_mem)✅ 빠른 검색을 위한 저장소 엔진 및 인덱싱 전략 🚀 1. 대량 벡터 데이터 저장 전략: 샤딩(Sharding) vs 파티셔닝(Partitioning) 벡터 데이터는 보통 수십만~수억 개 이상의 벡터를 저장해야 합니다.PostgreSQL에서 효율적인 데..

[9편] AI 모델과 pgvector 연동: 임베딩 기반 검색 시스템 구축

이 글에서는 AI 모델을 사용하여 문장을 벡터(Embedding)로 변환하고, pgvector를 활용하여 AI 검색 시스템을 구축하는 방법을 다룹니다.✅ OpenAI text-embedding-ada-002 및 Hugging Face sentence-transformers 활용✅ 임베딩 벡터를 pgvector에 저장하고, 유사한 검색 결과 반환✅ FastAPI를 이용해 벡터 검색 API 구축 🚀 1. AI 모델을 활용한 벡터 변환(Embedding) 1️⃣ AI 임베딩 모델이란? 임베딩(Embedding)은 텍스트, 이미지, 음성 등의 데이터를 벡터 형태로 변환하는 기술입니다.이 벡터는 유사한 의미를 가지는 데이터끼리 가까운 위치에 배치되도록 학습됩니다. ✅ AI 검색 시스템에서 임베딩 활용 방식1️⃣..

[8편] pgvector를 활용한 대규모 AI 검색 시스템 구축 & 운영 전략

📌 개요 이 글에서는 PostgreSQL pgvector를 효과적으로 활용하여 AI 검색을 구축하고 운영하는 전략을 다룹니다.특히, 대규모 벡터 데이터를 효과적으로 저장 & 검색하는 DB 설계, 벡터 데이터의 백업 및 최적화, 성능 개선 기법 등을 다룹니다. ✅ pgvector를 AI 검색 시스템에 적용하는 실제 사례✅ 대규모 벡터 데이터를 효과적으로 저장 & 검색하는 DB 설계✅ 벡터 데이터 백업, 모니터링, 성능 최적화 방법✅ 클라우드 환경(AWS, GCP, Azure)에서 pgvector 운영 고려 사항 🚀 1. AI 검색 시스템에서 pgvector 활용 사례 🔹 1️⃣ 문서 검색 시스템 (AI RAG)  ✅ 사용 사례: 대규모 문서에서 AI가 적절한 문장을 찾아 응답하는 Retrieval-A..

[7편] FastAPI 벡터 검색 성능 최적화 (pgvector 인덱스 및 Auto Scaling 적용)

📌 개요 이 글에서는 FastAPI + PostgreSQL + pgvector를 활용한 대규모 벡터 검색 성능 최적화 방법을 다룹니다.✅ pgvector의 HNSW(Hierarchical Navigable Small World) 인덱스를 활용한 검색 속도 개선✅ 대량 벡터 데이터 처리 및 검색 최적화✅ Kubernetes에서 FastAPI의 Auto Scaling 적용 🚀 1. pgvector의 성능 최적화를 위한 HNSW 인덱스 적용 pgvector는 벡터 검색을 최적화하기 위해 L2 distance (유클리드 거리), Cosine similarity, Inner product 등의 방법을 지원합니다.HNSW(Hierarchical Navigable Small World) 인덱스를 활용하면 대규모 ..

[6편] FastAPI 벡터 검색 API를 Kubernetes에 배포

📌 개요 이 글에서는 FastAPI 벡터 검색 API를 Docker 컨테이너로 패키징하고, Kubernetes에 배포하는 방법을 설명합니다.✅ FastAPI를 Docker로 컨테이너화✅ Kubernetes에서 PostgreSQL과 연동하여 FastAPI 실행✅ Helm & ArgoCD를 활용한 GitOps 기반 배포 🚀 1. FastAPI Docker 컨테이너화 FastAPI 애플리케이션을 Kubernetes에서 실행하려면 Docker 컨테이너로 패키징해야 합니다. 1️⃣ Dockerfile 생성 📌 프로젝트 디렉터리 (fastapi-vector-search/)에 Dockerfile 추가# Base imageFROM python:3.9# Set working directoryWORKDIR /app#..

[5편] FastAPI와 PostgreSQL을 활용한 벡터 검색 API 구축

📌 개요 이 글에서는 FastAPI + PostgreSQL + pgvector를 활용하여 벡터 검색 API를 구축하는 방법을 설명합니다.✅ pgvector를 사용하여 벡터 데이터 저장✅ FastAPI를 이용해 REST API로 벡터 검색 기능 구현✅ AI 모델을 활용하여 텍스트 임베딩을 벡터로 변환 후 저장 🚀 1. FastAPI 프로젝트 설정 먼저, FastAPI 프로젝트를 생성하고 필요한 패키지를 설치합니다. 1️⃣ FastAPI 프로젝트 디렉터리 생성mkdir fastapi-vector-searchcd fastapi-vector-search 2️⃣ Python 가상환경 설정 (선택)python3 -m venv venvsource venv/bin/activate # macOS/Linuxvenv\..

[4편] PostgreSQL을 Vector Database로 활용하기 (pgvector 설정 및 사용)

이 글에서는 PostgreSQL을 벡터 데이터베이스(Vector Database)로 활용하는 방법을 설명합니다.✅ pgvector 확장을 설치하고 활성화하는 방법✅ 벡터 데이터를 저장하고 검색하는 방법✅ 최근접 이웃(Nearest Neighbor) 검색을 수행하는 SQL 쿼리 활용 🚀 1. pgvector 확장 설치 및 활성화 1️⃣ PostgreSQL에서 pgvector 확장 설치 Helm의 values.yaml을 수정하여 PostgreSQL이 실행될 때 pgvector 확장이 활성화되도록 설정할 수 있습니다. 📌 values.yaml에 pgvector 확장 추가primary: persistence: enabled: true size: 8Gi service: type: LoadB..

[3편] PostgreSQL 사용자(Role) 추가 및 수동 관리 (SQL 쿼리 방식)

📌 개요 이 글에서는 Helm과 ArgoCD로 PostgreSQL을 배포한 후, SQL을 직접 실행하여 특정 사용자(Role) 및 데이터베이스를 생성하고 관리하는 방법을 설명합니다.Helm의 values.yaml을 사용하지 않고, postgres 계정으로 직접 psql을 실행하여 사용자 및 권한을 설정하는 방법을 다룹니다. 🚀 1. PostgreSQL 접속 및 기본 설정 확인 1️⃣ PostgreSQL Pod에 접속 먼저 PostgreSQL Pod 내부에서 psql을 실행합니다.kubectl exec -it $(kubectl get pod -n database -l app.kubernetes.io/name=postgresql -o jsonpath="{.items[0].metadata.name}") -..

[2편] Helm values.yaml을 활용한 PostgreSQL 사용자(Role) 추가 및 관리

📌 개요 이 글에서는 Helm의 values.yaml을 활용하여 PostgreSQL의 특정 사용자(Role)와 데이터베이스를 자동 생성하는 방법을 설명합니다.Helm Chart 배포 시 사용자 및 데이터베이스를 설정하면, 별도로 SQL을 실행하지 않아도 자동으로 PostgreSQL 인스턴스에 적용됩니다. 🚀 1. PostgreSQL 사용자 및 데이터베이스 자동 추가 (values.yaml 설정) Helm의 values.yaml을 수정하면 데이터베이스, 사용자 계정(Role), 초기 데이터 등을 자동으로 설정할 수 있습니다. 1️⃣ values.yaml 업데이트 (사용자 및 데이터베이스 자동 생성) 아래 설정을 values.yaml에 추가하여, PostgreSQL을 배포할 때 adminuser 사용자와..

[1편] Kubernetes에 Helm & ArgoCD를 사용한 PostgreSQL 설치

📝 개요 이 글에서는 Helm과 ArgoCD를 활용하여 PostgreSQL을 Kubernetes에 배포하는 방법을 설명합니다.GitOps 기반의 배포 전략을 사용하여 PostgreSQL을 쉽게 관리할 수 있도록 ArgoCD를 활용합니다. 📌 1. Helm을 사용하여 PostgreSQL 설치 Helm은 Kubernetes 애플리케이션을 패키징하고 배포하는 도구입니다.PostgreSQL의 경우, Bitnami Helm Chart를 사용하여 배포할 수 있습니다. 1️⃣ 네임스페이스 생성 먼저 database 네임스페이스를 생성합니다.kubectl create namespace database 2️⃣ Helm Chart를 사용한 PostgreSQL 설치 다음 명령어를 실행하여 Bitnami PostgreSQ..

728x90