전체 글 415

ElasticSearch 색인/검색 동작과정

색인(Index) 과정 색인은 문서를 분석하고 저장하는 과정을 색인이라고 합니다. 먼저 색인과정은 인덱스가 있는지 체크한후 매핑정보를 파악하고 inverted index생성 후 문서를 저장하는 과정입니다. 프라이머리 샤드가 1개일때 색인이 하나의 데이터노드에서만 일어납니다. 이때 데이터노드가 3대이상이라면 사실상 2개의 데이터노드에만 저장이되고 나머지 데이터노드는 그냥 탱자탱자 놀고 있는 것입니다. 그렇기 때문에 적절한 수의 샤드의 개수를 설정하는 것이 성능에 큰 영향을 미칩니다. 클러스터의 이점을 잘 살리고 있는지, 적절한 샤드의 갯수를 설정해서 최대한 많은 노드가 색인에 참여하고 있는지 체크할 필요가 있습니다. 하지만 만약 샤드설정 이후 데이터 노드가 추가가 된다면? 샤드의 설정은 바꿀수가 없고 데이..

ELK 2023.06.11

ElasticSearch 색인/검색 동작과정

색인(Index) 과정 색인은 문서를 분석하고 저장하는 과정을 색인이라고 합니다. 먼저 색인과정은 인덱스가 있는지 체크한후 매핑정보를 파악하고 inverted index생성 후 문서를 저장하는 과정입니다. 프라이머리 샤드가 1개일때 색인이 하나의 데이터노드에서만 일어납니다. 이때 데이터노드가 3대이상이라면 사실상 2개의 데이터노드에만 저장이되고 나머지 데이터노드는 그냥 탱자탱자 놀고 있는 것입니다. 그렇기 때문에 적절한 수의 샤드의 개수를 설정하는 것이 성능에 큰 영향을 미칩니다. 클러스터의 이점을 잘 살리고 있는지, 적절한 샤드의 갯수를 설정해서 최대한 많은 노드가 색인에 참여하고 있는지 체크할 필요가 있습니다. 하지만 만약 샤드설정 이후 데이터 노드가 추가가 된다면? 샤드의 설정은 바꿀수가 없고 데이..

ELK 2023.06.11

ElasticSearch 클러스터 구성

Es 는 기본적으로 고가용성 지원을 위해서 한대이상의 클러스터를 지원한다. 노드의 종류 마스터 노드 : 클러스터 상태 관리 및 메타데이터 관리 데이터 노드 : 문서 색인 및 검색 요청 처리 코디네이팅 노드 : 검색요청 처리 인제스트 노드: 색인되는 문서의 데이터 전처리 마스터 노드 마스터 노드는 실질적으로 마스터노드의 역할을하는 클러스터하나와 마스터노드는 한대밖에 없기때문에 이를 대체할 마스터 후보노드가 대기중이다. 사용자가 Es REST API에 마스터노드로 요청이 들어오면 그 다음 데이터노드에서 요청된 데이터를 검색해서 사용자에게 응답을 해주는 프로세스를 가지고 있다. 이때 불필요하게 마스터노드에서 데이터노드간에 통신이 발생하게 되기때문에 상황에 따라선 데이터노드에 바로 요청을 하는 것이 가능하다. ..

ELK 2023.06.11

5/31 AWS 스타트업 지원 교육 참여

AWS스타트업 지원 시스템 activate portfolio package 크레딧 2년까지 가능 크레딧은 발급일 기준으로 2년이 유지되고 또 다른 크레딧을 받아도 해당 크렛딧이 별도로 2년이 유지가 된다. 솔루션 awsStartup.io 각종 기술가이드가 정리돼 있는 사이트. 스타트업은 대개 비용과, 보안이 취약하기 때문에 비용과 보안에 대한 부분은 해당 사이트에서 공부하기 바람 기술지원 기술 컨설팅(1회성) paceMacker 산업군별 모버사례공유, 아키텍처 리뷰, 기술 도입 가이드 제시, 클라우드 성능 최적화 등에 관련된 기술솔루션 제공 poc크레딧, 신규 서비스 오픈시 태스트를 할 수 있도록 문의 크게 새가지로 이루어 져 있으며 위 부분에 대한 지원 신청은 스타트업별 배정된 어카운트메니저에게 회사 ..

AWS 2023.05.31

도커 데몬

도커 데몬 도커의 구조 도커를 사용할 때 docker라는 명령어를 통해 사용하는데 이는 /usr/bin/docker 에 위치하는 파일을 사용하는 것입니다. 그럼 해당 프로세스를 살펴보면 컨테이너나 이미지를 다루는 명령어는 /usr/bin/docker에서 실행되지만 도커 엔진의 프로세스는 /usr/bin/dockerd 파일로 실행되고 있습니다. 이는 docker 명령어가 실제 도커 엔진이 아닌 클라이언트로서의 도커이기 때문입니다. 도커의 구조는 크게 두가지로 나뉩니다. 하나는 클라이언트로서의 도커이고, 다른 하나는 서버로서의 도커입니다. 실제로 컨테이너를 생성하고 실행하며 이미지를 관리하는 주체는 도커 서버이고, 이는 dockerd 프로세스로서 동작합니다. 도커 엔진은 외부에서 API 입력을 받아 도커 엔..

