본문 바로가기

아키텍처4

머신러닝 시스템 설계 - 이미지 검색 시스템 (feats. 핀터레스트) 이번 글에서는 머신러닝을 활용한 이미지 검색 서비스가 무엇인지 알아보고, 간단한 시스템을 설계를 합니다. 최종 시스템 설계는 글의 6. 서빙 부분을 참고해 주세요. 해당 내용은 '가상 면접 사례로 배우는 머신러닝 시스템 설계 기초' 2장 시각 검색 시스템을 참고하여 작성되었고 개인 경험을 추가하였습니다. 목차 0. 이미지 검색 시스템이란? 1. 요구사항 구체화 2. 머신러닝 작업으로 문제 구조화 3. 데이터 준비 3.1. 데이터 엔지니어링 3.2. 피처 엔지니어링 4. 모델 개발 4.1. 모델 선택 4.2. 모델 훈련 5. 평가 5.1. 오프라인 지표 5.2. 온라인 지표 6. 서빙 6.1. 예측 파이프라인 6.2. 인덱스 파이프라인 6.3. 최근접 이웃 알고리즘의 성능 7. 추가 논의 주제 마치며/Re.. 2024. 3. 31.
분산 메시지 큐 시스템 설계 1. 분산 메시지큐 주요 기능, 컴포넌트 설명과 초기 설계안 이번 글에서는 분산 메시지 큐가 무엇인지 알아보고, 분산 메시지 시스템 설계를 한다는 가정하에 요구사항을 구체화하고 초기 설계안에 대해 설명하고자 합니다. 해당 내용은 가상 면접 사례로 배우는 대규모 시스템 설계 기초 2의 4장 분산 메시지 큐를 주로 참고하여 작성되었습니다. 목차 1. 서론 1.1 분산 메시지 큐의 중요성 1.2 분산 메시지 큐의 장점 / 단점 1.3 메시지 큐 vs 이벤트 스트리밍 플랫폼 2. 설계에 앞서 2.1 요구사항 구체화 하기 2.2 기능 및 비기능 요구사항 정리 3. 주요 기능 / 컴포넌트 3.1 메시지 모델 (일대일 모델 / 발행-구독 모델) 3.2 토픽, 파티션, 브로커 3.3 소비자 그룹 3.4 초기 설계안 4. 마치며, 다음 글에서 Reference 1. 서론 1.1 .. 2024. 2. 18.
S3에 이미지 업로드 기능 아키텍처 비교 (서버에 직접 전송, presigned URL 활용) 잘못된 내용이나 의견 있다면 편하게 말씀해주세요.🙏🏻 사이드 프로젝트를 하며 유저 프로필이나 음식점 리뷰 사진 등 이미지 업로드 기능이 필요했습니다. 처음엔 이미지를 업로드 기능을 단순하다고 느꼈지만 생각보다 고려할 것이 많았습니다.😵‍💫 떠올랐던 Check List - 이미지 업로드/삭제 , 원본 파일 크기 제한(저장 공간 제약, 비정상적인 요청 방지) - UI 마다 이미지 사이즈를 다르게 저장(리사이징) - 빠른 응답을 위한 CDN 사용 - 파일 접근 권한 (비공개 이미지에 익명의 사용자가 접근하는 문제) 이번 글에서는 이미지 업로드 기능을 구현하는 간단한 세 가지 방법(아키텍처)을 소개/비교하고자 합니다. 이미지 업로드 유저가 자신의 프로필 사진을 수정한다고 가정합니다. 이미지는 클라우드 스토리지(.. 2022. 9. 4.
MySQL Server 아키텍처와 스레딩 이 글은 책 Real Mysql 8.0 4장, 업무에 바로 쓰는 SQL 튜닝 2장과 하단 Reference 참고했습니다. 잘못된 내용이 있다면 편하게 말씀해주세요 🙏🏻 간단하게 MySQL Server의 아키텍처와 스레딩을 살펴보고자 한다. MySQL Server 아키텍처 MySQL 서버 아키텍처는 어떻게 되어 있을까? 두 가지 관점(SQL 쿼리 실행했을 때, MySQL 서버 구성요소)으로 살펴보자. 1. SQL 쿼리 실행 구조의 아키텍처 클라이언트가 SELECT * FROM 학생; 쿼리를 실행했다고 가정하자. 해당 SQL 문은 아래와 같은 구조로 실행된다. 파서(parser) : 사용자 요청한 SQL를 쪼개 토큰으로 분리하고 트리 형태의 구조로 만든다. 이때 기본 문법 오류를 확인한다 전처리기(prepr.. 2022. 5. 12.