DB
-
[KAFKA] CommitFailedExceptionDB/Kafka 2022. 12. 28. 16:10
카프카 오류 Synchronous auto-commit of offsets {topic-2=OffsetAndMetadata{offset=96, leaderEpoch=0, metadata=''}} failed: Offset commit cannot be completed since the consumer is not part of an active group for auto partition assignment; it is likely that the consumer was kicked out of the group. 위와 같은 오류가 발생해서 찾아보니 다음과 같다. Kafka에서 CommitFailedException이 나오는 유형은 아래와 같다. consumer 로직의 처리시간이 max.poll.int..
-
[ELK] logstash filter grok 사용DB/Elasticsearch 2022. 12. 18. 22:36
https://logz.io/blog/logstash-grok/ A Beginner’s Guide to Logstash Grok | Logz.io Logstash Grok plays a crucial part in the logging pipeline. Here's how to get started and construct filters for Syslog, Apache, and Elasticsearch. logz.io https://www.elastic.co/kr/blog/a-practical-introduction-to-logstash A Practical Introduction to Logstash Elastic Stack은 가능한 한 쉽게 Elasticsearch에 데이터를 수집할 수 있도록 해 ..
-
[KAFKA] 카프카 producer configurationDB/Kafka 2022. 7. 20. 19:28
acks 란 acks는 acknowledgments의 약자로 사전에서 찾아 보면 "승인", 확인 프로듀서가 메시지를 보내고 그 메시지를 카프카가 잘 받았는지 확인을 할 것인지 또는 확인을 하지 않을 것인지를 결정하는 옵션 acks 옵션 OPTION 손실율 속도 DESCRIPTION acks = 0 상 상 프로듀서는 자신이 보낸 메시지에 대해 카프카로부터 확인을 기다리지 않는다. acks = 1 중 중 프로듀서는 자신이 보낸 메시지에 대해 카프카의 leader가 메시지를 받았는지 기다립니다. follower들은 확인하지 않습니다. leader가 확인응답을 보내고, follower에게 복제가 되기 전에 leader가 fail되면, 해당 메시지는 손실될 수 있다. acks = all(-1) 하 하 프로듀서는 ..
-
[Elasticsearch] 엘라스틱서치 bool query 사용DB/Elasticsearch 2021. 6. 29. 18:33
query_string 쿼리는 여러 조건을 조합하기에는 용이한 문법이지만 옵션이 한정되어 있다. 여러 쿼리를 조합하기 위해서는 상위에 bool 쿼리를 사용하고 그 안에 다른 쿼리들을 넣는 식으로 사용 가능하다. bool 쿼리는 4개의 인자를 가지고 있고, 그 인자 안에 다른 쿼리들을 배열로 넣는 방식으로 동작한다. must : 쿼리가 참인 도큐먼트들을 검색 must_not : 쿼리가 거짓인 도큐먼트들을 검색 should : 검색 결과 중 이 쿼리에 해당하는 도큐먼트의 점수를 높인다 filter : 쿼리가 참인 도큐먼트를 검색하지만 스코어를 계산하지 않는다. must 보다 검색 속도가 빠르고 캐싱이 가능. GET /_search { "query": { "bool": { "must": [ { }, … ], ..
-
[mysql] 특정문자를 상위로 정렬하기(order by 특정값 정렬)DB/MySql 2021. 2. 11. 23:04
1. ORDER BY FIELD() 를 사용하여 '자전거'가 첫번째, '비행기'가 두번째, 그외 나머지는 오름차순으로 정렬하기 SELECT product_name FROM COIN ORDER BY FIELD(product_name, '자전거', '비행기') DESC, product_name ASC - FIELD 함수의 첫번째 파라미터에 정렬할 컬럼을 넣고, 그 이후 파라미터엔 우선적으로 정렬할 값들을 역순으로 넣어준다. 그리고 FIELD 함수를 DESC정렬 시켜주면 된다. - 원리는 FIELD 함수를 사용하면 첫번째 파라미터의 값과 같은 값이 그 이후 파라미터의 몇번째에 있는지 index값을 반환한다. 즉 이후 파라미터의 첫번째에 있는 '자전거'는 1이 반환되고, 두번째에 있는 '비행기'는 2가 반환이 ..
-
몽고디비 인덱스 생성 확인 및 취소하기 - 인덱스 생성전에 미리 알자DB/MongoDB 2021. 2. 4. 18:49
몽고디비 조회 속도가 너무 느려져서 인덱스를 추가했다. 추가하는데 엄청난 시간이 들지 예상하지 못해, 생성문을 실행했는데, 이게 실행이 되지 않아 당연히 클라이언트에서 실행중 수행시간이 길어져 프로세스가 꺼진줄 알고 그냥 뒀다. robo 3T 라는 툴에서는 프로세스가 15초 이상 실행되어 실행되지 않는다~ 뭐 이런 식의 문구가 떠서 끄면 작업이 끝난줄 알았다. 그런데 이게 최초에 foreground 로 돌리던게 돌아갔던건지 background 로 돌리던게 돌아가는건지 몽기DB 쓰기 수행작업이 lock 이 걸렸습다. 백그라운드로 돌렸어도 전체에 락이 걸렸을거 같은데 확실치 않다. 인덱스 생성 명령어를 수행한지 2시간이 지나도 lock 이 안풀려있엇어서 서비스 병목 현상때문에 알게 되었다. 나중이 되서야 인..
-
[MongoDB] 몽고디비 인덱스 설명 및 생성DB/MongoDB 2020. 12. 17. 17:41
Index 란 DB의 검색을 빠르게 하기 위해 미리 데이터의 순서를 정리해두는 과정 Index는 MongoDB에서 데이터 쿼리를 더욱 효율적으로 할 수 있게 해준다. 인덱스가 없이는, MongoDB는 collection scan – 컬렉션의 데이터를 하나하나 조회 – 방식으로 스캔을 하게 된다. 모든 도큐먼트를 스캔해야되는 비효율성을 줄임 한 쿼리당 하나의 index 만 유효하다. 두개의 index가 필요하다면 복합 index를 사용하면 된다. * B트리 : 내부적으로 B-Tree 알고리즘을 이용하여 인덱스를 구성한다. 사용시 주의할 점 : 모든 인덱스를 갱신해야 하기 떄문에 모든 쓰기 작업은 인덱스 때문에 더 오래 걸림 : Collection 당 최대 64개까지 인덱스를 지닐수있지만, 2~3개만 지니는..