프로젝트 개요
- 목적: 유물 데이터를 활용한 효율적인 정보 관리 및 검색 시스템 구축
- 주요 기능
- 유물 180만 건 크롤링 및 데이터베이스 구축
- Elasticsearch 기반 초고속 검색 엔진 시스템
- Three.js를 활용한 웹 기반 3D 유물 렌더링
Tech Stack
프론트엔드 |
React |
백엔드 |
Spring, JPA |
클라우드 및 배포 |
AWS (EC2, S3, Lambda), Docker |
데이터 처리 및 캐싱 |
Elasticsearch |
성과
-
초대형 데이터 처리 : 180만 건 유물 데이터를 효율적으로 처리 및 검색
초대형 데이터를 가장 효율적인 DB Table 설계를 통해 서버 과부하 방지 및 비용감소
-
3D 시각화 제공 : 유물 데이터를 시각적으로 탐색 가능
-
AWS Lambda 활용으로 서버리스 아키텍처 구축
AWS Lambda란?
AWS Lambda: 프로그램을 스마트하게 움직이는 비서
여러분이 운영하는 사이트가 있다고 가정해볼게요. 이 사이트에서 어떤 고객은 상품 정보를 검색하고, 또 다른 고객은 주문을 확인하며, 누군가는 결제를 진행합니다. 이 모든 과정이 부드럽게 흘러가려면, 누군가(혹은 어떤 시스템)가 고객의 요청에 맞게 움직여줘야 합니다.
AWS Lambda는 이런 일을 하는 "스마트한 비서"입니다.
- 비서가 하는 일:
- AWS Lambda는 여러분의 사이트나 앱에서 요청이 들어오면, 그 요청에 따라 필요한 작업을 즉시 실행합니다.
- 예를 들어, 누군가 결제 버튼을 누르면, 결제 정보를 처리하는 프로그램이 자동으로 실행되도록 만들어줍니다.
- 왜 스마트할까요?
- 필요할 때만 일한다: Lambda는 요청이 없을 때는 아무 작업도 하지 않아요. 그래서 불필요한 에너지를 낭비하지 않습니다. 즉, 누군가 요청할 때만 딱 나타나서 일을 처리하고 사라집니다.
- 자동으로 확장: 갑자기 많은 사람들이 동시에 사이트를 이용해도 걱정할 필요가 없습니다. Lambda는 이런 상황에서도 빠르게 대응할 수 있도록 여러 비서를 자동으로 불러와 일을 나눠 처리합니다.
- 비용도 절약:
- Lambda는 사용한 만큼만 비용이 청구됩니다. 비유하자면, 24시간 연중무휴로 일을 하지 않고, 고객이 있을 때만 등장해 일을 처리하는 계약직 비서 같은 시스템입니다.
- 활용 사례:
- 고객이 회원가입을 하면, Lambda가 즉시 회원 데이터를 저장하고 환영 이메일을 보내는 작업을 처리할 수 있습니다.
- 혹은 쇼핑몰에서 상품이 결제되면, Lambda가 주문 정보를 정리하고 배송 정보를 생성하는 등의 일을 처리합니다.
AWS Lambda는 이렇게
일상적으로 반복되는 일을 빠르고, 효율적이고, 저렴하게 처리해주는 "자동화 도구"입니다.