개발하면서
-
ES hot-warm, Rollout, Shrink 알아보기개발하면서/영어하면서 2019. 10. 27. 00:52
회사에서 ES도 다루고 있는데 초반에는 별다른 관리 없이도 문제가 없었는데 인입되는 양이 점점 많아지면서 인덱스 관리가 필요했고, 그때 알아본 키워드가 hot-warm architecture, rollover, shrink 였습니다. 급한 불을 끈 후 위 링크는 에버노트 깊은 곳에 저장하고 있다가... 올해 더 많은 데이터 인입이 계획 되어있어서, 아... 학습 좀 하고 적용해야겠다는 생각에 리서치를 시작했습니다. ES 공식 블로그 문서를 읽고 직역 비스므리한 정리를 하였습니다. ES 공식 블로그 - Hot Warm Architecture https://www.elastic.co/kr/blog/hot-warm-architecture-in-elasticsearch-5-x?fbclid=IwAR0gajLECY..
-
Kafka 스키마 관리, Schema Registry개발하면서/코드보면서 2019. 8. 26. 00:56
Why? Apache Kafka® is a distributed streaming platform. Apache Kafka 페이지에 들어가면 볼드체로 가장 먼저 보이는 문장입니다. 카프카는 메시지 브로커 역할을 굉장히 잘해주는데요 , 주고받는 메시지의 유효성 검사(?)는 하지 않습니다. 보내면 받은 대로 저장하고 달라면 저장된 데이터를 주는 역할만 하죠. Consumer 입장에서는 받은 메시지가 어떤 내용인지 알아야 파싱 하고 적절한 로직을 실행할 텐데 Kafka는 이를 보장하지 않으니 Producer, Consumer 개발하는 쪽에서 서로 약속하고 메시지를 주고받아야 합니다. 그래서 csv, xml, json 같은 데이터 포맷을 적용해서 메시지를 주고받습니다. 하지만 이것도 불안한 점이 있습니다. Pr..
-
Kafka Consumer Lag 모니터링, Burrow를 알아보자 (2)개발하면서/코드보면서 2019. 8. 21. 01:09
이전 포스트에서 Burrow의 기본 구조와 Consumer group list 관리가 어떻게 되고 있는지 알아보았습니다. 이번에는 Burrow의 모듈 중 storage, evaluator를 알아보겠습니다. storage는 Burrow에서 수집하는 데이터(Topic/Consumer 정보) 저장/조회 역할을 담당하고 있습니다. evaluator는 Consumer Offset/Lag을 지켜보면서 Consumer Group의 상태를 판단하는 역할을 합니다. Topic/Partition 상태를 판단해서 가장 안 좋은(?) 상태가 Consumer Group의 상태가 됩니다. storage storage는 카프카의 topic, offset, consumer offset 정보를 저장/조회 역할을 하는 모듈입니다. Bu..
-
Kafka Consumer Lag 모니터링, Burrow를 알아보자 (1)개발하면서/코드보면서 2019. 5. 28. 09:34
카프카 모니터링을 적용 하다보면 브로커는 JMX만으로 충분하지만 Producer나 Consumer는 까다롭습니다. https://docs.confluent.io/current/kafka/monitoring.html#server-metrics Monitoring Kafka — Confluent Platform Version 5.2.1 Docs Administer » Kafka Operations » Monitoring Kafka View page source Monitoring Kafka Apache Kafka® brokers and clients report many internal metrics. JMX is the default reporter, though you can add any pluggab..
-
Improving key expiration in Redis를 읽고개발하면서/영어하면서 2019. 4. 21. 14:04
https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/improving-key-expiration-in-redis.html Improving Key Expiration in Redis After updating to a new Redis version the Cache team saw a regression. This goes over the investigation and our conclusions. blog.twitter.com 얼마 전 Twitter 블로그에 Redis expire 기능을 개선했다는 글이 올라와 주말 동안 읽고 정리하고자 합니다. 블로그 요약(?)만 하려고 했는데 3.2 activeExpireCycle 함수에 ..
-
Parquet 파일 잘 써보기개발하면서/영어하면서 2018. 12. 2. 17:36
https://www.dremio.com/tuning-parquet Dremio is the Data-as-a-Service Platform. Get more value from your data, faster. Dremio makes your data engineers more productive, and your data consumers more self-sufficient. www.dremio.com Parquet 파일 하나는 1개 이상의 Row group이 있고 Row group은 Column 별로 저장되어있다. Row group 크기를 크게 하면 Column 데이터가 연속적으로 저장이 되는 부분이 커져 연산 속도나 압축 효율이 좋아진다. 하지만 Disk block 크기까지 고려한다면…. A: ..
-
Go 명분 찾기개발하면서/etc 2017. 10. 26. 19:36
Go에 관심을 갖은 건 2012년 정도로 생각된다. 하지만!! 지금까지 Go 관련 글을 Evernote나 workflowy에 저장만 하고 딱히 Go를 이용해서 뭘 만들어 보지도 않을뿐더러 문법도 애매하게 안다... 지금까지 행동 없이 관심만 가지고 지내면서 너무나 무뎌진 나의 개발 능력을 체감했고, 날카롭게 만들고 싶었다. (물론 무뎌짐을 느낀게 처음은 아니지만 이번엔 세게 왔다. 결심은 큰 의미 없으니 어느 정도 생각이 잡히면 바로 행동) 우선 내가 날카롭게 만들고 싶은게 무엇인지 적어보면 다양한 데이터를 손쉽게 수집하기, 수집한 데이터와 사용 용도에 적합한 DB solution을 찾을 줄 알고, 장/단 점 파악 및 설정 값들이 어떤 의미가 있는 정도, 마지막으로 저장된 데이터를 쉽게 관리할 수 있는 ..
-
RethinkDB shutdown 관련 글을 읽으면서개발하면서/etc 2017. 2. 5. 22:07
평소 데이터 저장소 관련해서 CockroachDB, ArangoDB와 RethinkDB를 관심있게 보고 있었습니다. CockroachDB는 확장성과 Consistency를 ArangoDB는 다양한 모델 지원(K-V, Doc, Graph), RethinkDB는 real time 을 무기로 본인들의 DB가 좋다고 내세웠다. (순전히 저의 생각이에요.) 어느날 RethinkDB가 shutdown 했다는 트윗을 보게 되었습니다. 기술적으로 꽤 괜찮았다고 생각했는데 어떤 이유로 문을 닫는지 궁금해서 관련 글을 찾아보게 되었습니다. 부족한 영어지만 찾은 글들을 정리해보려고 합니다. https://rethinkdb.com/blog/rethinkdb-shutdown/공식 홈페이지 블로그에 올라온 shutdown 된다는..