분류 전체보기
-
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 값만 있으면 정보는 조회가 가능하니 좋은 선택이다.이전에 트위터 시스템 디자인에서 설명했던 유명인 문제도 비슷하게 처리한다..
-
Sharding 만들어보기글또 2024. 11. 24. 17:11
들어가며 안녕하세요.최근 Pinterest의 샤딩 관련 글을 읽고 흥미로운 점들이 많아 이를 계기로 샤딩에 대해 더 공부하게 되었습니다.이 과정에서 우아한형제들의 기술 블로그 글도 접하게 되었고, 글에 소개된 코드를 바탕으로 직접 따라 만들어 보았습니다.이 글은 샤딩에 대한 소개, 우아한형제들의 글 분석, 그리고 Pinterest의 글 분석 순으로 구성되어 있습니다. 샤딩(Sharding) 샤딩이란 무엇이며, 언제 필요할까? 서비스를 장기간 운영하거나 폭발적인 성장을 경험하면 데이터베이스(DB)에 저장된 데이터의 양이 급격히 증가합니다. 데이터가 많아지면 DB의 쓰기, 읽기 속도가 느려지고, 저장 용량 부족과 네트워크 병목 같은 문제가 발생할 수 있습니다. 이를 해결하기 위해 선택할 수 있는 확장 ..
-
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. 9. 21:59
이 글은 아래의 글을 바탕으로 작성하였습니다. Design a Real-Time Leaderboard system for millions of usersUnpacking Challenges, Assumptions, and the Scope of Real-Time Leaderboard Designmedium.com 들어가며 안녕하세요. 오늘은 Medium 글에서 흥미로운 주제를 발견하여 직접 따라 해보고, 이에 대해소개하고자 합니다. 이번에 다룰 주제는 게임이나 검색어 분야에서 흔히 사용되는 '랭킹 시스템 구축'입니다.게임 유저의 점수를 실시간으로 수집하여 랭킹을 보여주는 시스템을 설계하고 이를 유저에게 보여줘야합니다. 이 과정을 통해 랭킹 시스템 설계의 핵심 개념과 실제 구현 방법에 대해 설명하겠습니..
-
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..