TIL
-
2024.11.28 System Design Of InstagramTIL 2024. 11. 28. 23:50
System Design Of InstagramInstagram is a free photo and video sharing app available on iPhone and Android. People can upload photos or videos to our service and…medium.com인스타 시스템 디자인이다.MSA로 되어있는데 목적에 맞게 데이터 저장 매체가 다르다. 검색은 일라스틱 서치로, 포스트는 카산드라로, 유저정보는 RDS에.. 이런 식으로 저장된다.음 항상 RDS를 중심으로 했었는데 데이터의 양을 중심으로 생각하면 당연한 선택으로 생각된다.공통된 key 값만 있으면 정보는 조회가 가능하니 좋은 선택이다.이전에 트위터 시스템 디자인에서 설명했던 유명인 문제도 비슷하게 처리한다..
-
2024.11.17 dbTIL 2024. 11. 17. 22:08
https://velog.io/@yyong3519/RDS-Slow-%EC%BF%BC%EB%A6%AC-Slack%EC%9C%BC%EB%A1%9C-%EC%95%8C%EB%9E%8C-%EB%B3%B4%EB%82%B4%EA%B8%B0 Mysql Slow 쿼리 Slack으로 알람 보내기출처 글 작성 계기 1. Slow Log 남기기 2. Lambda 3. CloudWatch & Lambda 연동velog.io https://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_db&wr_id=225714 WWW.PHPSCHOOL.COM개발자 커뮤니티 1위 PHPSCHOOL.COM 입니다.www.phpschool.com https://jungseob86.tistory...
-
2024.11.16 pinterest shardingTIL 2024. 11. 17. 21:17
https://medium.com/pinterest-engineering/sharding-pinterest-how-we-scaled-our-mysql-fleet-3f341e96ca6f Sharding Pinterest: How we scaled our MySQL fleetThis is a technical dive into how we split our data across many MySQL servers. We finished launching this sharding approach in early 2012, and it’s still the system we use today to store our core…medium.com 이전에 pinterest sharding관련 글도 읽었었는데요. 20..
-
2024.11.08 Meta cache, AOPTIL 2024. 11. 8. 22:42
https://moonsub-kim.github.io/docs/meta/cache-made-consistent-metas-cache-invalidation-solution/ Cache made consistent: Meta’s cache invalidation solutionMeta의 Cache made consistent: Meta’s cache invalidation solution 을 번역한 글 입니다.moonsub-kim.github.iohttps://engineering.fb.com/2022/06/08/core-infra/cache-made-consistent/ Cache made consistentCaches help reduce latency, scale read-heavy workloads..
-
2024.11.07 meta cacheTIL 2024. 11. 7. 23:19
https://www.imayanks.com/blogs/how-meta-improved-cache-consistency How meta improved their cache consistency to 99.99999999Mayank Sharma How meta improved their cache consistency to 99.99999999 Introduction Caching is a powerful technique used across various aspects of computer systems, from hardware like caches to operating systems, web browsers, and especially backend develowww.imayanks.com아직 ..
-
2024.11.05 uuidTIL 2024. 11. 6. 00:45
Should You Use UUIDs for Database Keys?UUIDs offer uniqueness in databases but come with performance costs. Learn when to use them, their drawbacks, and alternatives loved by…medium.comuuid가 많은 저장공간, index로 사용, 사입할 때 정렬로 인한 성능저하.uuidv7이란 게 있구나. 이걸 사용하면 time base로 정렬이 가능하다. 또 ulid도 있는데 이건 사전식 정렬이 가능하고.근데 128비트니까 칼럼 조회하고 쿼리의 성능이 다른 것보다는 안 좋을 수 있다. 정렬할 때 많은 메모리를 잡아먹기도 하고. 근데 분산 시스템이 아니면 auth increm..
-
2024.11.04 rate limiting systemTIL 2024. 11. 5. 00:10
https://levelup.gitconnected.com/system-design-rate-limiting-system-with-bloom-filters-f540f19152ef System Design: Rate Limiting System ⏳🚦 with Bloom FiltersDesigning an Efficient Rate Limiting System with Bloom Filters, Count-Min Sketches, and Sliding Windows for Scalable Traffic Controllevelup.gitconnected.com bloom filter로 rate limit를 구현했다.일단 ip기반으로만 rate limit를 할 거면 LB로도 충분하지 않을까 싶다.유저의 정보나..
-
2024.11.01 Query tuningTIL 2024. 11. 2. 00:18
[Backend Interview Qn] Which Data Structure Does SQL Tables Use To Store Data?If you’re interviewing for a backend position dealing with lots of data, your interview might ask you this question.levelup.gitconnected.com 글에서는 tree 구조인지 모르고 해쉬 맵이나 리스트이줄 알았다고 한다.mysql의 스캔을 보면 결구 노드에서 포함되는 범위를 체크하고 자식 노드로 가는 찾아가는 것이다.uk는 스캔 중에 첫 번째 값이 나오면 찾는 거 종료고, 나머지 인덱스는 다음 값이 조건에 맞지 않으면 종료고.인덱스 풀스캔과 테이블 풀스캔은 비슷하면..