개발하면서/타인글보면서
-
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..
-
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: ..
-
Tapjoy에서 실시간으로 중복 제거하기개발하면서/타인글보면서 2017. 8. 2. 21:29
메시지 전송은 3가지 타입이 존재한다. at-most-once at-least-once at-exactly-once at-most-once은 유실이 있어도 괜찮을 때 사용하고 대부분 at-least-once(유실은 없지만 중복 존재)를 사용한다. 하지만 메시지 처리된 결과가 고객의 돈과 관련된 경우(금융, 광고 집행비 등) at-least-once로 메시지 전송이 이루어진다면 회사 운영에 큰 어려움이 생길 것이다. 개발자 유우머에도 있는 메시지 전송 타입 https://twitter.com/mathiasverraes/status/632260618599403520 Mathias Verraes on Twitter “There are only two hard problems in distributed syst..
-
[Redis] Hacking Strings개발하면서/타인글보면서 2012. 7. 31. 18:39
https://redis.io/topics/internals-sds Hacking Strings Redis에서 사용하는 strings는 sds.c에 구현되어 있습니다. (sds는 Simple Dynamic String의 약자다) sds.h에 sdshdr C 구조체로 정의되어있습니다. struct sdshdr { long len; long free; char buf[]; } character형 배열 buf는 실제 문자열이 저장되는 공간입니다. len은 buf에 실제로 저장된 문자열 길이를 저장하고 있고, 이 필드로 인해 문자열의 길이를 조회하는 건 O(1)로 할 수 있습니다. free는 buf에서 추가적으로 사용 가능한 공간을 저장합니다. len과 free 필드는 buf의 메타데이터를 저장하고 있다고 생각..
-
Kernel Coding style개발하면서/타인글보면서 2012. 3. 21. 06:04
이번 포스트는 직독직해를 한게 아니라 내용중에 제가 필요한 부분만 적어보았습니다. 요새 고민하는게 있습니다. 무언가 배울때 생각하면서 배워야한다는점. 무조건 배우려고 하는건 아닌것같아요 : ) 이게 내가 능력도 안되는데 마냥 하고싶은건가, 해야되는건가, 하면 좋은건가! 뭐 이런 생각들이요 ㅎㅎ 잘못 썼거나 추가하면 좋은 글이 있다면 알려주시면 감사하겠습니다. Kernel Coding style 1. indentation 탭은 8글자, identation도 8글자 누군가는 8글자가 너무 오른쪽으로 치우지게 하는것 아니냐고 불평할수도 있다. 깊이 {, }가 3 이상일때 그렇게 되는데 해주고 싶은 말은, 프로그램을 고쳐라. (depth가 3 이상인건 잘못됐다는뜻;; 난 여차하면 4이상인데.....후덜덜) 한줄..