일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- dbeaver
- redis
- vavr
- 아이온큐
- api cache
- Analyzer
- mysql
- TSLA
- JPA
- 양자컴퓨터
- KNN
- 테슬라
- Cache
- Selenium
- aggs
- IONQ
- java
- request cache
- NORI
- elasticsearch cache
- Docker
- Query
- file download
- aqqle
- ann
- API
- Aggregation
- Elasticsearch
- Elastic
- java crawler
- Today
- Total
목록분류 전체보기 (169)
아빠는 개발자
이게 나를 요즘 .. 힘들게 한다... 데이터 노드의 구성은 1서버 1노드 1샤드 primary 3 , replica 1 어느부분이 문제를 일으키는지는 알고 있다. 제거 하고 다시 실행, 하지만 이 로직을 뺄수는 없다.. 문제를 일으키는 로직은 검색결과에서 집계를 통해 필터를 만들어 내는 로직 이 로직을 파보니 query_cache 가 특정샤드에서만 상대적으로 적게 생성이 된다. 집계를 통한 필터 생성이여서 request cache 가 먹혀야 하는 구조였는데 아무튼 마지막 구간에서 엄청나게 안정적인 흐름을 보이는.. 그럼 다시 널뛰는 cpu 로 만들어 놓고 해결방법try 1- cpu 는 트래픽이 적을땐 저렇게 하나만 튀는 현상이 없었다. redis cache 를 사용해서 트레픽..
난 샤드 크기와 도큐먼트 사이즈가 알고싶다. kibana 명령어 GET /_cat/shards?v&h=index,shard,prirep,state,docs,store,node 결과
뭐 대충 이런느낌 이랄까트래픽이 왔을때 8core 16Gb 로 띄운 X 6대의 data node prd data copy index 0710 (운영데이터) alias 변경local api (Local to ES)200건/초중복제거키워드 (10,000 x 2)sleep 0.3초최초 1회 es cache 초기화 후 실행이렇게 테스트 하면 저런 결과가 나온다. 샤드 구성도 맞춰놓고 샤드 구성 변경 reroute api POST _cluster/reroute{ "commands": [ { "move": { "index": "prd-ds-item-20240710", "shard": 1, "from_node": "node-qa-totalsearch-data-..
Elasticsearch에서 검색 쿼리가 유입되었을 때, 샤드 검색 순서는 다음과 같은 단계로 진행됩니다:쿼리 수신: 클라이언트가 검색 쿼리를 보내면, 해당 쿼리는 클러스터의 코디네이터 노드(요청을 받은 노드)로 전달됩니다. 이 노드는 검색 요청을 처리할 책임을 집니다.샤드 선택: 코디네이터 노드는 검색해야 할 샤드를 선택합니다. Elasticsearch는 프라이머리 샤드와 레플리카 샤드 중 하나를 선택하여 검색을 수행할 수 있습니다. 기본적으로 Elasticsearch는 프라이머리 샤드와 레플리카 샤드 간에 부하를 균등하게 분산시키기 위해 라운드 로빈 방식으로 샤드를 선택합니다.쿼리 분산: 코디네이터 노드는 검색 쿼리를 선택된 샤드로 분산시킵니다. 이 샤드는 프라이머리 샤드일 수도 있고, 레플리카 샤드..
레플리카 샤드가 많으면 검색 성능이 좋아지는 이유는 다음과 같은 여러 가지 요인에 기인합니다:1. 병렬 처리 증가레플리카 샤드가 많으면, 동일한 데이터에 대해 여러 샤드가 동시에 검색 쿼리를 처리할 수 있습니다. 이는 병렬 처리를 증가시켜 전체 검색 시간을 줄여줍니다. 예를 들어, 3개의 프라이머리 샤드와 3개의 레플리카 샤드를 갖고 있다면, 총 12개의 샤드(3 프라이머리 + 9 레플리카)가 동시에 검색 쿼리를 처리할 수 있습니다.2. 부하 분산레플리카 샤드가 많으면 검색 요청이 클러스터 내 여러 노드로 분산됩니다. 이는 특정 노드에 검색 요청이 집중되는 것을 방지하고, 클러스터 전체에 부하를 고르게 분산시켜 각 노드의 성능을 최적화합니다. 부하 분산이 잘 되면, 개별 노드의 CPU 및 I/O 사용량이..
6개의 data 노드구성에서 primary 샤드 3 replica 샤드 1 로 했을때와 primary 샤드 3, replica 3으로 했을때의 차이Elasticsearch에서 클러스터를 6개의 데이터 노드로 구성할 때, 프라이머리 샤드(primary shard)와 레플리카 샤드(replica shard)의 수에 따라 검색 성능, 데이터 안정성, 리소스 사용에 차이가 발생합니다. 다음은 primary shard 3, replica shard 1 구성과 primary shard 3, replica shard 3 구성의 차이점을 비교한 것입니다.구성 1: Primary Shard 3, Replica Shard 1프라이머리 샤드: 3개레플리카 샤드: 1개장점데이터 안정성: 각 프라이머리 샤드에 대해 1개의 레플..
Elasticsearch에서 샤드(Shard)는 인덱스를 분할하여 데이터 분산 저장과 병렬 처리를 가능하게 하는 단위입니다. 샤드의 개수가 검색 성능에 미치는 영향은 다양한 요소에 따라 달라질 수 있습니다.샤드가 많을 때의 이점병렬 처리: 더 많은 샤드는 검색 쿼리를 병렬로 처리할 수 있는 기회를 제공합니다. 이는 특히 클러스터 내 여러 노드가 있을 때 검색 성능을 향상시킬 수 있습니다.데이터 분산: 데이터를 더 세분화하여 분산 저장할 수 있으므로, 각 샤드에 저장된 데이터 양이 적어지고 개별 샤드의 검색 속도가 빨라질 수 있습니다.리소스 활용: 클러스터의 리소스를 더 효과적으로 활용할 수 있습니다. 특히 여러 노드에 걸쳐 데이터가 분산될 때, 각 노드의 CPU 및 메모리 사용을 최적화할 수 있습니다.샤..
Elasticsearch 쓰기 작업의 3단계1. 조정 단계(coordination stage)2. 주 샤드 단계(primary stage)요청을 넘겨받은 이후 수행하는 작업들in-sync 복제본마스터 노드가 관리하는 작업을 복제받을 샤드 목록주 샤드는 in-sync 복제본에 병렬적으로 요청을 넘긴다.모든 복제본들이 작업을 성공적으로 수행하고 주 샤드에 응답을 돌려주면 주 샤드가 작업 완료 응답을 보낸다.3. 복제 단계(replica stage)각 in-sync 복제본 샤드는 주 샤드에게 받은 요청을 로컬에서 수행하고 주 샤드에게 작업이 완료됐음을 보고하는 단계→ 종료는 역순이다.최초 요청 받아 전달했던 노드에게 작업 완료 결과를 보내야 조정 단계가 종료된다.메세지 순서의 역전분산 환경에서 여러 작업을 병..
IonQ, 상업적 양자적 이점을 발전시키기 위한 가속화된 로드맵과 새로운 기술적 이정표 공개 메릴랜드주 콜리지파크--(비즈니스 와이어)-- 양자 컴퓨팅 산업의 선두주자인 IonQ(NYSE: IONQ)는 최근 CEO Peter Chapman, 엔지니어링 및 기술 부문 SVP Dean Kassmann, CMO Margaret Arakawa가 진행한 독점 웨비나에서 확장되고 가속화된 2025년 기술적 이정표를 공개했습니다 . IonQ는 고객에게 탁월한 상업적 이점을 제공하는 데 중요한 성능, 확장성 및 엔터프라이즈급 솔루션의 요구 사항을 충족하는 동급 최고의 양자 컴퓨터를 설계하고 구축하는 유일한 양자 컴퓨팅 회사인 이유를 확립했습니다. IonQ의 사장 겸 CEO인 피터 채프먼은 "상업적 이점을 얻기 위해서는..
Anaconda를 사용하여 가상환경을 설치하고 관리하는 과정1. Anaconda 설치Anaconda가 설치되지 않았다면 Anaconda 공식 웹사이트에서 Anaconda 배포판을 다운로드하여 설치하십시오. 설치 과정에서 기본 옵션을 선택하는 것이 일반적입니다.2. Anaconda Prompt 열기Anaconda가 설치된 후, Anaconda Prompt를 엽니다. Windows에서는 시작 메뉴에서 "Anaconda Prompt"를 검색하여 찾을 수 있습니다. MacOS나 Linux 사용자는 터미널을 열고 conda 명령어가 작동하는지 확인하십시오.3. 가상환경 생성가상환경을 생성하려면 conda create 명령어를 사용합니다. 예를 들어, "myenv"라는 이름의 Python 3.8 가상환경을 생성하려..