본문 바로가기

분류 전체보기79

[OpenSearch] k-NN 벡터 검색 적용하기 OpenSearch에서 k-NN 벡터 검색 적용하기최근 자연어 처리나 이미지 인식 등 AI 기반 검색 서비스에서는 벡터 검색이 핵심 기능이 되고 있습니다. OpenSearch는 k-NN 기능을 통해 이러한 유사도 기반 검색을 지원합니다. 이 글에서는 k-NN 벡터 인덱싱이 무엇인지부터 실제 설정, 쿼리 작성까지 쉽게 따라할 수 있도록 안내드리겠습니다.벡터 인덱싱이란?문장을 임베딩(embedding)하면 수백 차원의 벡터로 변환되며, 이 벡터는 문장의 의미를 수치로 표현합니다. 예를 들어,"오늘 날씨 좋다""날이 맑고 화창하다"이 두 문장은 단어는 다르지만 의미는 유사합니다. 벡터 공간상에서는 이 둘이 가까운 위치에 있게 됩니다. 이렇게 벡터를 기반으로 유사한 문서를 찾기 위해 벡터 인덱싱이 사용됩니다.k.. 2025. 6. 13.
[2024 Google Solution Challenge Top 100 회고] 1. 아이디어 도출 과정 다 늦은 2024 Google Solution Challenge Top 100 회고😃 2024년 1월, 너겟이라는 시각장애인을 위한 보행보조 모바일 어플리케이션 개발에 백엔드로 참여하였고,2024년 4월, Google Solution Challenge Global Top 100 Team으로 선정되었다🎉🎉 24년도에 회사에 입사한 후,신입 개발자로서 하루하루의 업무를 정신없이 쳐내기만 하다보니 생각하지 않고(사고하지 않고) 개발한다는 피드백을 많이 받았다. 피드백을 개선하고자 관련 개발 서적들을 읽는 중인데,읽은 내용들을 업무나 과거 플젝들 회고에 적용하며 이때 ~~하게 생각해보면 좋았을걸! 하는 중이다.ㅎㅎ 업무 회고는 얼추 끝냈찌만!!내가 불태웠던 대학생 시절 플젝들도 하나씩 회고하고자 (갈아넣은.. 2025. 5. 22.
[OpenSearch]클러스터 구성: 마스터 노드 + 데이터 노드 🔍 OpenSearch란?OpenSearch는 빠른 검색 기능을 제공하는 데이터베이스 시스템입니다.대량의 데이터를 효과적으로 저장하고 검색할 수 있어, 로그 분석, 데이터 모니터링, 검색 엔진 구축 등에 사용됩니다. OpenSearch는 단순한 데이터베이스가 아니라 클러스터(cluster) 라는 개념을 사용해 여러 개의 서버(노드)를 조합하여 동작합니다. 이때, 클러스터 내에서 각 노드는 마스터 노드(Master Node) 와 데이터 노드(Data Node) 로 역할이 나뉩니다. 이 글에서는 OpenSearch 클러스터를 구성할 때 마스터 노드와 데이터 노드를 어떻게 배치하는지, 그리고 각각의 역할이 무엇인지 쉽게 설명하겠습니다.🚀 OpenSearch 클러스터란?📌 클러스터란 무엇일까?단일 서버에서.. 2025. 3. 7.
NPM 미러링 서버란?(2): ALB, Verdaccio, S3를 사용하는 이유 도커에서 npm 미러링: ALB, Verdaccio, S3를 사용하는 이유npm 패키지를 사용하는 개발 환경에서, 외부 npm 레지스트리(npmjs.com) 의존도를 줄이고 성능을 최적화하기 위해 미러링 서버를 설정하는 것은 매우 중요합니다. ALB(Application Load Balancer), Verdaccio, 그리고 S3를 조합하여 운영하면, 안정성과 확장성을 동시에 확보할 수 있습니다. 이번 글에서는 이 세 가지를 왜 함께 사용하는지, 그리고 npm 미러링 과정을 간단하게 설명합니다.왜 ALB, Verdaccio, S3를 함께 사용하는가?1. 데이터의 영속성 (S3)Verdaccio를 로컬 디스크에 설정하면 컨테이너 재시작이나 환경 변경 시 데이터 유실 위험이 있습니다. S3를 사용하면 AWS.. 2025. 1. 23.
반응형