2023/05/22 7

[ElasticSearch] ElasticSearch 설계 (2023.03.28)

0. Table Of Contents 0. Table Of Contents 1. 설계에 반영되어야 하는 내용 2. Shard 및 Index 설계 3. Indice (ElasticSearch Data Modeling) 4. 데이터 시각화 1. 설계에 반영되어야 하는 내용 하나의 솔루션 데이터 뿐만 아니라 여러가지 솔루션의 데이터를 핸들링 할 수 있어야 한다. 불필요한 색인을 줄여 자원 사용량을 줄일 수 있어야 한다. 형태소 분석을 어떻게 할 것인지에 대한 전략을 작성할 수 있어야 한다. 2. Shard 및 Index 설계 설계시 생각해야 할 조건을 나열하면 아래와 같다.\ 이종간의 솔루션의 로그에 대해서 분석을 할 수 있어야 한다. ElasticSearch에서 권장하는 수준의 Shard 크기를 유지할 수 ..

카테고리 없음 2023.05.22

[ElasticSearch] ElasticSearch Indice에 대해 실수한 기록(2023.03.16)

0. Table Of Contents 0. Table Of Contents 1. 하고자 하였던 내용 2. 문제 분석 3. 문제 해결 4. 결론 1. 하고자 하였던 내용 ElasticSearch에 test라는 index를 생성 후, kafka consumer eachBatch 기능을 이용하여 주기적으로 document를 insert하고 있다. 이 데이터들을 이용하여 아래와 같은 효과를 내고자 한다. 실시간 데이터 모니터링 데이터 통계 ML 분석 연계 (연구가 더 필요함) 그러나 데이터를 insert 하여 모니터링 그래프를 그리는데 아래와 같은 문제가 생겼다. 2. 문제 분석 일반적인 데이터베이스의 경우, 코드 상에서 schema를 선언하거나 사전에 schema를 fix하고 작업하기 때문에 data type..

카테고리 없음 2023.05.22

[Apache Kafka] Kafka 튜닝 기록 아카이빙 (2023.05.01)

0. Table Of Content 0. Table Of Content 1. Kafka Batch data produce 도중 발생 한 문제 2. 문제를 해결하기 위해 튜닝 해야 할 파라미터에 대한 추측 3. 조치 사항 1. Kafka Batch data produce 도중 발생 한 문제 {"level":"ERROR","timestamp":"2023-04-24T08:40:10.368Z","logger":"kafkajs","message":"[Connection] Response Produce(key: 0, version: 7)","broker":"211.49.126.109:9092","clientId":"rmkr","error":"The request included a message larger tha..

카테고리 없음 2023.05.22

[Apache Kafka]Kafka Consumer Group에 대한 고찰(2023.03.30)

0. Table Of Contents 0. Table Of Contents 1. Consumer Group이란 무엇인가 2. Consumer Group이 왜 필요한가 2.1. Consumer Failover 2.2. 다수의 Instance에서의 Offset 관리 2.2.1. 독립적인 Consumer로 구성하였을 경우 2.2.2. 같은 Consumer Group의 Instance로 구성하였을 경우 3. Consumer Group과 Partition의 관계 1. Consumer Group이란 무엇인가 Consumer Group이란, Consumer Instance를 대표하는 그룹이며 아래 그림을 참조한다. Consumer (Instance) : Broker로부터 데이터를 pull 받아 처리하는 단일 proc..

IT/OpenSource 2023.05.22

[Apache Kafka] kafka topic convention에 대한 고민 (2022.12.29)

0. Table Of Contents 0. Table Of Contents 1. 발생한 이슈 사항 2. 기본적인 Kafka Topic Convention 3. 개인적으로 cut 한 생각들 1. 발생한 이슈 사항 모식도를 먼저 그려보면 아래 그림과 같다. 여러 공장에서 여러개 장비에 대한 buffer 데이터를 cluster에 전송한다. 이 때, 보낸 데이터에 대한 식별자가 필요한데 이를 topic으로 관리한다. topic convention에 대해 고민하는 도중 아래와 같은 고민이 들었다. 장비별로 topic을 생성한다 공장별로 topic을 생성한다. 이외에도 convention을 지정하기 위한 고민을 하며 들었던 생각 전체를 이 글에 적어놓고자 한다. 2. 기본적인 Kafka Topic Conventio..

IT/OpenSource 2023.05.22

[Apache Kafka] Kafka Data Ordering issue (2023.01.26)

0. Table Of Contents 0. Table Of Contents 1. 서론 2. 문제점 2.1. partition이 하나일 경우의 데이터 ordering test 2.2. partition이 복수개의 경우 2.2.1. kafka clustering 2.2.2. data ordering test 3. 문제점 분석 4. 해결법 4.1. partitioning key 4.2. sticky partition 1. 서론 현재 기획중인 데이터 파이프라인의 경우 아래와 같은 특성을 지니고 있다. 하나의 source가 아닌 다양한 환경의 source에서 데이터를 받는다. 현장 local server가 존재하지만, 통계 및 분석을 local server에서 지원하게되면 disk 및 성능 문제가 발생 할 수 있..

IT/OpenSource 2023.05.22

[MongoDB] 불필요한 index 정리 및 최적화 (2022.09.01)

0. Table Of Contents 0. Table Of Contents 1. 개요 2. 배경 지식 2.1. 인덱스 2.2. B-Tree 2.3. B-Tree에 최적화된 mongodb index 설계 2.3.1. ESR Rule 2.3.2. 왜 ESR Rule을 따라야 하는가? 3. 개선 전 DB 문제점 분석 3.1. 불필요한 인덱스 3.2. 인덱스 카디널리티 분석 3.3. ESR Rule 분석 4. 인덱스 튜닝 결과 4.1. Index Access 4.2. 카디널리티 분석 ESR Rule 분석을 통한 개선 4.3. 총평 5. 후기 및 다음 작업에 대한 예고 1. 개요 여러 서비스로 쪼개져 있는 환경에서는 각 마이크로서비스가 필요한 인덱스를 build 할 수 있다. 그러나, 인덱스를 개발자 간 상호 협..

IT/NOSQL 2023.05.22