본문 바로가기
반응형

분류 전체보기205

[9] 집계 - 버킷 집계 버킷 집계 버킷 집계는 문서 세트를 버킷으로 분류합니다. 버킷 집계 유형은 주어진 문서가 버킷에 속하는지 여부를 결정합니다. :: terms terms 집계는 각 고유한 terms필드에 대한 버킷을 동적으로 생성합니다. // 아래 예시는 웹 로그 데이터의 응답 코드 별 문서의 수를 찾아서 집계합니다. GET opensearch_dashboards_sample_data_logs/_search { "size": 0, "aggs": { "response_codes": { "terms": { "field": "response.keyword", "size": 10 } } } } // 응답 예시 ... "aggregations" : { "response_codes" : { "doc_count_error_upper_.. 2022. 3. 13.
[8] 집계 - 메트릭 집계 메트릭 집계를 사용하면 필드의 최소값 최대값 및 평균값 찾기와 같은 간단한 계산을 수행할 수 있습니다. 메트릭 집계에는 단일 값 메트릭 집계와 다중 값 메트릭 집계의 두 가지 유형이 있습니다. 단일 값 메트릭 집계 단일 값 메트릭 집계는 단일 메트릭을 반환합니다. 예를 들어, sum, min, max, avg, cardinality, value_count가 있습니다. 다중 값 메트릭 집계 둘 이상의 메트릭을 반환합니다. 예: stats, extended_stats, matrix_stats, percentile, percentile_ranks, geo_bound. top_hits, scripted_metric :: sum, min, max, avg // taxful_total_price 필드의 총 합계를 .. 2022. 3. 10.
[7] 인덱스 템플릿 인덱스 템플릿을 사용하면 이미 정의된 mappings와 settings 그대로 새 인덱스를 초기화할 수 있다. 예를 들어, 지속적으로 인덱싱하는 log data라면, 이런 모든 index가 동일한 수의 샤드와 복제본을 갖도록 인덱스 템플릿을 정의할 수 있다. // Index Template 생성 예시 PUT _index_template/daily_logs // daily_logs라는 이름을 가진 템플릿 생성 { "index_patterns": [ "logs-2022-01-*" ], "template": { "aliases": { "my_logs": {} }, "settings": { "number_of_shards": 2, "number_of_replicas": 1 }, "mappings": { "pro.. 2022. 3. 2.
[6] 데이터 스트림 로그, 이벤트 및 메트릭과 같은 지속적으로 생성되는 시계열 데이터를 수집하는 경우, 문서의 수가 급격하게 증가하고 이전 문서를 업데이트할 필요가 없는 경우가 있을 때가 있습니다. 데이터 스트림은 타임스탬프 필드가 있는지 확인하고 시계열 데이터에 가장 적합한 설정을 시행합니다. 내부적으로 여러 backing 인덱스로 구성되는데, 검색 요청은 모든 backing 인덱스에 라우팅 되는 반면에 인덱싱 요청은 최신 쓰기 인덱스로 라우팅됩니다. ISM 정책을 사용하면 인덱스 롤오버 또는 삭제를 자동으로 처리할 수 있습니다. :: 인덱스 템플릿 만들기 데이터 스트림을 생성하려면 먼저 인덱스 세트를 데이터 스트림으로 구성하는 인덱스 템플릿을 생성해야 합니다. data_stream 객체는 일반적인 인덱스 템플릿이 아닌 .. 2022. 2. 25.
HTTPS의 통신과정 HTTPS란? HTTPS는 월드 와이드 웹 통신 프로토콜인 HTTP의 보안이 강화된 버전이다. HTTPS는 소켓 통신에서 일반 텍스트를 이용하는 대신에, SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화하여 데이터의 적절한 보호를 보장한다. 통신 과정 1. 클라이언트에서 서버로 연결을 시도하는 패킷을 전송한다. Client가 사용가능한 Cipher suite 목록이 포함되어있다. 어떤 프로토콜(TLS/SSL)을 사용할지, 인증서 검증 또는 데이터를 어떤 방식으로 암호화할지 등이 표시된다. 2. 클라이언트에게서 받은 패킷에 대해 서버가 응답을 한다. 여기에는 클라이언트에게서 받은 Cipher suite 중 하나를 보낸다. 3. 2번 패킷 외에도 인증서에 대한 패킷을 보낸다. 인증서는 서버가 발급받은 .. 2022. 2. 23.
[5] 인덱스 별칭 (aliases) 별칭은 하나 이상의 인덱스를 가리킬 수 있는 가상 인덱스 이름입니다. 데이터가 여러 인덱스에 분산되어 있는 경우 쿼리할 인덱스를 추적하는 대신 별칭을 만들어 쿼리할 수 있습니다. 에를 들어, 월 단위 로그를 인덱스에 저장하고 이전 2개월 동안 로그를 자주 쿼리하는 경우 'last_2_months'라는 별칭을 만들고 매달 업데이트 할 수 있습니다. 별칭이 가리키는 인덱스는 언제든지 변경할 수 있으므로 별칭을 사용하여 인덱스를 참조하면 다운타임 없이 데이터를 다시 인덱싱할 수 있습니다. :: 별칭 만들기 // 별칭을 만들때 POST 요청을 사용합니다. POST _aliases // 아래는 actions를 사용하여 'alias1'이라는 별칭을 만들고 'index-1'을 이 별칭에 추가하는 요청이다. POST .. 2022. 2. 22.
OSI 7계층 물리 계층 전기적인, 기계적인 신호를 주고 받는 역할을 하는 계층. 네트워크의 기본 네트워크 하드웨어 전송 기술을 이룬다. 비트의 0, 1의 단위로 통신한다. 이 계층에 속하는 대표적인 장비는 통신 케이블, 허브, 리피터 등이 있고, 데이터의 종류나 오류를 제어하지 않는다. 데이터 링크 계층 P2P간의 신뢰성 있는 전송을 보장하기 위한 계층이다. 전송 데이터에 대한 CRC 오류제어와 흐름제어가 필요하다. 네트워크 위의 개체들 간 데이터를 전달하고 물리 계층에서 발생할 수 있는 오류를 찾아내고 수정하는데 필요한 기능적, 절차적 수단을 제공한다. 주소 값은 물리적으로 할당 받는데, 네트워크 카드가 만들어질 때부터 맥 주소가 정해져 있다는 뜻이다. 네트워크 브릿지나, 스위치 등이 이 계층에서 동작하며 직접 이.. 2022. 2. 21.
SOLID (객체 지향 설계) SOLID 원칙들은 소프트웨어 작업에서 프로그래머가 소스 코드가 읽기 쉽고 확장하기 쉽게 될 때까지 소프트웨어 소스 코드를 리팩터링하여 코드 냄새를 제거하기 위해 적용할 수 있는 지침이다. S ( Single responsibility principle ) 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 그리고 그 책임을 완전히 캡슐화해야 한다. 이것은 클래스를 더욱 튼튼하게 만들기 위함이다. 만약 한 클래스가 여러 책임을 가지고 있다면 수정 과정에서 같은 클래스의 일부 출력 코드가 망가질 위험이 대단히 높다. 클래스는 설계도 도면과 마찬가지이다. 자동차 설계도에서 자동차를 만드는 방법만 가지고 있어야하지 완전히 다른 것을 만드는 방법까지 가지고 있을 필요도 없고 가지고 있어서도 안된다. O (.. 2022. 2. 21.
[4] 인덱스 데이터 OpenSearch에는 인덱스 API와 _bluk API 두 가지가 있다. 새로운 데이터가 점진적으로 ( 소규모 비즈니스의 고객 주문 등 ) 쌓이는 구조의 경우 인덱스 API를 사용하여 개별적으로 문서를 추가할 수 있다. 데이터의 흐름이 더욱 천천히 쌓이는 경우 ( 마케팅 웹사이트에 대한 주간 업데이트 등 ) 파일을 생성하여 _bluk API로 보내는 것이 좋습니다. 많은 수의 문서에 대해 함께 묶어서 _bluk API를 사용하면 우수한 성능을 제공 받을 수 있습니다. 하지만 문서가 그보다 방대하다면 개별적으로 인덱스를 생성하는 것이 좋습니다. 데이터를 검색하려면 먼저 인덱스를 생성해야 합니다. OpenSearch는 고유 ID를 사용하여 각 문서를 식별합니다. // Index API 요청 PUT /_do.. 2022. 2. 18.
반응형