Docker 2023.05.31

docker/ expose 와 port 의 차이점

expose 와 port 의 차이점 docker run을 통해 이미지를 컨테이너화 시킬때 여러가지 옵션을 부여하게되는데 이때 포트 개방을위해서 -p 옵션 혹은 expose 옵션을 써준다 이는 둘 동작이 비슷해 보이지만 완전 다르게 동작한다. expose expose는 컨테이너들한테 현제 컨테이너의 포트를 개방해 주는것이다. port port는 현제 컨테이너를 호스트에게 오픈해 주는것이다. 위 차이를 이해하고 써야한다. links 옵션 links 옵션은 컨테이너이름:별칭 의 형태로 설정하며 키벨류형태로 매핑돼서 컨테이너끼리 통신을할때 설정해놓은 별칭으로 통신할수 있게 해준다.

Docker 2023.05.31

도커 스웜 개념

도커 스웜? 사용하는 이유 기본적으로 흔히 사용하는 도커는 대부분 하나의 호스트를 기준으로 합니다. docker ps 명령어는 하나의 도커 엔진에 존재하는 컨테이너의 목록을 출력하며 create, run 명령어 또한 하나의 도커엔진에 컨테이너를 생성합니다. 만약 하나의 호스트 머신에 도커엔진을 구동하다가 cpu나 메모리, 디스크 용량과 같은 자원이 부족하면 이를 어떻게 해결할까? 이럴때 해결책은 돈을 둘둘 바르면 해결됩니다. 하지만 대부분의 상황에 이와같은 해결책을 선택할 수 있는게 아닙니다. 그래서 현제 흔히 사용하는방법은 여러대의 그저 그런 적당한 사양의 서버를 클러스터로 만들어 자원을 병령로 확장하는 것입니다. 이때 서버를 클러스터링 하기 위해서는 많은 작업이 필요합니다. 서버끼리 커넥션문제 그리고..

Docker 2023.05.31

도커와 컨테이너 생태계

도커와 컨테이너 생태계 2016년 도커 사는 컨테이너 기술이 특정 벤더 또는 회사에 의존적으로 개발되지 않도록 중립적인 입장에서 컨테이너 표준을 정의하는 OCI(오픈 컨테이너 계획) 을 발표했습니다. OCI에서는 컨테이너를 구성하기 위해 공통적으로 구현돼야 하는 런타임 및 이미지 스펙의 표준을 정의하고 있으며 2020년 까지는 도커 컨테이너를 포함한 여러 컨테이너 기술이 OCI를 준수하고 있습니다. OCI가 발표된 이후 Moby라는 큰 프로젝트 안에서 도커 컨테이너 기술을 관리하기 시작했고 도커는 runC, containerd 그리고 도커 엔진으로 분리 됐습니다. 도커의 핵심 프로세스라고 하면 보통 도커데몬을 떠올리기 쉽지만 사실 도커 데몬은 컨테이너가 아닙니다. 실제 컨테이너 프로세스라고 부를 수 있을..

Docker 2023.05.31

백터 데이터베이스 개념

백터 데이터 베이스는 복합 비 정형 데이터를 임베딩으로 변환하여서 유사도에따라 사용자의 쿼리를 유추해서 데이터를 조회하는 데이터베이스입니다.뉴럴네트워크가 발달되면서 복합 비정형 데이터를 임베딩으로 빠르고 정확하게 변환할 수 있게됐습니다. 즉 어떠한 데이터가 들어오면 숫자로 변환한 다음 벡터형태로 변환하여서 저장할 수 있게 된것입니다.  딥 러닝 모델에 의한 임베딩 이후 시각화 한 데이터의 결과를 보면 비슷한 데이터끼리 응집돼 있는 결과가 나온 것을 발견했고, 기존의 key:value기반의 DB를 쓰자니 속도도 느리고 위 경우에 가장 적합한 데이터베이스를 찾은것이 백터 데이터베이스입니다.   Vectorizers임베딩된 데이터에서 새로운데이터가 임베딩되서 들어왔을때 두가지 속성을 가진 아티클을 추가하게되면..

DB 2023.05.24

Linear Regression 개념

Linear Regression 어떠한 Regreassion 모델이 어떠한 트레이닝 데이터를 통해서 학습을 했을때 해당 regression은 어떠한 예측을 실행할때 학습된데이터를 토대로 결과를 도출해 냅니다. 이러한 백터데이터를 통해 학습을 할때는 어떠한 하나의 가설을 새울 필요가 있습니다. 해당 가설을통해서 데이터를 평가하는 것이 Linear Regression입니다. 이 가설에 대한 예를 들자면 어떠한 운동선수가 훈련시간이 길수록 결과가 좋아진다. 혹은 공부한 시간이 길수록 성적이 좋다. 등이 있겠습니다. 백터에서 선을 그으면서 데이터에 가장 근접한 값을 찾는 것입니다. 이를 수학적인 수식이 H(x) = Wx + b 입니다. H(x)는 우리가 설정한 가설이 되는 것이고, W와 b에 따라서 백터위에 여..

머신러닝 2023.04.16